Je souhaite connecter deux jeux de clavier à mon ordinateur. Est-il possible de définir chacun pour une langue spécifique. Pour qu'il n'y ait pas besoin de changer de langue à chaque fois.
Par exemple:
clavier 1 types russe
clavier 2 types anglais
À l'aide des utilitaires xinput
et setxkbmap
, vous pouvez définir à partir de terminal afin que chaque clavier ait une disposition différente.
Tout d'abord, à l'aide de la commande xinput -list | grep key
, vous devez rechercher l'ID de périphérique de chaque clavier. Voici un exemple (mon cas):
$ xinput -list | grep key
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ 2.4GHz 2way RF Receiver id=10 [slave keyboard (3)]
↳ HP Webcam id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ HP WMI hotkeys id=15 [slave keyboard (3)]
↳ USB Keyboard id=16 [slave keyboard (3)]
↳ USB Keyboard id=17 [slave keyboard (3)]
Et deuxièmement, en utilisant setxkbmap -device <key_ID> -layout <layout_name>
, définissez la disposition que vous souhaitez pour chaque clavier. Un exemple (pour mes claviers):
setxkbmap -device 3 -layout ro #My master keyboard is set to Romanian layout
setxkbmap -device 10 -layout us #The keyboard with id=10 is set to English (US) layout
setxkbmap -device 16 -layout ru #The keyboard with id=16 is set to EFor Russian layout
Légèrement hors sujet, mais si vous utilisez également l'option -variant
, vous pouvez taper dvorak sur un clavier et workman ou qwerty ou toute autre disposition sur l'autre clavier.
setxkbmap -verbose -device 17 -layout us -variant dvorak
Programmation en paire sur stéroïdes!