X Window System és un sistema de finestres basat en un servidor que distribueix les entrades d'un usuari a una sèrie de programes clients. La versió que trobem de les X per a i386-Linux és XFree86 (X11R6 unix per a ordinadors basats en les plataformes x86).
Les X intenten seguir per defecte el teclat definit al mode consola, per tant, és necessari haver-lo definit en aquest mode ( Veure Secció 2.2). Per reconfigurar les X disposem d'una utilitat anomenada xmodmap que utilitzarem tot seguit.
Perquè la tecla Alt Gr funcioni s'ha de tenir dins del fitxer de configuració de les X, /etc/X11/XF86Config (si XFree86-3.x) o /etc/Xconfig (si XFree86-2.0), la següent línia:
RightAlt ModeShift |
Normalment aquesta línia ja apareix al fitxer, però pot estar comentada. Si ho està, (hi ha el símbol '#' al començament), editeu el fitxer i esborreu el símbol de comentari.
Tothom que ha treballat una mica amb les X ha patit el problema d'haver d'utilitzar els programes sense poder fer servir els caràcters accentuats.
Aquest document no pretén entrar en la problemàtica creada per aquest tema, però bàsicament es resumeix en aquestes paraules: els programes clients de les X (Ex: xterm, xfm, xfmail, netscape, ...) són els encarregats de decidir si s'ha teclejat un caràcter accentuat o no. Per exemple la seqüència de tecles < accent + o > pot ser interpretada de dues maneres:
'o: apòstrof i lletra o
ó: lletra o amb accent tancat.
Fins ara no hi ha gaires clients que es preocupen de fer el tractament dels caràcters accentuats. Un exemple model és emacs. Si el teniu instal·lat en el vostre sistema feu la prova i veureu que tot funciona perfectament.
La solució oficial és que s'ha d'esperar que tots els clients tractin els caràcters accentuats. Però evidentment, per als usuaris actuals, aquesta solució no és gens vàlida.
Aquesta solució es basa en el fet de transportar el tractament dels caràcters accentuats al servidor de les X. D'aquesta manera el servidor decideix quin caràcter ha de transmetre al client. Per tant, es poden usar amb normalitat el 100% dels clients sense interferir en els que ja fan el tractament pel seu compte.
Què es necessita?
La llibreria de les X que substitueix la que no tracta els caràcters accentuats (280Kb) la podeu trobar a l'adreça
Caràcters accentuats en X11 - http://web.fdn.fr/~tquinot/dead-keys.en.html |
Un modificador de teclat que generi els codis adequats.
Aquesta llibreria està basada en la versió XFree86 3.3.1 libX11, i pot ser usada en qualsevol distribució X11R6, X11R6.1, X11R6.3 XFree86-3.2.
(Nota per a usuaris de RedHat-5.0: Redhat 5.0 té dos llibreries que s'han de substituir:
/usr/X11R6/lib/libX11.so.6.1 (libX11-RH5.tar.gz)
/usr/i486-linux-libc5/lib/libX11.so.6.1 (libX11-XF3.3.1.tar.gz)
Si no, les aplicacions compilades amb la versió glibc-2.0.x funcionaran bé, i les antigues no... ex: netscape)
Aquest fitxer modifica el mapa de teclat que ha estat definit en el mode consola. Per fer-ho, s'utilitza el programa 'xmodmap' amb un fitxer especial com a entrada. Si voleu un fitxer modificador de teclat per al teclat de 102 tecles català (també funciona per al de castellà) el podeu trobar a:
Modificador de teclat - http://www.fut.es/~mhp/http/Xmodmap (Versió: 1.2 12 Ago 1998) |
(Per saber les tecles que genera aquest modificador de teclat, editeu-lo).
Ara només heu d'executar la comanda
$ xmodmap Xmodmap |
Si voleu que cada cop que executeu les X es carregui el mapa de teclat, llavors copieu el fitxer Xmodmap (o el vostre personal) com a /etc/X11/xinit/.Xmodmap
Aquest modificador de teclat assigna a cada tecla la seva funció natural sempre que s'hagi seguit amb èxit Secció 4.4. És a dir:
lletra(a-z): a-z
Shift + lletra(a-z): A-Z
accent-obert; a-u : à-ù
(Shift + accent-obert) ; a-u : â-û
(Shift + accent-obert) ; (Shift + a-u) : Â-Û
accent-tancat; a-u : á-ú
(Shift + accent-tancat) ; a - u : ä-ü
(Shift + accent-tancat) ; (Shift + a-u) : Ä-Ü
AltGr + 4: ^
AltGr + 5: ~
AltGr + ': `
(Les tres darreres combinacions no surten escrites al teclat, però s'hi han inclòs per facilitar la feina. Utilitzarem aquestes tres quan vulguem obtenir el caràcter que representen, i deixarem les de composició de tecles mortes per a la seva funció natural).
( teclaA + teclaB = dues tecles a l'hora) ( teclaA ; teclaB = primer teclaA, després teclaB)
Quan volem escriure un caràcter premem la tecla on aquest caràcter és associat. La taula ISO-8859-1 (veure Apèndix Apèndix A) té més de 192 caràcters. Per tant, necessitaríem un teclat amb més de 192 tecles per poder escriure amb tota la taula... Suposo que ningú s'imagina treballar amb un teclat d'aquestes dimensions i per tant necessitem algun mecanisme que ens faciliti aquesta tasca.
Hi ha tecles que tenen associats més d'un caràcter i llavors utilitzem més d'una tecla per accedir-hi. És el cas de les majúscules (Majúscules + a = A), signes que són a dalt i a l'esquerra de les tecles (Majúscules + 4 = $) i signes que són a la part baixa i a la dreta (AltGr + 2 = @).
Però com generem els caràcters µ, ¹, £ ?
Aquests caràcters es generen amb la 'composició' de dues tecles. Per indicar que estem fent una composició, premem tres tecles seqüencialment. Si volem generar per exemple £ hem de:
prémer la tecla COMPOSE, prémer la tecla 'l' i prémer la tecla '-'.
La tecla COMPOSE també és assignada a una de les tecles. El fitxer de modificador de teclat que hem presentat abans l'assigna a la tecla BloqDespl. Si utilitzeu un altre modificador de teclat, la tecla COMPOSE és aquella que genera el codi Multi_key.
Resumir totes les combinacions de tecles que s'han de fer per compondre tots els caràcters de la taula ISO-8859-1 seria molt llarg i innecessari. Si voleu trobar totes les combinacions possibles aneu al fitxer /usr/X11R6/lib/X11/locale/iso8859-1/Compose del vostre sistema.