Soy desarrollador y actualmente estoy usando Ubuntu Linux con PyCharm IDE para el desarrollo del sitio web. Para mejorar el rendimiento de escritura, considero cambiar CapsLock a Hyper_L y asignarlo a mod3 usando xmodmap. Después de esto, quiero asignar mod3 para la tecla 'i' a 'Arriba'. Hasta ahora lo que hice es:
xmodmap -e "keysym Caps_Lock = Hyper_L"
la salida es así:
shift Shift_L (0x32), Shift_R (0x3e)
lock Hyper_L (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)
luego elimino Hyper_L de mod4
xmodmap -e "remove Mod4 = Hyper_L"
Luego intenté asignar Hyper_L a mod3
xmodmap -e "add Mod3 = Hyper_L"
Sin embargo, recibí el siguiente error:
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 118 (X_SetModifierMapping)
Value in failed request: 0x17
Serial number of failed request: 11
Current serial number in output stream: 11
Entonces, ¿cuál era el problema aquí? ¿Cómo puedo hacer que funcione? ¿Mi enfoque es correcto? ¿O debería usar un enfoque diferente para usar mod3 para claves personalizadas?
PD: Estoy usando el teclado Microsoft Natural Ergonomic 7000
Sé que esta pregunta es bastante antigua, pero necesito compartir mi solución, ya que (frustrantemente) la respuesta de heymantthew no funcionó para mí. Lo que terminó trabajando para mí:
Esto habilitará el bloqueo de mayúsculas como la tecla mod3, establecerá el diseño en "us" y establecerá la variante en "intl". Si usa un shell interactivo como fish, puede presionar tab después de "-layout", "-option" o "-variant" para obtener una lista completa de los posibles parámetros.
Más antecedentes: probé el enfoque xmodmap hace un año en una máquina Ubuntu que ejecuta el administrador de ventanas i3, cambiando del entorno estándar de gnome. Modifiqué el diseño del teclado "us" xkb, específicamente el internacional con teclas muertas. Funcionó bien al usar gnome-desktop-manager (hay una opción para configurar el bloqueo de mayúsculas como la tecla mod3), pero no pude haz que funcione con xmodmap. Este fue mi error: pensé que la GUI de gdm estaba usando xmodmap para asignar el bloqueo de mayúsculas a mod3, pero en realidad estaba configurando esta opción X11. Ahora que cambié a Arch me vi obligado a resolverlo.
Recomiendo a cualquiera que esté planeando jugar con esto para leer las páginas de manual en localectl, xmodmap, setxkbmap y probar diseños agregando una parte de suspensión y reversión:
Esto me ahorró una buena cantidad de tiempo.
Sin embargo, todavía no entiendo cómo es que el enfoque xmodmap no funciona. Espero que esto ayude a alguien.
fuente