Modifica la configuración de tu teclado con Xmodmap

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.


9 comentarios, deja el tuyo

Deja tu comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Pasadeno dijo

    ¿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.   Guillermo dijo

    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.   ignacio dijo

    $ 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.   japo dijo

    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

  5.   Juanito dijo

    Ayuda necesito intercambiar mi tecla p por la ñ con la aplicacion grafica funciona pero no se queda guardados los cambios al reiniciar
    :c

  6.   Gumersindo Guerrero dijo

    hola , despues de bloquear una de las teclas con el xkeycaps , como hacer que el cambio sea permanente , ya que una vez que se reinicia el cambio no lo refleja.

    Gracias
    Gume

  7.   Daniel Jimenez dijo

    Funciona perfectamente, pero una vez que reinicias el equipo se pierde estos cambios .
    Como puedo hacer que queden permanentes?

  8.   Turo dijo

    Un dato adicional: La tecla modificadora «Fn» (function) que habitualmente viene en todos los laptop (ordenadores portatiles) correspondería a la séptima columna por lo que:

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

    Esta tecla suele llevar asignada los KeySym asociados con las teclas multimedia a veces dibujadas sobre las teclas F1-12 (en mi teclado WisFox XF86Switch_VT_1 a XF86Switch_VT_12). En mi teclado la tecla F1 muestra lo siguiente:

    keycode 67 = F1 F1 F1 F1 F1 F1 XF86Switch_VT_1

    y este XF86Switch_VT_1 en la tecla aparece un icono de dos corcheas (dos notas musicales) que abre el reproductor de musica.
    Algunos por lo visto también tienen funciones predefinidas (XF86XK_AudioMute silencia el sonido) y lo interesante sería hacer uso de cualquier otra tecla que no tiene este modificador asignado para disponer de otra «página» o rollover de teclado para lo que nos plazca. De momento no sabría hacerlo…

    Espero que sirva de ayuda a algún compañero que también desee sacar el máximo partido de su teclado sin adquirir uno nuevo con mayor número de teclas.

  9.   Juan C. dijo

    Gracias por el articulo Gerak, no se si sigue escribiendo el autor de este articulo pero aunque este articulo es de hace años, hoy 2021 a mi me fue útil, gracias por haberte tomado el tiempo de escribir, por las capturas de pantallas, y también por haber añadido la opción de poder hacer esta configuración desde una aplicación con interfaz gráfica.