Xmodmap: configura el teclado para el entorno grafico en Linux

Xorg/X11 (la infraestructura gráfica más típica en Linux) permite traducir libremente los “códigos de tecla” (o Keycodes, que produce el teclado) en los “símbolos de tecla” (KeySims) que interpretan las aplicaciones gráficas. Gracias a esta flexibilidad, un mismo teclado puede usarse para introducir caracteres de diversos idiomas.

Para identificar códigos de tecla se pude usar el comando xev

Para editar la configuración de traducción (tabla de asignación de teclas y mapa de modificadores de tecla) se puede usar el comando xmodmap.

# muestra tabla de asignación de teclas
# para cada tecla se muestra el símbolo asociado, según la siguiente estructura:
# tecla sola (1a columna), mays+tecla (2a), cambio_modo+tecla (3a), cambio_modo+mays+tecla (4a)
# ISO_Level3_shift + [[ tecla (5a), mays+tecla (6a), cambio_modo+tecla (7a), cambio_modo+mays+tecla (8a) ]]
xmodmap -pke

“cambio_modo” se puede asignar a cualquier tecla, de forma análoga a la tecla mayúsculas. Normalmente, cambio_modo se asigna a Alt Gr (código 108), pero podemos asignarlo al Alt izquierdo (código 64)

#mapa de modificadores de tecla
xmodmap -pm
shift
lock
control
mod1
mod2
mod3
mod4
mod5

Con estos dos comandos se puede generar un fichero inicial de configuración:

xmodmap -pke >> ~/mi_modmap
xmodmap -pm >> ~/mi_modmap

Típicamente, a las teclas “Windows” (o “manzana” en Mac) se las vincula a Super (Super_R y SuperL, códigos 133 y 134). La tecla “menú contextual” tiene el código 135.

También se podría utilizar xmodmap para configurar la tecla meta en Emacs. A veces conviene probar con un terminal distinto de xterm, ya que puede ser el culpable de que no funcione la tecla meta.

Una forma de utilizar Alt Gr es asignarlo como “cambio_modo”. Luego, para cada tecla que vayamos a usar con Alt Gr habría que definir el carácter que deseamos para la combinación con “cambio_modo” (o sea, la tercera columna). Por ejemplo,

# Asignar cambio_modo a Alt Gr
xmodmap -e "keycode 108 = Mode_switch"
# Asignar simbolo de euro a la combinacion Alt Gr+ e
xmodmap -e "keycode  26 = e E EuroSign E"

Otra opción más común hoy en día es asignar a Alt Gr “ISO_Level3_Shift”, de modo que para las teclas que queramos usar con Alt Gr definiremos la columna 5 (ISO_Level3_Shift). Si quisiésemos asignar una tecla a la combinación Alt Gr + Mays, entonces usaríamos la columna 6 (ISO_Level3_Shift + Mays).

xmodmap -e “keycode 108 = ISO_Level3_Shift”
# Ademas de definir el simbolo de euro para ISO_Level3_Shift, también definimos cent para ISO_Level3_Shift + Mays
xmodmap -e “keycode  26 = e E e E EuroSign cent EuroSign”

Combinando “cambio_modo”, mayúsculas (mays) y ISO_Level3_Shift, podemos asignar hasta 4 símbolos por cada tecla o_O

Una vez personalizado el fichero, se puede cargar automáticamente añadiendo xmodmap ~/mi_modmap a ~/.xinitrc

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *