Reasignar teclas en Linux.
Mi nuevo teclado tiene una distribución americana. Como escribo a ciegas, ningún problema hasta ahora, pero falta la tecla para <, > y |. El problema es que no está en otro sitio, falta.
¿Qué hacer?
Mi idea era utilizar un botón diferente para esto. Un botón que funcionaría bien para esto es el botón Bloq Mayús. Yo no lo uso de todos modos y creo que la tecla es superflua de todos modos.
La solución era bastante sencilla en Windows, donde simplemente podía reconfigurar la tecla con “KeyTweak“. Eso se hizo en 5 minutos.
Linux es un poco más difícil. Aquí existe el software “Xmodmap“. Esto en principio puede reconfigurar las teclas, pero tiene algunas limitaciones, más sobre esto más adelante.
Primero creamos los datos de configuración:
vim ./Xmodmap
Aquí está el contenido del archivo:
clear Lock keycode 108 = Mode_switch Mode_switch Mode_switch Mode_switch keycode 66 = less greater bar bar keycode 24 = q Q at keycode 26 = e E EuroSign keycode 35 = plus asterisk asciitilde keycode 11 = 2 quotedbl twosuperior keycode 12 = 3 section threesuperior keycode 16 = 7 slash braceleft keycode 17 = 8 parenleft bracketleft keycode 18 = 9 parenright bracketright keycode 19 = 0 equal braceright keycode 20 = ssharp question backslash
Veamos brevemente el contenido. Con la primera línea desactivamos la función estándar de Caps-Lock. De lo contrario, Caps-Lock sigue activado adicionalmente.
La segunda línea con el “Mode_switch” remapea la tecla ALT-GR. Esto es necesario para obtener el carácter |. ALT-GR causa problemas menores con Xmodmap.
La tercera línea entonces mapea Caps-Lock a nuestros caracteres deseados. La sintaxis es normal, luego con Shift y luego el valor para la tecla modificadora.
¿Qué hacen las otras líneas? Bueno, reconfigurar ALT-GR tiene el efecto secundario de que los otros caracteres generados con ALT-GR ya no funcionan. Entre ellos están el euro, la arroba y la tilde. Por lo tanto, configuramos estas teclas con .
Podemos determinar el código de las teclas con el comando “xev”. Basta con iniciarlo a través de la consola y pulsar la tecla. El código se encuentra en la tercera línea.
KeyRelease event, serial 38, synthetic NO, window 0x8600001, root 0x3d0, subw 0x0, time 7427147, (1301,516), root:(1391,678), state 0x10, keycode 35 (keysym 0x2b, plus), same_screen YES, XLookupString da 1 bytes: (2b) "+" XFilterEvent devuelve: False
En cuanto hayamos guardado el fichero, podemos activarlo:
xmodmap ~/.Xmodmap
Caps-Lock debe ser desactivado de antemano. Si te has equivocado y la configuración es una porquería, puedes deshacerla con el siguiente comando.
opción setxkbmap
La configuración sólo es válida hasta el siguiente reinicio. Por lo tanto, es aconsejable incluir la llamada al ajuste en el script de inicio de sesión.
De momento funciona bastante bien. Espero no haber pasado por alto una tecla ALT-GR, pero por lo demás esto se puede ampliar con bastante facilidad.