Como encontrar códigos de teclas para as teclas Fn +?

9

Estou tentando descobrir o código de tecla para o pressionamento da tecla Fn + (seta para a esquerda). Saídas Xev

FocusOut event, serial 36, synthetic NO, window 0x3c00001,    mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 36, synthetic NO, window 0x3c00001,    mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 36, synthetic NO, window 0x0,    keys:  4294967213 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0              0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0  

Se estiver me dizendo o código-chave aqui, não posso interpretá-lo para que a ajuda seja apreciada.

Eu também estou curioso para descobrir se é possível ligar algo a Fn + Del mas ao experimentar esta combinação, Xev produz

KeyPress event, serial 36, synthetic NO, window 0x3c00001,
root 0xad, subw 0x0, time 1984903, (-666,480), root:(53,533),
state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,
XLookupString gives 1 bytes: (7f) " "
XmbLookupString gives 1 bytes: (7f) " "
XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x3c00001,
root 0xad, subw 0x0, time 1985008, (-666,480), root:(53,533),
state 0x0, keycode 119 (keysym 0xffff, Delete), same_screen YES,
XLookupString gives 1 bytes: (7f) " "
XFilterEvent returns: False

que é exatamente o mesmo que pressionar del sem Fn .

Então, resumo para breve

  1. Como posso encontrar o código-chave para Fn + (seta para a esquerda)?

  2. É possível vincular algo a Fn + Del ou estou enfrentando moinhos de vento aqui?

por budwiser 19.11.2011 / 17:54

1 resposta

13

Não sei ao certo quanto isso está perfeitamente claro para você:

Para mostrar os códigos de tecla das teclas pressionadas, você pode usar, e. %código%. Isto irá imprimir no meu caso para Fn + :

keycode 165 press
keycode 165 release

No meu teclado, esta é uma das teclas de mídia (faixa anterior). O mesmo para Fn + Del mostra sudo showkey -k como o código de acesso aqui (Scroll lock).

Agora, o problema geral com isso parece ser que Fn pode ser uma tecla modificadora que funciona no nível do keybord e modifica o código de varredura real que é enviado. Então você pode não saber se o Fn está pressionado, já que nenhuma parte do sistema operacional ou do BIOS é capaz de vê-lo. Se esse não for o caso, o BIOS poderá ver que essa tecla foi pressionada. Alguns fabricantes de hardware fornecem software que pode ser usado para modificar o comportamento da tecla Fn dessa forma (por exemplo, Toshibas Fnesse ).

Portanto: em geral não há como saber que Fn foi pressionado e o scancode e o keycode das combinações de teclas incluindo Fn depende do design individual do teclado.

    
por xubuntix 20.11.2011 / 09:51