Por fim, depende do que o xmodmap mostra para o mod1. Por exemplo, se ele mostra que Alt_L
e Alt_R
estão no mesmo modificador, você teria que mover o último para outro (dos 5 modificadores disponíveis) para evitar conflitos.
Aqui estão algumas páginas dando exemplos:
-
Remapeando Alt_R com xmodmap disable A comutação de terminal VC mostra um exemplo onde o usuário moveu
Alt_R
de mod1 para mod4 (e teve problemas). Você deve rever a saída do xmodmap antes de alterá-lo. - O xmodmap no ArchLinux mostra um exemplo detalhado de manipulação de modificadores. Para mover uma chave, você deve adicionar a um modificador e limpar do outro.
Uma armadilha na utilização de xmodmap
é que nem sempre conhece o código de tecla adequado para um símbolo de chave (como Alt_R
). Quando me deparo com isso, normalmente posso contorná-lo olhando na saída de
xmodmap -pk
para o símbolo da chave e no script, atribua esse código-chave. Por exemplo, em uma máquina xmodmap -pk
mostra
108 0xffea (Alt_R) 0x0000 (NoSymbol) 0xffea (Alt_R)
e usando este script
keycode 108 = Alt_R
remove mod1 = Alt_R
add mod3 = Alt_R
altera a saída disso:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
para isso:
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3 Alt_R (0x6c)
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
(Para essa máquina específica, a solução alternativa não é necessária).