У меня есть две клавиатуры: старая PS /2 и USB. Я хочу, чтобы клавиатура usb имела раскладку us (или желательно, чтобы клавиатура usb следовала раскладке, выбранной в gnome), а клавиатура ps /2 имела собственную раскладку (ярлыки и другие вещи: D). Я пытался установить отдельные раскладки на каждой клавиатуре во время выполнения, используя setxkbmap -device 8 -layout ru
(русская раскладка для тестирования), но это устанавливает раскладку на всех клавиатурах на русскую.
philippe@tnw:~$ xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ MOSART Semi. Wireless Keyboard & Mouse id=9 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=10 [slave pointer (2)]
⎜ ↳ Logitech USB Receiver id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ MOSART Semi. Wireless Keyboard & Mouse id=8 [slave keyboard (3)]
↳ Eee PC WMI hotkeys id=12 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
Редактировать: нашел часть ответа: когда вы указываете макет для устройства, вы должны включить все макеты, которые вы хотите, на все оборудование. Так что если я хочу русский на устройстве 2 и американский английский на 3, тогда мне нужно использовать «ru, us» при указании макета для устройства 2 и нас, ru для устройства 3. Как это
setxkbmap -device 2 -layout ru,us
setxkbmap -device 3 -layout us,ru
Мне все еще нужно получить это при запуске и сделать собственный макет. Помощь с этим будет высоко ценится.