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 grep
apenas 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, xev
mostra que meu Fn-Leftpressionamento de tecla realmente envia um XF86AudioPrev
evento:
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 xev
em 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.