Avec un fichier de conf Xorg bien fait c'est tout a fait possible, mais en dynamique je ne sais pas du tout.
Par exemple j'ai ce bout de conf dans etc/X11/xorg.conf pour mon ergodox :
Section "InputClass"
Identifier "Ergodox"
MatchIsKeyboard "True"
MatchProduct "ErgoDox ergonomic keyboard"
Driver "evdev"
Option "XkbLayout" "fr"
Option "XkbVariant" "bepo"
EndSection