Como remapear combinações de teclas Fn?

5

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 .

    
por daltonfury42 21.06.2015 / 00:15

1 resposta

1

Sua pergunta é um pouco confusa. Estou assumindo que você deseja alterar Fn + F # para registrar como F # para todas as teclas de função F1 a F12.

Suas informações estão corretas. Isso não pode ser feito através do sistema operacional. Isso tem que ser feito através do BIOS. Percorra todas as opções no BIOS mais uma vez, tenho certeza que você será capaz de encontrá-lo. Se não, então google como fazer isso da BIOS e adicionar sua versão do BIOS para a pesquisa.

    
por yolo7398 01.09.2016 / 17:21