Modifica la configuración de tu teclado con Xmodmap

4
2675

tux-keyboard

Comandos, programas, hay muchos, cada uno para una aplicación en particular. Muchos pensamos si de verdad serán útiles en algun momento, y de repente llega el día en que ese preciso comando es el que nos puede ayudar.


Aunque he considerado desde un principio util este comando, quizá muchos no. Pero en realidad hay un sin fin de razones por las que seria necesario cambiar la configuracion del teclado de tu computador. Si necesitas tener acceso a un carácter especial de forma mas inmediata, o si tienes un teclado con alguna tecla dañada, en fin, lo cierto es que necesaria o no, aquí tienes diversos métodos para modificar el teclado de tu computador a tu conveniencia.

xmodmap

Para empezar, Xmodmap es el encargado de controlar el mapeo entre cada tecla que se presiona en el teclado, y la respuesta del sistema a la accion, por ejemplo, a lo que vemos en la pantalla. Para esto, xmodmap hace uso de dos parametros importantes: los “KeyCodes” y los “KeySym”.

Los KeyCodes son numeros generados por el teclado cuando presionas cierta tecla, y define unicamente a cada tecla. Por ejemplo, en mi caso la tecla espacio se representa con el KeyCode 65.

Por otro lado, los KeySyms son palabras que se utilizan para definir un tipo de tecla. De esta manera, Xmodmap no necesita interpretar directamente la información salida del teclado, sino que también pueden referirse a las teclas por un nombre. Continuando con el ejemplo, mi barra espaciadora posee un KeyCode de 65, y su KeySym es “space”.

Puedes ayudarte con el comando xev, que te permite conocer el keycode y keysym de cada tecla que presiones, o sino, siempre puedes utilizar el comando xmodmap -pke donde podrás ver una lista de todas las teclas junto con sus keycodes y keysym.

Hay un tercer parámetro que considera Xmodmap, y es el de modificadores. Estos corresponden al grupo de teclas especiales que son presionadas al mismo tiempo que otra tecla para cambiar su salida. Como por ejemplo Shift, Caps_Lock, Ctrl, etc.

Para poder realizar la modificación del teclado, primero vamos a entender como funciona el comando Xmodmap. Si ejecutamos

xmodmap -pke

Observaremos cada keysym correspondiente a cada keycode en el teclado, con un formato de la similar a este:

[…] keycode 57 = KeySym1  KeySym2  KeySym3
[…]

pke

Donde cada columna de KeySym corresponde con la combinación de las siguientes teclas modificadoras:

1. Key
2. Shift+Key
3. mode_switch+Key
4. mode_switch+Shift+Key
5. AltGr+Key
6. AltGr+Shift+Key

Entonces, a manera de ejemplo, si quisieramos cambiar la tecla Bloq Mayus, para que funcione como Shift, ejecutamos la siguiente linea.

Xmodmap -e “keycode 66 = Shift_L”

Y de ahora en adelante, el bloque mayuscula (Keycode 66) funcionara como un Shift_L.

De igual manera, si lo que quieres es configurar un carácter con la combinación de Shift, solo debes modificar la columna dos del KeySym, y así sucesivamente de acuerdo a la tabla.

XKeyCaps

Intentando hacer la vida un poco mas sencilla, xmodmap tambien cuenta con una interfaz gráfica, agradable al usuario para realizar las modificaciones en la configuracion del teclado. Xkeycaps se presenta con una ventana quie te permite seleccionar el modelo de teclado a utilizar y a su vez, realizar los cambios entre teclas en forma grafica.

Xkeycaps

Xkeycaps te permite:

  • Editar el KeySym de una tecla
  • Intercambiar teclas
  • Duplicar Teclas
  • Deshabilitar teclas
  • Restaurar valores predeterminados

Consola o interfaz gráfica, xmodmap o xkeycaps, aquí dos opciones para organizar a tu manera cada tecla en tu computador.

4 COMENTARIOS

  1. ¿Y cual sería la manera ortodoxa de mapear el teclado a gusto, tanto en un entorno gráfico como en modo consola, desde el minuto 0? Porque entiendo que estos comandos no hacen un cambio permanente.

    Se me ocurre usar archivos como /etc/rc.local o ~/.bashrc, pero sería más bien un hack para salir del apuro.

  2. Excelentes aplicaciones, no conocía la que viene con interfaz gráfica. Ciertamente usé Xmodmap para añadir los caracteres del esperanto cuando antes del 2009 no estaban a nuestro alcance, ya sí (ŝĉĥĵĝ son fáciles aunque la ŭ sigue difícil con ALT GR + SHIFT + ç).

    Añadir que a hasta 2009 se podía modificar todo en un fichero de texto y podías copiar el fichero xmodmap a la carpeta del usuario /home/USUARIO con un punto delante para ocultarlo: .xmodmap-eo por ejemplo para poner teclas en esperanto (eo) y al iniciar sesión preguntaba el sistema si modificar el teclado con esa versión.

    ¿Alguien sabe si sigue siendo fácil cambiar teclas con un editor de texto o hay que usar necesariamente un programa intermedio? ¿Y se cambia para un usuario concreto o para todos los que usen el sistema?

    Esto como cambiar el Grub, antes en un fichero de texto y ahora a compilar y todo.

  3. $ xmodmap -e “keycode 66 = Shift_L”
    xmodmap: unknown command on line commandline:1
    xmodmap: unable to open file ’66’ for reading
    xmodmap: unable to open file ‘=’ for reading
    xmodmap: unable to open file ‘Shift_L”’ for reading
    xmodmap: 4 errors encountered, aborting.

  4. Tengo un problema parecido, las teclas Ctrl y Alt me marcan como Shift sean izquierdas o derechas. y no sé como darles el valor correcto, si alguien lo sabe mucho le agradezco me lo diga. Japo

Dejar una respuesta