Definindo atalhos de teclado envolvendo a tecla Fn

9

Estou acostumado a pressionar Fn + Esquerda para simular a tecla Home e Fn + À direita para End .

Em um teclado com teclas físicas Home e End , os atalhos de teclado Fn não funcionam.

Como posso mapear atalhos de teclado Fn personalizados no Ubuntu Linux?

    
por mox 25.05.2012 / 23:00

3 respostas

9

Ao contrário dos modificadores, como Alt e Ctrl, pressionar a tecla Fn nunca é comunicado ao sistema operacional. A chave apenas modifica os scancodes de outras teclas, então pressionar Fn + Direita emula uma tecla End, mesmo que ela não exista fisicamente, mas eles são indistinguíveis pelo SO . Este comportamento é controlado exclusivamente pela eletrônica do teclado e, portanto, não pode ser alterado sem mexer no circuito ou no microcontrolador.

    
por 21.06.2012 / 22:36
4

Você pode usar:

$ xev | grep --line-buffered keysym

para descobrir quais teclas Fn-Left e Fn-Right são simuladas. (O grep apenas reduz o ruído.)

Se você tiver sorte, esses pressionamentos de tecla enviarão teclas sem importância para a máquina, que você poderá remapear.

Por exemplo, no meu sistema, xev mostra que o pressionamento da tecla Fn-Left envia um evento XF86AudioPrev :

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

Eu posso facilmente remapear isto para traduzir em um evento-chave Home :

$ xmodmap -e 'keysym XF86AudioPrev = Home'

Espero que você seja capaz de fazer o mesmo para End, PageUp e PageDown.

Infelizmente, se xev não receber nada de especial quando você pressionar Fn-Left , você estará sem sorte.

É uma pena que os pressionamentos de teclas de Fn não sejam enviados diretamente como as outras teclas modificadoras. Se eles fossem, teríamos muito mais poder para configurar seu significado por meio de software.

    
por 05.12.2015 / 07:11
1

Eu abri xev em um terminal. Ele detecta quando pressiono a tecla Shift , a tecla Ctrl , a Alt ea Win ( Super ), mas quando eu pressionei a tecla Fn ela não detectou.

Portanto, o software não tem nada a ver com a chave Fn ; Cabe ao hardware decidir qual chave é enviada ao software (por exemplo, a tecla Início ou Fim ).

Assim, seu teclado já deve tê-lo para poder fazer isso.

    
por 21.06.2012 / 21:00