Eu uso o Mod4 para a maioria dos atalhos de teclado no i3, mas uso o Mod1 para isso:
bindsym Mod1+a workspace a
bindsym Mod1+b workspace b
bindsym Mod1+c workspace c
bindsym Mod1+d workspace d
...
No entanto, isso vincula alt e altgr, o que é indesejado, pois uso altgr+<letter> para digitar alguns caracteres.
xev diz que alt é Alt_L e altgr é Alt_R, mas bindsym Alt_L+a
não funciona
Responder1
Em última análise, depende do quexmodmapmostra para mod1. Por exemplo, se mostrar 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 conflito.
Aqui estão algumas páginas dando exemplos:
- Remapeando Alt_R com xmodmap desabilita a troca de terminal VCmostra um exemplo de onde o usuário
Alt_R
mudoumod1paramod4(e tive problemas). Você deve revisar a saída do xmodmap antes de alterá-la. - xmodmapno ArchLinux mostra um exemplo detalhado de manipulação de modificadores. Paramoveruma chave, você deveadicionarpara um modificador eclaroisso do outro.
Uma armadilha no uso xmodmap
é que nem sempresabero código de acesso adequado para um símbolo de chave (como Alt_R
). Quando encontro isso, geralmente posso contornar isso olhando a saída de
xmodmap -pk
para a chavesímboloe, 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 esta máquina específica, a solução alternativa não é necessária).