É possível remapear as teclas Back / Forward de um teclado USB Thinkpad no Linux?

7

No meu laptop Thinkpad, posso facilmente alterar as teclas Voltar / Avançar para outra coisa (normalmente, mapeio-as para PageDown / PageUp), pois elas têm seu próprio código de acesso (166 e 167):

xmodmap -e 'keycode 166=Prior'
xmodmap -e 'keycode 167=Next'

No entanto, no teclado USB do Thinkpad, as teclas Voltar / Avançar parecem estar mapeadas para Alt + Left e Alt + Right, respectivamente, por isso não posso usar xmodmap para remapear. Existe alguma outra maneira que eu possa remapear? Eu já tentei xautomation, mas isso não funcionou.

Isso é o que o 'xev' mostra quando pressiono a tecla Avançar:

KeyPress event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023191, (16,-20), root:(641,33),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023191, (16,-20), root:(641,33),
    state 0x8, keycode 114 (keysym 0xff53, Right), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023271, (16,-20), root:(641,33),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x4e00001,
    root 0xb4, subw 0x0, time 65023271, (16,-20), root:(641,33),
    state 0x0, keycode 114 (keysym 0xff53, Right), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
    
por Guilherme Salgado 08.11.2011 / 15:44

1 resposta

0
  1. Instale o xdotool
  2. Crie um script ou um alias de shell para o comando keypress que você deseja executar ( xdotool key --clearmodifiers Page_Down )
  3. Vincule esse script / alias ao combo enviado (Alt + Left) na configuração Atalho / Atalho do ambiente de área de trabalho.

Note que no gnome-control-center não parece ser possível atribuir os botões Back / Forward do teclado USB a um atalho (você pode realmente atribuí-los, mas o comando / action que você mapeou para ele nunca será chamado / acontecer), então você pode precisar usar outra coisa, como o plugin de compiz 'Commands.

    
por 20.01.2012 / 20:43