Как поменять "fn" использование функциональных клавиш на * универсальной * клавиатуре в Linux

После поиска в Интернете некоторых ответов, единственное, что я смог найти, связано с клавиатурой Apple.

Мой вопрос такой же, как и в этом вопросе Как поменять "Fn" использование функциональных клавиш на всех клавиатурах Apple в Linux, но это более общий вопрос: я хотел бы знать, возможно ли сделать то же самое, что и в связанном вопросе со стандартной клавиатурой ПК под Linux.

Я предполагаю, что есть метод, чтобы поменять поведение Fn (не из BIOS, так как у меня нет такой опции), но я не смог найти руководство или инструкции, как это изменить.

Спасибо:)

2 ответа

Решение

Fn - это не обычная клавиша клавиатуры, например, модификаторы Ctrl, Shift и AltGr. Для стандартной клавиши-модификатора микроконтроллер внутри клавиатуры отправляет скан-код для самого модификатора, который затем интерпретируется операционной системой и комбинируется с другими одновременными нажатиями клавиш. Клавиша Fn является формой мета-модификатора, которая заставляет операционную систему видеть измененные коды сканирования при нажатии других клавиш на клавиатуре. Это позволяет клавиатуре напрямую эмулировать полноразмерную клавиатуру, поэтому операционная система может использовать стандартные сочетания клавиш, предназначенные для полноразмерной клавиатуры. Однако, поскольку операционная система не имеет понятия о клавише Fn, клавиша обычно не может быть переназначена в программном обеспечении, в отличие от всех других стандартных клавиш клавиатуры.

Хотя обработка клавиши Fn чаще всего происходит непосредственно в микроконтроллере клавиатуры, не давая основному компьютеру информации о том, была ли нажата клавиша Fn, по крайней мере один производитель Lenovo выполняет это сопоставление в BIOS, работающем на основной процессор. Это позволяет переназначить клавишу Fn, изменив обработчик прерываний BIOS.

Источник: http://en.wikipedia.org/wiki/Fn_key

Ответ на вопрос: переназначение невозможно через операционную систему, но только через BIOS (в некоторых случаях).

У меня есть эта проблема, и я нашел ответ не для обычной клавиатуры, а для Lenovo Thinkpad, поэтому я думаю, что я должен упомянуть об этом здесь. Это упомянуто в вопросе 648250: удерживайте нажатой клавишу "Fn" и нажмите "Esc" - по крайней мере, на T440 / T440p это действует как "блокировка Fn" и эффективно изменяет поведение Fn по мере необходимости.

Другие вопросы по тегам