11

Я привык нажимать Fn+Left для имитации клавиши Home и Fn+Right для End.

На клавиатуре с физическими клавишами Home и End использование этих сочетаний клавиш Fn не работает.

Как я могу сопоставить пользовательские сочетания клавиш Fn в Ubuntu Linux?

3 ответа3

11

В отличие от модификаторов, таких как Alt и Ctrl, нажатие клавиши Fn никогда не передается операционной системе. Клавиша просто изменяет коды сканирования других клавиш, поэтому нажатие клавиш Fn+Right будет эмулировать клавишу End, даже если она может не существовать физически, но ОС их неотличима. Это поведение контролируется исключительно электроникой клавиатуры и поэтому не может быть изменено без вмешательства в схему или микроконтроллер.

7

Ты можешь использовать:

$ xev | grep --line-buffered keysym

чтобы выяснить, какие клавиши Fn-Left и Fn-Right имитируют. (grep только уменьшает шум.)

Если вам повезет, эти нажатия клавиш отправят неважные нажатия клавиш на машину, которые вы затем сможете переназначить.

Например, в моей системе xev показывает, что мое нажатие клавиши Fn-Left фактически отправляет событие XF86AudioPrev :

state 0x0, keycode 173 (keysym 0x1008ff16, XF86AudioPrev), same_screen YES,

Я могу легко переназначить это, чтобы перевести в событие Home key:

$ xmodmap -e 'keysym XF86AudioPrev = Home'

Надеюсь, вы сможете сделать то же самое для End, PageUp и PageDown.

К сожалению, если xev не получает ничего уникального, когда вы нажимаете Fn-Left, вам не повезло.

Жаль, что нажатия клавиш Fn отправляются не так, как другие клавиши-модификаторы. Если бы они были, у нас было бы гораздо больше возможностей настроить их значение с помощью программного обеспечения.

2

Я открыл xev в терминале. Он обнаруживает, когда я нажимаю Shift, Ctrl, Alt и Win (Super), но когда я нажимаю клавишу Fn, он не обнаруживает его.

Таким образом, программное обеспечение не имеет ничего общего с клавишей Fn ; решать, какой ключ будет отправлен программному обеспечению (например, ключ Home или End ), решать аппаратному обеспечению.

Таким образом, ваша клавиатура уже должна иметь это, чтобы иметь возможность сделать это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .