Teclas de mapeamento no Linux

2

Gostaria de alterar o layout (mapeamento) do teclado Lenovo ThinkPad (que Eu odeio) para ser como Acer TravelMate 8000 (que eu amo).

Isso significa principalmente:

  • Alterne para Fn e mantenha a tecla Ctrl
  • Tabulação para a esquerda para agir como PgUp
  • Fn '+ Tab-left para agir como o Home
  • Tab-right para agir como PgDown
  • Fn '+ Tab-right para agir como End
  • PgUp para agir como Excluir
  • Página inicial para agir como Inserir

Eu tentei xev para ver os códigos.
Eu encontrei esta lista de símbolos: link
Este é o meu resultado:

xmodmap -e 'keycode 112 = XF86Back'     # Remap PgUp to TabPrev
xmodmap -e 'keycode 117 = XF86Forward'  # Remap PgDn to Tabnext
xmodmap -e 'keycode 166 = Prior Home XF86Back'        # Remap TabPrev to PgUp.
xmodmap -e 'keycode 167 = Next End XF86Forward'       # Remap TabNext to PgDn.
xmodmap -e 'keycode 151 = Control_L'    # Remap FN to be Ctrl.
xmodmap -e 'keycode  37 = XF86WakeUp'   # Remap Ctrl to be FN.
xmodmap -e 'keycode  94 = Shift_L'      # Remap stupid left |\*& to be Shift too.

No entanto, não é exatamente o que preciso, pois mapeia Shift + Tab * para Home, o que me impede de usar a combinação Shift + Home' (para selecionar texto) e funciona apenas em alguns aplicativos (por exemplo, não funciona no Firefox para ir para o topo).

Então - como devo mapear isso?

Atualizar: usei setkeycodes e encontrei estes scancodes:

                 Press            Release
TabLeft  - 158   ^[[5~0xe0 0x6a   0xe0 0xea 
TabRight - 159   ^[[6~0xe0 0x69   0xe0 0xe9
PgUp:            0xe0 0x49        0xe0 0xc9 
PgDn:            0xe0 0x51        0xe0 0xd1 

Ctrl:            0x1d             0x9d 
FN:              0xe0 0x63        0xe0 0xe3

Atualização: também descobri que dumpkeys mostra informações interessantes. Como aliases de string para algumas teclas; por exemplo, o ^[[5~ mostrado por showkey -s é definido lá.

Atualizar: eu tentei setkeycodes :

sudo setkeycodes 0xE063  29  ##  Fn   to Ctrl
sudo setkeycodes 0x1d   143  ##  Ctrl to Fn
sudo setkeycodes 0x56    42  ##  |\*& to Shift

showkeys -k mostra os códigos de teclas corretos, mas eles ainda não funcionam assim. Ctrl+T não abre uma guia no FF etc.
Depois de reverter as alterações, tudo funciona como antes.

sudo setkeycodes 0xE063 143  ##  Fn   to Ctrl
sudo setkeycodes 0x1d    29  ##  Ctrl to Fn

O que eu sinto falta?

    
por Ondra Žižka 10.01.2012 / 23:34

1 resposta

2

Veio neste post procurando pelo status do problema que os códigos-chave > 128 não pôde ser mapeado como tecla modificadora. A última vez que verifiquei este foi o meu motivo para não ser capaz de trocar fn / ctrl.

    
por 31.05.2012 / 21:14