💾 Archived View for lord.re › posts › 70-multi-keyboard-layout › index.gmi captured on 2024-06-16 at 12:38:36. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2022-06-03)
➡️ Next capture (2024-08-18)
-=-=-=-=-=-=-
-------------------------------------------------
[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.
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.
Facile : *xinput --list --long*
------------------------------------
------------------------------------
[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