Eu quero fazer alguns mapeamentos de teclas avançadas no meu Sony VAIO . Envolve a chave Fn . Isso é o que eu quero fazer:
Eu quero fazer uma inversão de tecla Fn, ou seja, remapear: [ Fn + F2 para F7 ] no meu teclado para [< Teclas programáveis kbd> F2 para F7 ], respectivamente. Após o remapeamento, quero que outras combinações de teclas envolvendo as teclas de função funcionem normalmente (como Alt + F4 ), se possível.
Isso será útil porque nunca uso teclas de função além de uma combinação de teclas. Também uso bastante o volume e o brilho ( Fn + F2 para F7 ).
Eu pesquisei e encontrei isso em outra pergunta do ask-ubuntu:
A tecla Fn geralmente não envia um código de chave; é tratado pelo BIOS,
não pelo sistema operacional. Às vezes você pode chegar a ele como um evento da ACPI.
Neste ponto, verifiquei o BIOS e não consigo alterá-lo de lá.
Descobri que quando pressiono essas combinações, isso aciona eventos ACPI. Aqui está a saída quando eu sequencialmente pressiono Fn + F2 para F7 :
Fn + F1 (Toggle TouchPad, not working) press down:
button/fnf1 FNF1 00000080 00000000 K
sony/hotkey SNY5001:00 00000001 0000000c
Fn + F1 release:
sony/hotkey SNY5001:00 00000001 0000003b
Fn + F2 press down:
button/mute MUTE 00000080 00000000 K
Fn + F3 press down:
button/volumedown VOLDN 00000080 00000000 K
Fn + F4 press down:
button/volumeup VOLUP 00000080 00000000 K
Fn + F5 press down:
video/brightnessdown BRTDN 00000087 00000000
Fn + F6 press down:
video/brightnessup BRTUP 00000086 00000000
Fn + F7 release:
video/switchmode VMOD 00000080 00000000 K
sony/hotkey SNY5001:00 00000001 00000012
Fn + F7 release:
sony/hotkey SNY5001:00 00000001 0000003b
Eu observei que eventos ACPI são acionados somente quando as combinações de teclas especiais são pressionadas, ou seja, nenhum evento é gerado se eu pressionar Fn + A . Portanto, não posso atribuir atalhos como Fn + A , mas não posso de alguma forma manipular as combinações de teclas para as quais os eventos ACPI são acionados?
Editar: encontrei o mapeamento do teclado dos códigos de verificação para os códigos-chave em /lib/udev/hwdb.d/60-keyboard.hwdb
. As seções relevantes são publicadas aqui . Mas a configuração do udev é sobreposta por outra coisa, porque eu troquei as teclas vol up e mudo, e a mudança não foi refletida mesmo depois de uma reinicialização.
Editar 2: Saída do evento X de cada chave [Fn + F2toF7] usando xev -event keyboard
.