Configurando X para que quede igual a la consola (o casi)

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:

  1. Salir de X antes de alterar la configuración.
  2. En la sección de teclado de /etc/X11/XF86Config usar:

    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.

  3. Hay que asegurarse que X entienda que usamos caracteres latinos de europa occidental. Para eso ponemos en algún punto que ejecute el bash al levantar esto:

    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
  4. Una vez que le dijimos a X el archivo /usr/X11R6/lib/X11/locale/iso8859-1/Compose nos importa hay que cambiarlo por uno levemente retocado. Esto es necesario ya que el que propongo define varias cosas que harán que X se comporte como configuramos la consola.

    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]

  5. Ahora elegimos con que tecla vamos a crear los acentos componiendo, ejemplo: con F12 (código 96 en el teclado US) para eso ponemos en /etc/X11/Xmodmap esto:

    keycode 96 = Multi_key
    Con esto presionando F12 y dos veces ! sale ¡ o con F12, ~,n sale ñ.

    Si tenemos un teclado de 104 teclas podemos poner:

    keycode 116 = Multi_key
    Y usar la tecla "Windows Derecha" (116) para componer los acentos.

  6. Como el acento agudo es el que más se usa le podemos poner un short-cut agregando esto a Xmodmap:

    keycode 48  = dead_acute quotedbl
    Con 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 = ñ).

  7. Faltaría emular el comportamiento del "Alt Derecho/Menú" que hicimos en la consola. Si tenemos un teclado de 104 teclas podemos poner:

    keycode 117 = dead_circumflex
    El 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:

  1. X se configura como en USA (el teclado es yanqui después de todo).
  2. En el /etc/X11/Xmodmap ponemos 3 definiciones:
    keycode 116 = Multi_key
    keycode 117 = dead_circumflex
    keycode 48  = dead_acute quotedbl
    
    (Teclado de 104 teclas)
    o bien
    keycode 96 = Multi_key
    keycode 113 = dead_circumflex
    keycode 48  = dead_acute quotedbl
    
    (Teclado de 101 teclas)
    Ejemplo: etc/X11/Xmodmap.

  3. Copiamos el archivo Compose a /usr/X11R6/lib/X11/locale/iso8859-1/ y nos aseguramos que X lo cargue (ya sea diciendo que usamos es_AR o en_US o lo que se nos ocurra).

  4. Finalmente cargamos X y lo probamos.
[Home][Menú Principal][Teclado]

Valid HTML 4.01! SourceForge.net Logo Esta página es parte del site del BALUG. by SET
Copyright 2001 by Salvador E. Tropea. Se permite realizar copias y redistribuir este documento utilizando cualquier medio en tanto y en cuanto se mantenga este mensaje de copyright.