Evento KeyPress ausente

3

Eu tenho um novo thinkpad e ele está sem uma chave ContextMenu e tem a tecla PrintScreen onde ContextMenu deveria ter sido. Eu remapeei usando xmodmap .

O problema é que faltam a chave KeyPress events, apenas KeyRelease events estão lá. Eu descobri que o código é 107 e corri

xmodmap -e "keycode 107 = Menu NoSymbol Menu"

Se eu pressionar ContextMenu ... ehm ... PrintScreen , isso será gerado como visto por xev :

KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys:  0   0   0   0   0   0   0   0   0   0   0   0   0   8   0   0   
       0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 40, synthetic NO, window 0x4c00001,
root 0xb8, subw 0x0, time 19723366, (753,710), root:(761,752),
state 0x10, keycode 107 (keysym 0xff67, Menu), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

Como você pode ver, o KeyPress está faltando e o KeyRelease , em sua solidão, está anunciando corretamente o "Menu". Não está totalmente quebrado: quando pressiono Super + PrintScreen , o KeyPress está magicamente lá:

KeyPress event, serial 40, synthetic NO, window 0x4c00001,
root 0xb8, subw 0x0, time 19800199, (462,314), root:(470,356),
state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x4c00001,
root 0xb8, subw 0x0, time 19800349, (462,314), root:(470,356),
state 0x50, keycode 107 (keysym 0xff67, Menu), same_screen YES,
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4c00001,
root 0xb8, subw 0x0, time 19800408, (462,314), root:(470,356),
state 0x50, keycode 107 (keysym 0xff67, Menu), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x4c00001,
root 0xb8, subw 0x0, time 19800541, (462,314), root:(470,356),
state 0x50, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes: 
XFilterEvent returns: False

É utilizável agora, mas ainda não é perfeito.
Alguém viu meu KeyPress ? Para onde foi?

    
por enrey 24.04.2015 / 17:25

0 respostas