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

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

我有两个键盘:一个旧的 ps/2 键盘和一个 usb 键盘。我希望 usb 键盘采用美国布局(或者最好让 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 上使用美国英语,那么我需要在为设备 2 指定布局时使用“ru,us”,为设备 3 指定 us,ru。像这样

setxkbmap -device 2 -layout ru,us
setxkbmap -device 3 -layout us,ru

我仍然需要在启动时获取它并进行自定义布局。如果能提供帮助我将不胜感激。

答案1

你需要使用

xinput --create-master SecondKeyboard

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

xinput --reattach "键盘 ID" "主 ID"

您使用来自

xinput--列表

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

相关内容