Outils personnels
Vous êtes ici : Accueil Linux Gentoo Utilisation d'une Gentoo - Problèmes/Solutions - FAQ 23 - Sous X mon clavier est en 'us' et non en 'fr' (ou le passage à xorg 1.9)
Navigation
Se connecter


Mot de passe oublié ?
 

23 - Sous X mon clavier est en 'us' et non en 'fr' (ou le passage à xorg 1.9)

Par Freecrazy - Dernière modification 09/01/2011 21:41

Après une mise à jour, mon clavier sous X (donc sous environnement graphique) est en mode us (qwerty) au lieu d'être en fr (azerty). A noter que sous console le clavier est bien français (fr).

Ce dysfonctionnement est apparu après la mise à jour du 02/01/2011 (cf. page précédente). J'ai pensé "encore un coup de xorg-server, cela va être vite réglé", et bien, même si j'avais raison pour Xorg, cela n'a pas été aussi rapide que cela.

1 - Constats préliminaires

Il y a un peu plus d'un an, lors des passages successifs aux versions 1.5 et 1.6 de xorg-server, j'avais connu bien des déboires pour quitter la configuration via xorg.conf et passer la main à evdev et hal pour reconnaître le matériel et configurer proprement clavier et touchpad via des fichiers .fdi en xml sous /etc/hal/fdi/policy (cf. 12-Les passages à Xorg 1.5 puis Xorg 1.6 plantent clavier et souris ! et 13-Mise à jour de fin novembre 2009 : clavier et touchpad encore plantés ! ).

Or ici mon touchpad fonctionne et mes touches spéciales aussi ce qui démontre bien que mes 2 fichiers 10-x11-input.fdi et 11-x11-synaptics.fdi sont lus, non ?. Alors pourquoi mon xkb.layout=fr n'est pas pris en compte ?

Ah ben en fait ... non, mon touchpad ne répond plus comme avant (le tap par ex.), ce que confirme un déplacement des fichiers .fdi sans changement de comportement.

Il est temps d'aller jeter un œil sur le log d'emerge en /var/log/portage/elog/summary.log et nous avons ceci (attention le fichier est long, il faut se positionner sur les dernières mises à jour donc en fin de fichier) :

 Xorg-1.9.2 Summary.log

Comme ma version actuelle de xorg-server est une 1.7.7, il est pertinent d'aller voir ce que raconte le guide de mise à niveau.

2 - Mise à jour vers xorg-server 1.9

Au lien indiqué http://www.gentoo.org/proj/en/desktop/x/x11/xorg-server-1.9-upgrade-guide.xml (en anglais), nous apprenons que Xorg 1.9 ne détecte plus ses périphériques en utilisant HAL mais udev !

Du coup ceux qui avaient un Xorg 1.7 ou 1.8 (pour ce qui me concerne 1.7.7) compilé avec l'use HAL doivent migrer  et suivre ce guide xorg-server-1.8-upgrade-guide.xml (en anglais également).

Première chose à faire, vérifier que xorg-server est bien compilé avec l'USE udev, une commande equery donne :

Xorg-1.9.2 Equery

Le bleu de udev me fait croire qu'il faut recompiler Xorg-server (alors qu'en fait non, mais 2 précautions valent mieux qu'une), donc :

Xorg-1.9.2 Emerge

Et maintenant il faut aller configurer notre xorg.conf ou des fichiers sous le répertoire /etc/X11/xorg.conf.d

Il est à noter que xorg.conf est lu en premier (s'il existe) puis ce sont les fichiers sous xorg.conf.d qui sont lus et ce dans l'ordre croissant. (S'il n'y a aucun fichier c'est le fonctionnement par défaut qui prévaut : un clavier us et un touchpad aux fonctions minimales)

Pour ma part, j'ai préféré garder la logique un fichier de config pour chaque chose, soit un pour le clavier et l'autre pour le touchpad.

Donc sous /etc/X11/xorg.conf.d/ créé à l'occasion (commande mkdir), j'ai :

  • un fichier 10-keyboard.conf avec :
# Ne pas oublier : un modèle sous /usr/share/X11/xorg.conf.d
# dont je me suis inspiré; et bien sûr le man !

Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "XkbLayout" "fr"
EndSection
  • un fichier 40-synaptics.conf avec :
Section "InputClass"
    Identifier "touchpad catchall"
    Driver "synaptics"
# Tapping : rappel 1 = bouton Gauche, 3 = bouton Droit, 2 = Molette,
# et TapButtonX = X doigts
    Option "TapButton1" "1"
    Option "TapButton2" "3"
    # Option "TapButton3" "2"
# Maximum movement of the finger for detecting a tap
    Option "MaxTapMove" "2000"
# Permet avec 1 doigt glissé sur le bord droit le défilement Vertical
# et sur le bord bas le défilement vertical
    Option "VertEdgeScroll" "on"
    Option "HorizEdgeScroll" "on"
# Permet avec 2 doigts le défilement horizontal et vertical
# n'importe où sur le touchpad
    Option "VertTwoFingerScroll" "on"
    Option "HorizTwoFingerScroll" "on"
# For other possible options, check CONFIGURATION DETAILS 
# in synaptics man page
    MatchIsTouchpad "on"
EndSection

A noter :

  • Section "InputClass" et non "Input Device"
  • la ligne MatchIsKeyboard ou MatchIsTouchpad "on"
  • j'ai repris les options de ma config .fdi, mais pour synaptics vous trouverez un nombre impressionnant d'options dans le man 

3 - Et mes touches spéciales

Ce paragraphe est propre à mon micro, mais la façon d'aborder les choses doit pouvoir être reproductible.

Comme beaucoup de micro portable mon Compaq Evo N600c comprend des touches spéciales (4 pour être précis).

Touches spéciales de Evo N600c

Je les avais paramétrées sous .fluxbox/keys comme ceci :

# Action des touches multimédias
XF86WWW :ExecCommand firefox
XF86Mail :ExecCommand thunderbird
XF86HomePage :ExecCommand Eterm
XF86Search :ExecCommand rox

Mais, la touche "mail" n'était pas reconnue (malgré le fait que xev me donne bien son association avec XF86Mail). Lors du passage à Xorg 1.5, fin 2009, j'avais contourné le problème en recréant une association dans le fichier de configuration .fdi. Ici je ne vais utiliser que le fichier .fluxbox/keys en associant mon client de messagerie (thunderbird) avec le scancode de la touche (toujours obtenu avec xev). In fine j'obtiens ceci :

# Action des touches multimédias
XF86WWW :ExecCommand firefox
None 223 :ExecCommand thunderbird
XF86HomePage :ExecCommand Eterm
XF86Search :ExecCommand rox

 Et voilà tout fonctionne de nouveau correctement !

Actions sur le document