Multi layout claviers simultanés pour Xorg

-------------------------------------------------

[31/01/2018] - ~2mins - #linux #xorg #clavier #keyboard #bépo

-------------------------------------------------

J'aime beaucoup les claviers. Et il m'arrive régulièrement d'en brancher plusieurs sur l'ordinateur… en même temps. Ça n'a que peu d'intérêt mais j'aime bien. Ma petite collection grandit petit à petit. Mon clavier principal est en bépo légèrement trafiqué tandis que la plupart de mes autres bestiaux sont en azerty plus traditionnel voir quelques-uns en qwerty. Du coup j'ai configuré *Xorg* pour avoir une configuration un peu hors du commun :

- Mon clavier traditionnel est en bépo, azerty et qwerty

- Les autres claviers sont en azerty, bépo, qwerty

- La touche Ctrl droite sert de touche **Compose**

- Ctrl-Alt-Backspace tue la session Xorg

- Maintenir Shift-droite et Shift-gauche simultanément change de disposition

Voilà le cahier des charges que je voulait.

Bon du coup pour faire ça on va éditer le fichier */etc/X11/xorg.conf* . Certaines distributions ont remplacées ce fichier par un dossier contenant plusieurs fichiers. Dans ce cas cherchez quel fichier contient ce qui a attrait à evdev…

Section "InputClass"

Identifier "evdev keyboard catchall"

MatchIsKeyboard "on"

MatchDevicePath "/dev/input/event*"

Driver "evdev"

Option "XkbLayout" "fr,fr,us"

Option "XkbVariant" "oss,bepo, "

Option "XkbOptions" "compose:rctrl,terminate:ctrl_alt_bksp,grp:caps_toggle"

EndSection

Section "InputClass"

Identifier "Custom Keyboard"

MatchIsKeyboard "on"

MatchDevicePath "/dev/input/event*"

MatchVendor "Lord_Corp"

Driver "evdev"

Option "XkbLayout" "fr,fr,us"

Option "XkbVariant" "bepo,oss, "

Option "XkbOptions" "compose:rctrl,terminate:ctrl_alt_bksp,grp:caps_toggle"

EndSection

Voilà tout.

Comment ça marche ?

Et bien Xorg est composé de multiples *"drivers"* ou modules, dont un nommé **evdev** qui est chargé de scanner tous les appareils d'entrées et de les configurer. Du coup il va piocher dans */dev/input/* et va regarder chacun des fichiers présents correspondants à tous les appareils d'entrée détectés par votre kernel.

En fonction du type d'appareil (clavier/souris/tablette tactile/…), il va appliquer des configurations différentes. Il fait cela via les règles de type **catchall**.

Par chance on peut lui dire d'appliquer des règles différentes à des appareils spécifiques en rajoutant des conditions pour *match*. Dans mon cas, il recherche *Lord_Corp* dans le champs *Vendor* fourni par l'appareil. Donc vous pouvez mettre le petit nom de votre appareil à vous.

Comment je trouve le Vendor de mon appareil ?

Facile : ***xinput --list --long***

Liens

------------------------------------

🏠 Retour à la home

------------------------------------

[31/01/2018] - #linux #xorg #clavier #keyboard #bépo

------------------------------------

[>> Suivant >>] ⏭ 3ème article d'avancement du Librem 5

[<< Précédent <<] ⏮ Filmmenu, un ptit script pour lancer un film