Como posso remapear as teclas multimídia das teclas de função neste teclado bluetooth?

3

Eu tenho um Teclado Multi-Dispositivo Logitech Bluetooth K480 e depois de instalá-lo apenas seguindo o emparelhamento bluetooth, as configurações padrão deixarão as teclas de função mapeadas como teclas multimídia, então eu tenho que segurar fn para acessar F1 , F2 , F3 , etc.

Isso é muito contra-intuitivo para mim, e eu gostaria de remapear para que eu possa acessar Funções diretamente e acessar as teclas multimídia com fn

Isto é F1 sem segurar fn e depois segurá-lo.

KeyPress event, serial 37, synthetic NO, window 0x4e00001,
root 0xd6, subw 0x0, time 63445847, (-438,408), root:(284,460),
state 0x10, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x4e00001,
root 0xd6, subw 0x0, time 63445922, (-438,408), root:(284,460),
state 0x10, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 37, synthetic NO, window 0x4e00001,
root 0xd6, subw 0x0, time 63446510, (-438,408), root:(284,460),
state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x4e00001,
root 0xd6, subw 0x0, time 63446597, (-438,408), root:(284,460),
state 0x10, keycode 67 (keysym 0xffbe, F1), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False
    
por peem 07.03.2016 / 00:53

2 respostas

2

Parece que a logitech fornece um driver especial em vários sistemas operacionais diferentes do Linux, que faz exatamente essa troca enviando um comando mágico não documentado ao teclado.

Algumas pessoas monitoraram a comunicação para encontrar os códigos enviados para outros teclados logitech semelhantes, como o 760 e a 810 . Você pode tentar um desses.

Caso contrário, você pode usar xmodmap para trocar as atribuições de chave. Vemos que o seu teclado envia 2 códigos de teclas diferentes, dependendo se o Fn está pressionado ou não. Use xmodmap -pke para listar todos os mapeamentos de teclas em um arquivo e mantenha apenas os que se referem aos códigos de chaves desejados. Por exemplo, você teria

keycode  67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1
keycode 180 = XF86HomePage NoSymbol XF86HomePage

e assim por diante. Simplesmente inverta os números:

keycode 180 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1
keycode  67 = XF86HomePage NoSymbol XF86HomePage

Em seguida, passe este nome de arquivo como argumento para xmodmap para que ele atualize o mapeamento.

    
por 08.03.2016 / 11:17
0

Você pode colocar esse código em um script chamado: "/ home / youruser / k480" e executá-lo. Remapeará suas chaves logitech.

xmodmap -e "keycode 180 = F1 F1 F1 F1 F1 F1"
xmodmap -e "keycode  23 = F2 F2 F2 F2 F2 F2"
xmodmap -e "keycode 135 = F3 F3 F3 F3 F3 F3"
xmodmap -e "keycode 166 = F4 F4 F4 F4 F4 F4"
xmodmap -e "keycode 225 = F5 F5 F5 F5 F5 F5"
xmodmap -e "keycode 173 = F6 F6 F6 F6 F6 F6"
xmodmap -e "keycode 172 = F7 F7 F7 F7 F7 F7"
xmodmap -e "keycode 171 = F8 F8 F8 F8 F8 F8"
xmodmap -e "keycode 121 = F9 F9 F9 F9 F9 F9"
xmodmap -e "keycode 122 = F10 F10 F10 F10 F10 F10"
xmodmap -e "keycode 123 = F11 F11 F11 F11 F11 F11"
xmodmap -e "keycode 118 = F12 F12 F12 F12 F12 F12"
    
por 11.02.2017 / 05:00