XKeyCaps

XKeyCaps es una interface gráfica para la modificación de la disposición de teclado bajo Linux. Opera creando archivos de configuración que pueden ser cargados por xmodmap como se muestra aquí.

A continuación un ejemplo de uso de esta aplicación para agregar keysyms y un modificador Super a un teclado Español de Chile (layout español, distribución España).

Teclado español (imagen: ChileHardware.cl)

Instalando

Para instalar xKeyCaps en Linux, basta con invocar al gestor de paquetes apropiado. Por ejemplo, en Debian y *buntu:

sudo apt-get install xkeycaps

Iniciando XKeyCaps

Al iniciar XKeyCaps nos aparece un diálogo pidiéndonos que escojamos nuestro modelo o diseño físico de teclado, y nuestro layout o acomodación de keycodes. El modelo que deseeamos utilizar, que se encuentra comúnmente en Chile, es el PC 105 Wide Delete Tall Enter que podemos ver en la imagen. El layout correcto, usualmente si venimos de un Windows XP con configuración Regional Chile-Español, será el layout XFree86 Spanish.

Interface

La interface del programa es bastante sencilla. La parte inferior nos muestra nuestro teclado, en cada tecla aparece el keycode en hexadecimal, y los caracteres asociados al Nivel 1 - Grupo 1, es decir, el que aparece al presionar “normalmente” la tecla. Cuando hacemos hover sobre una de las teclas, la información se muestra en la parte superior de la pantalla, en una tabla conteniendo los siguientes elementos:

Etiqueta Significado Ejemplo
KeyCode El keycode físico de la tecla
(en hex, dec, oct)
R 0x1B 27 0033
KeySym El nombre de keysym asociado a la tecla
(keysyms en el mismo orden que en el fichero .Xmodmap)
r R paragraph registered Greek_Rho registered
ASCII El código ASCII del caracter generado R 0x72
Modifiers El modificador asignado a la tecla,
si es que hay alguno
AutoRepeat El valor de autorepetición de la tecla no

Para editar las características de una tecla, simplemente hacemos clic derecho sobre ella, haciendo que se ilumine, y del menú contextual escogemos una de las opciones, Edit Keysyms, Exchange Key o Restore to Default.

Editando una Tecla

Al hacer clic derecho en una tecla, el menú Edit Keysym nos lleva a un diálogo donde podemos apreciar la tecla que estamos editando y todos los keysyms asociados a ella.

La primera columna contiene todos los keysyms asociados a la tecla, y la segunda columna todos los modificadores que le pueden ser asignados. Al hacer clic sobre uno de los keysyms, se actualizan las dos listas de la derecha, mostrando el keysym (en el lado derecho) y el grupo de keysyms al que pertenece (en el lado izquierdo), permitiendo escoger cualquier caracter.

Vamos a asignar ahora a la combinación AltGr+Shift+R el keysym del caracter rightt que es un tipo de flecha.

  1. Puesto que AltGr+Shift levanta el keysym en el Grupo 2, el keysym que editamos es el cuarto, vayamos al keysym registrado bajo “KeySym 4 y hacemos un clic.
  2. En el Character Set, seleccionamos el grupo de caracteres Special. Esto actualiza la lista de KeySyms de la derecha.
  3. En el listado de KeySym, seleccionamos el elemento rightt.
  4. Hacemos clic en “OK” para terminar.

Podemos repetir el procedimiento para cualquier tecla que deseemos modificar, recordando siempre que los KeySyms 1 y 2 están asociados a la tecla sola o con <key>Shift</key>, los keysyms 3 y 4 a la tecla con <key>Mode_switch</key>, los keysyms 5 y 6 a <key>'ISO_Level3_Shift'</key>, etc…; por tanto, es necesario asignar el valor correcto a AltGr para tener acceso a las combinaciones deseadas.

Asignando un Modificador a AltGr

Con estos pasos asignaremos a AltGr el modificador 3 y el Keysym Mode_switch. Con esto, los KeySyms a los que entrega acceso este modificador son al tercera y cuarta columna, es decir, el Grupo 2.

  1. Clic derecho sobre AltGr, Edit Keysyms.
  2. En la columna de modificadores, hacemos clic sobre Mod3 de modo que se ennegrece.
  3. En la columna de Keysyms, nos aseguramos que los KeySym 2 a 8 tengan asignado el valor NoSymbol.
  4. En la misma columna, vamos al KeySym 1 y hacemos clic. Se actualizan las listas de la derecha.
  5. En la lista de Character Set escogemos el set de Keyboard (casi al final).
  6. En la lista de la derecha escogemos el keysym Mode_switch (casi a mitad de la lista).
  7. Hacemos click en OK para terminar.

Guardando los Cambios

Para guardar los cambios seleccionamos el botón (a la izquierda) Write Output que nos informará que desea guardar el archivo bajo la ruta $HOME/.Xmodmap, o si queremos cambiarla. Una vez hecho esto el archivo está guardado y podemos invocarlo al ejecutar xmodmap $HOME/.Xmodmap.

Cuando se trabaja con este programa es muy buena idea mantenerlo abierto, en caso de <ttip:winlike:mandarse un condoro>chileno para “cometer un error gravísimo”</ttip>, si nos equivocamos con la configuración podemos terminar con un teclado deshabilitado, pero al hacer clic en el botón Restore Defaults y cargando esa configuración, volveremos a nuestro teclado normal.

TOBEDONE Subir un ejemplo de archivo de xmodmap generado.

Aplicando los Cambios

Usualmente, los cambios se aplican la próxima vez que se inicie el entorno gráfico (por ejemplo, reiniciando el demonio gdm o similar).

Otra manera de aplicar los cambios es ejecutar en una consola:

xmodmap $HOME/.Xmodmap
⇐ Regresar a linux-keymaps