El X, esto puede ir desde fácil a pesadilla. Esta es una solución posible para XFree86 v3.3.6 cuando usamos un teclado noteamericano:
Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 30
XkbKeymap "xfree86(us)"
EndSection
Esto le dice a X que use el protocolo estandard y una variante de teclado
norteamericana común. Hasta acá es lo común para
USA.
export LANG=es_AR export LANGUAGE=es_AR export LC_ALL=es_AR[Galleguitos argentinos ;-]
Por ejemplo en /etc/profile y /etc/bash.bashrc (todos los usuarios quedan español Argentina por defecto).
Con esto X se va a dar cuenta que nos importan los acentos y nos va a habilitar una tabla de composición de acentos acorde. La tabla está en /usr/X11R6/lib/X11/locale/iso8859-1/Compose
Otra opción es engañarlo y decirle que somos yanquis (en_US por ejemplo) y también debería seleccionar esto.
Una vez alterado esto no olvidemos relogearnos para que los cambios tengan efecto y verificarlo con algo tipo:
set | grep LANG
Reemplazar /usr/X11R6/lib/X11/locale/iso8859-1/Compose por esto: usr/X11R6/lib/X11/locale/iso8859-1/Compose
[Los siguientes pasos seleccionan tres teclas que vamos a usar]
keycode 96 = Multi_keyCon esto presionando F12 y dos veces ! sale ¡ o con F12, ~,n sale ñ.
Si tenemos un teclado de 104 teclas podemos poner:
keycode 116 = Multi_keyY usar la tecla "Windows Derecha" (116) para componer los acentos.
keycode 48 = dead_acute quotedblCon esto la tecla ' acentúa. Si usamos el archivo Compose que está incluido aquí se agregan varias cositas que ya definimos en la consola (tipo '+n = ñ).
keycode 117 = dead_circumflexEl archivo de Compose que se incluye aquí se encarga de enseñarle a X que es lo que nosotros hacemos con esa tecla (nada que ver con el acento circunflejo ;-).
Resumen:
keycode 116 = Multi_key keycode 117 = dead_circumflex keycode 48 = dead_acute quotedbl(Teclado de 104 teclas)
keycode 96 = Multi_key keycode 113 = dead_circumflex keycode 48 = dead_acute quotedbl(Teclado de 101 teclas)