Bien que cette question date d'un peu plus d'un an, j'ai pensé partager ma solution car aucune des autres réponses n'a abordé la question de savoir comment faire pour que cela fonctionne au démarrage.
Ma situation : J'ai un clavier Happy Hacking qui se branche via usb et dont les touches sont déplacées (contrôle de l'emplacement du verrouillage des majuscules, etc). Je l'utilise la plupart du temps, mais parfois j'aimerais utiliser le clavier standard de mon ordinateur portable ou un autre clavier usb. Pour ces claviers, j'ai créé une disposition de clavier personnalisée.
L'astuce est que la disposition du clavier personnalisé ne doit pas être appliquée au clavier Happy Hacking.
Solution : J'ai créé un fichier de configuration Xorg comme tel :
$ cat /etc/X11/xorg.conf.d/30-keyboard.conf
Section "InputClass"
Identifier "Happily Hacked Keyboard"
MatchDevicePath "/dev/input/event*"
MatchIsKeyboard "on"
Driver "evdev"
Option "XkbLayout" "us"
Option "XkbVariant" "hhk"
EndSection
Section "InputClass"
Identifier "Happy Hacking Keyboard"
MatchIsKeyboard "on"
MatchVendor "Topre_Corporation"
Driver "evdev"
Option "XkbLayout" "us"
Option "XkbVariant" "basic"
EndSection
La première partie dit essentiellement que pour tout clavier standard, il faut appliquer la disposition habituelle avec la variante personnalisée. La deuxième partie dit que pour le clavier hacking heureux, utilisez la disposition us avec la variante de base.
Vous pouvez faire correspondre les appareils en fonction d'un grand nombre de paramètres : Doc. xorg