Page suivantePage pr�c�denteTable des mati�res

13. Que fait exactement XFree86-2.1 � l'initialisation de sa keymap?

Depuis la version 2.1, XFree86 initialise sa keymap d'apr�s celle de Linux, dans les limites du possible. Linux a 16 entr�es par touches (une pour chaque combinaison de Shift, AltGr, Ctrl, Alt; en fait il en a m�me 256), alors que X n'en a que 4 (une pour chaque combinaison de Shift et Mod), il y a donc forc�ment des informations perdues.

D'abord X lit le fichier Xconfig, o� il trouve les correspondances entre les touches Control, Alt et ScrollLock avec les codes X Meta, ModeShift, Compose, ModeLock et ScrollLock - voir X386keybd(1), ou XFree86kbd(1).

Par d�faut, c'est la colonne LeftAlt qui sert pour Mod, sauf si CtlDroit est d�fini comme ModeShift ou ModeLock, dans ce cas ce sont les entr�es RightCtl qui servent pour Mod. (Sauf si AltGr est d�fini comme Mod dans Xconfig, auquel cas c'est la colonne RightAlt qui sert.) Ceci d�termine comment les 4 entr�es de XFree86 sont choisies parmi les 16 de Linux. Notons que par d�faut Linux ne fait pas la diff�rence entre les deux touche Control ou Shift. X fait la duff�rence.

Les touches "action" Show_Memory, Show_State, Show_Registers, Last_Console, Console_n, Scroll_Backward, Scroll_Forward, Caps_On et Boot sont ignor�es, de m�me pour les touches mortes, NumLock, ScrollLock et Alt+code-ASCII.

Ensuite, les d�finitions de Xconfig sont utilis�es. (Donc une d�finition de Compose dans Xconfig annulera celle trouv�e dans la keymap du noyau.)

Que deviennent les cha�nes associ�es aux touches des fonctions ? Rien, ce concept n'existe pas sous X. (Mais il est possible de d�finir des cha�nes associ�es aux touches de fonction dans xterm - mais elles ne doivent pas �tre intercept�es par le gestionnaire de fen�tres.)

Je ne sais pas comment convaincre xterm qu'il devrait utiliser la keymap de X quand Alt est enfonc�. Il semble qu'il ne r�agisse qu'en fonction de sa ressource eightBitInput, et selon qu'elle est � vrai ou faux, soit il met � 1 le huiti�me bit, soit il g�n�re un caract�re escape devant le caract�re (comme le fait setmetamode(1) pour la console).


Page suivantePage pr�c�denteTable des mati�res

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:42