Definir atalhos de teclado envolvendo a tecla Fn

Definir atalhos de teclado envolvendo a tecla Fn

Estou acostumado a pressionar Fn+ Leftpara simular a Hometecla e Fn+ Rightpara End.

Em um teclado com teclas físicas Home, Endo uso desses Fnatalhos de teclado não funciona.

Como posso mapear Fnatalhos de teclado personalizados emUbuntuLinux?

Responder1

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

Responder2

Na maioria dos sistemas não é possível detectar a Fnchave em si, mas você pode tentar usar:

$ xev | grep --line-buffered keysym

para descobrir quais chaves Fn-Lefte Fn-Rightenviar. (O grepapenas reduz o ruído.)

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

Por exemplo, no meu sistema, xevmostra que meu Fn-Leftpressionamento de tecla realmente envia um XF86AudioPrevevento:

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

Posso facilmente remapear isso para se traduzir em um Homeevento importante:

$ xmodmap -e 'keysym XF86AudioPrev = Home'

Esperamos que você consiga fazer o mesmo para End, PageUp e PageDown.

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

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

Responder3

Abri xevem um terminal. Ele detecta quando pressiono Shift, Ctrl, Alte Win( Super), mas quando pressiono a Fntecla ele não detecta.

Portanto o software não tem nada a ver com a Fnchave; cabe ao hardware decidir qual chave será enviada ao software (por exemplo, a chave Homeou End).

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

informação relacionada