Quero conectar dois conjuntos de teclados ao meu computador. É possível definir cada um para um idioma específico. Para que não seja necessário alterar o idioma a cada vez.
Por exemplo:
teclado 1 tipos russo
teclado 2 tipos inglês
Usando xinput
e setxkbmap
utilitários, você pode definir no terminal para que cada teclado tenha um layout diferente.
Primeiro, usando o xinput -list | grep key
comando, você precisa encontrar o ID do dispositivo de cada teclado. Aqui está um exemplo (meu caso):
$ 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)]
E segundo, usando setxkbmap -device <key_ID> -layout <layout_name>
, defina o layout que você deseja para cada teclado. Um exemplo (para meus teclados):
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
Um pouco fora do tópico, mas se você usar adicionalmente o
-variant
opção, poderá digitar dvorak em um teclado e trabalhador ou qwerty ou qualquer outro layout no outro teclado.Programação em pares com esteróides!
fonte