X.org

De Disposition de clavier francophone et ergonomique bépo

X.org est utilisé presque partout actuellement. La configuration via X.org fonctionne quelque soit l’environnement de bureau ou le gestionnaire de connexion utilisant X.org.

Ligne de commande

La commande setxkbmap fonctionne partout, est particulièrement adaptée aux environnement minimalistes qui ne permettent pas de configurer le clavier autrement.

  • setxkbmap -query pour récupérer votre disposition (layout), variante et options actuelles
  • setxkbmap <disposition_initiale> <variante_initiale> <options_initiales> permet de revenir à zéro : tapez et entrez cette commande pour l’avoir dans l’historique, et pouvoir l’exécuter en bépo en appuyant simplement sur clavier bépo
  • Vous pouvez maintenant taper setxkbmap fr bepo sans craintes.


Voyons des configurations plus compliquées. Dans un 1er temps, vous voudrez sans doute doute avoir :

  • l’azerty français en 1re disposition, pour la vie de tous les jours,
  • le bépo en 2e disposition, pour s’entrainer régulièrement,
  • le raccourci clavier Alt+Verr. Maj, pour basculer entre les deux (grp:alt_caps_toggle)
  • le voyant Arrêt défil (Scroll Lock) pour indiquer quand la seconde disposition est activée :
setxkbmap fr,fr oss,bepo grp:alt_caps_toggle,grp_led:scroll
  • La commande indique :
    • […] fr,fr oss,bepo […] : la variante oss parmi les dispositions fr (dans /usr/share/X11/xkb/symbols/fr)
    • […] fr,fr oss,bepo […] : la variante bepo parmi les dispositions fr
  • Vous pouvez inverser oss et bepo si vous êtes assez à l’aise en bépo pour avoir l’azerty en second, pour dépanner
  • Les options (en dernière position) sont expliquées, en anglais, dans la section OPTIONS de man xkeyboard-config et doivent être séparées par des virgules, sans espaces.


Utiliser une autre disposition que fr oss est très simple. Par exemple, pour avoir le qwerty international (us intl) :

setxkbmap us,fr intl,bepo grp:alt_caps_toggle,grp_led:scroll

Vous pouvez trouver votre configuration actuelle en tapant setxkbmap -query, et ainsi configurer l’azerty belge, l’azerty canadien, etc.


Une fois que vous avez trouvé la configuration qui vous convient, vous pouvez automatiser le lancement de setxkbmap :

  • Lancer la commande automatiquement au démarrage
  • Créer un lanceur, pour pouvoir changer de disposition en un clic

Fichier de configuration

Configurer le bépo au niveau du système nécessite d’avoir les droits d’administration. Cela permet de l’avoir à l’écran de connexion, où on entre son mot de passe. C’est aussi la configuration utilisée dans les sessions utilisateurs où aucune configuration utilisateur n’a été effectuée.

Exécutez la commande localectl status :

Avec localectl

localectl va créer la configuration X.org à notre place, et sera effective après un redémarrage.

On reprend la commande qu’on utilise avec setxkbmap, sauf qu’on écrit :

sudo localectl --no-convert set-x11-keymap <dispositions> "" <tout le reste>

Par exemple :

setxkbmap fr,fr oss,bepo grp:alt_caps_toggle,grp_led:scroll

devient

sudo localectl --no-convert set-x11-keymap fr,fr "" oss,bepo grp:alt_caps_toggle,grp_led:scroll

Manuelle

Tous les réglages se font dans le fichier de configuration de X.org, /etc/X11/xorg.conf.d/10-evdev.conf (si vous avez une ancienne distribution ou une configuration spéciale, ça peut aussi être /etc/X11/xorg.conf.d/20-keymap.conf ou /etc/X11/xorg.conf).

Pour faire une sauvegarde du fichier de configuration (s’il n’existe pas, cela produira simplement une erreur), lancez la commande suivantes dans un terminal :

sudo cp /etc/X11/xorg.conf.d/10-evdev.conf{,.backup}

Cela vous permettra, si vous le souhaitez, de le restaurer plus tard avec :

sudo mv /etc/X11/xorg.conf.d/10-evdev.conf{.backup,}

Ensuite, pour éditer/créer le fichier :

sudo nano /etc/X11/xorg.conf.d/10-evdev.conf

Si le fichier est vide ou qu’il ne contient pas de section similaire au contenu ci-dessous, ajoutez le contenu suivant :

Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "fr"
        Option "XkbVariant" "bepo"
EndSection

Sinon, ajoutez ou modifiez la section pour obtenir :

       Option "XkbLayout" "fr"
       Option "XkbVariant" "bepo"

(cela indique à X.org de chercher la disposition bepo dans le fichier généralement situé à /usr/share/X11/xkb/symbols/fr)

Et faites Ctrl-X, O puis Entrée pour sauvegarder.

Configuration Plug and Play

Cette configuration permet d’assigner une disposition à un clavier : deux claviers différents peuvent avoir une disposition différente, et la bonne disposition est utilisée dès le branchement du clavier. C’est très pratique pour les portables ou les ordinateurs partagés.

Cela devrait fonctionner quelque soit la façon dont vous avez activé le bépo, et nécessite les droits d’administrateur.

Créez le fichier /etc/X11/xorg.conf.d/00-claviers_bepo.conf (nécessite les droits d’administration), et mettez-y le contenu suivant (à adapter à votre configuration) :

Section "InputClass"
	Identifier	"TypeMatrix"
	MatchIsKeyboard	"True"
	MatchProduct	"TypeMatrix.com USB Keyboard"
	Driver		"evdev"
	Option		"XkbLayout"  "fr"
	Option		"XkbVariant" "bepo"
EndSection
 
Section "InputClass"
	Identifier	"ErgoDox"
	MatchIsKeyboard	"True"
	MatchProduct	"ErgoDox ergonomic keyboard"
	Driver		"evdev"
	Option		"XkbLayout"  "fr"
	Option		"XkbVariant" "bepo"
EndSection

C'est un exemple fonctionnel pour les TypeMatrix et ErgoDox, testé sur Debian Jessie. Ici, quelle que soit la configuration générale qui affecte les autres claviers, le TypeMatrix et l’Ergodox seront toujours en bépo.

Si le clavier ne répond plus, le pilote evdev n’est pas installé. Pour Debian, Ubuntu et dérivées :

aptitude install xserver-xorg-input-evdev