Archivo por días: 23 febrero, 2009

Al rico teclado de piña para el niño y la niña

Actualizado. Si ya tuve una entrada sobre ratones, ahora le toca el turno al teclado. Y es que el de mi flamante Asus EEE PC tiene un detalle algo molesto. Véase la siguiente fotografía:

Resulta que la tecla Mayúsculas derecha está completamente a la derecha y es corta (en lugar de larga, como en los teclados normales), y la tecla Cursor arriba está justo a la izquierda. El resultado es que, cuando se teclea al tacto, es inevitable pulsar con el meñique el cursor cuando se quiere poner una mayúscula.

La solución a este problema es tan sencilla como intercambiar el funcionamiento de dichas teclas, lo cual es muy sencillo gracias a XModMap. Para hacerlo no tenemos más que usar el siguiente script:

#!/bin/bash

xmodmap -e "remove Shift = Shift_R"
xmodmap -e "keycode 62 = Up"
xmodmap -e "keycode 111 = Shift_R"
xmodmap -e "add Shift = Shift_R"
xset -r 111
xset r 62

Los cuatro comandos de XModMap se encargan de remapear los códigos de las teclas con las nuevas funciones deseadas. Luego usamos xset, primero para eliminar la autorrepetición de la nueva tecla Mayúsculas derecha, y luego para añadirla a la nueva tecla Cursor arriba. Es precisamente el hecho de  que la autorrepetición no se pueda controlar desde XModMap lo que obliga a utilizar un script en lugar de un fichero .Xmodmap, como cuando cambiamos los botones del ratón.

Grabamos el script en un lugar cómodo, le damos permisos de ejecución, y ¡voila! Problema resuelto.

O quizás no, porque cada vez que arrancamos el ordenador tendríamos que ejecutar a mano este script para intercambiar las teclas. Lo interesante sería, sin embargo, que se lanzase él solo cada vez que entrásemos en nuestra cuenta. Por fortuna es muy sencillo de hacer en Gnome (en KDE habrá otra manera igual de fácil, pero como no lo uso, no conozco los pasos. ACTUALIZACIÓN: según comenta CoskiBukowsky en los comentarios, se puede copiar el script en ~/.kde/Autostart): basta con ir a Sistema -> Preferencias -> Sesiones y pulsar el botón Añadir, para añadir un nuevo script a ejecutar durante el arranque. Nos saldrá una ventana como ésta, en la que sólo debemos poner la ruta a nuestro script (que, en mi caso, se llama teclas.sh):

¡Y ahora sí, todo listo!