Utilizo Mod4 para la mayoría de las combinaciones de teclas en i3, pero uso Mod1 para esto:
bindsym Mod1+a workspace a
bindsym Mod1+b workspace b
bindsym Mod1+c workspace c
bindsym Mod1+d workspace d
...
Sin embargo, esto vincula tanto alt como altgr, lo cual no es deseado ya que uso altgr+<letter> para escribir algunos caracteres.
xev dice que alt es Alt_L y altgr es Alt_R, pero bindsym Alt_L+a
no funciona
Respuesta1
En definitiva depende de lo quexmodmapamuestra para mod1. Por ejemplo, si muestra que Alt_L
y Alt_R
están en el mismo modificador, tendrías que mover este último a otro (de los 5 modificadores disponibles) para evitar conflictos.
A continuación se muestran algunas páginas con ejemplos:
- Reasignación de Alt_R con xmodmap deshabilita el cambio de terminal VCmuestra un ejemplo de dónde se mudó el
Alt_R
usuariomod1amod4(y me encontré con problemas). Debe revisar el resultado de xmodmap antes de cambiarlo. - xmodmapaen ArchLinux muestra un ejemplo detallado de manipulación de modificadores. Amoveruna llave, debesagregara un modificador yclarodel otro.
Un inconveniente del uso xmodmap
es que no siempresaberel código clave adecuado para un símbolo clave (como Alt_R
). Cuando me encuentro con eso, generalmente puedo solucionarlo mirando el resultado de
xmodmap -pk
por la llavesímbolo, y en el script, asigne ese código clave. Por ejemplo, en una máquina xmodmap -pk
se muestra
108 0xffea (Alt_R) 0x0000 (NoSymbol) 0xffea (Alt_R)
y usando este script
keycode 108 = Alt_R
remove mod1 = Alt_R
add mod3 = Alt_R
cambia la salida de esto:
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)
a esto:
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 en particular, esta solución no es necesaria).