Linux 上的单独快捷键快捷键(两个键盘,两种布局)

teh*_*ris 3 linux keyboard keyboard-layout xorg xorg.conf

我有两个键盘:一个旧的 ps/2 键盘和一个 USB 键盘。我希望 USB 键盘具有 us 布局(或者最好让 USB 键盘遵循 gnome 中选择的布局),而 ps/2 键盘具有自定义布局(快捷方式和其他内容 :D)。我尝试在运行时使用setxkbmap -device 8 -layout ru(要测试的俄语布局)在每个键盘上设置单独的布局,但这会将所有键盘上的布局设置为俄语。

\n\n
philippe@tnw:~$ xinput -list\n\xe2\x8e\xa1 Virtual core pointer                      id=2    [master pointer  (3)]\n\xe2\x8e\x9c   \xe2\x86\xb3 Virtual core XTEST pointer                id=4    [slave  pointer  (2)]\n\xe2\x8e\x9c   \xe2\x86\xb3 MOSART Semi. Wireless Keyboard & Mouse    id=9    [slave  pointer  (2)]\n\xe2\x8e\x9c   \xe2\x86\xb3 Logitech USB Receiver                     id=10   [slave  pointer  (2)]\n\xe2\x8e\x9c   \xe2\x86\xb3 Logitech USB Receiver                     id=11   [slave  pointer  (2)]\n\xe2\x8e\xa3 Virtual core keyboard                     id=3    [master keyboard (2)]\n    \xe2\x86\xb3 Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]\n    \xe2\x86\xb3 Power Button                              id=6    [slave  keyboard (3)]\n    \xe2\x86\xb3 Power Button                              id=7    [slave  keyboard (3)]\n    \xe2\x86\xb3 MOSART Semi. Wireless Keyboard & Mouse    id=8    [slave  keyboard (3)]\n    \xe2\x86\xb3 Eee PC WMI hotkeys                        id=12   [slave  keyboard (3)]\n    \xe2\x86\xb3 AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]\n
Run Code Online (Sandbox Code Playgroud)\n\n

编辑: \n找到答案的一部分:\n当您指定设备的布局时,您必须在所有硬件上包含您想要的所有布局。因此,如果我想在设备 2 上使用俄语,在设备 3 上使用美国英语,则在指定设备 2 的布局时需要使用“ru,us”,而指定设备 3 的布局时需要使用“us,ru”。就像这样

\n\n
setxkbmap -device 2 -layout ru,us\nsetxkbmap -device 3 -layout us,ru\n
Run Code Online (Sandbox Code Playgroud)\n\n

我仍然需要在启动时获取它并制作自定义布局。对此提供帮助将不胜感激。

\n

小智 5

你需要使用

xinput --create-master SecondKeyboard

创建一个单独的主键盘,然后将第二个键盘重新连接到新的主键盘:

xinput --reattach“键盘 ID”“主 ID”

您使用的 id 来自

xinput——列表

这样键盘是分开的并且可以单独处理。例如,您有两个焦点,您可以使用两个键盘同时在两个应用程序中编写,并通过在 setxkbmap 等中指定不同的主 ID 来设置不同的键映射。