在 Linux 中为多个同时输入设备分配不同的布局时遇到问题

在 Linux 中为多个同时输入设备分配不同的布局时遇到问题

我有一台 Linux 机器,我经常在带有内置触控板的标准无线 Logitech 键盘和带有内置迷你键盘的“空中鼠标”之间切换。键盘采用瑞典布局,空中鼠标采用美国布局,我不希望每次切换时都更改 X 中的全局布局。

我进行了广泛搜索并发现了几个类似的讨论,都涉及setxkbmap -device <device> -layout <layout>解决方案,但无论我如何尝试,该命令总是会改变两个设备的布局。

我认为这可能与以下事实有关:出于某种原因,这两个设备在 中都被列为“指针” xinput -list。这里,设备 9 是 Logitech 键盘,设备 11 是空中鼠标的键盘部分。

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech Unifying Device. Wireless PID:4032   id=9    [slave  pointer  (2)]
⎜   ↳ Usb Compliant device Usb Compliant device id=10   [slave  pointer  (2)]
⎜   ↳ Usb Compliant device Usb Compliant device id=11   [slave  pointer  (2)]
⎜   ↳ MCE IR Keyboard/Mouse (nuvoton-cir)       id=13   [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)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Nuvoton w836x7hg Infrared Remote Transceiver  id=12   [slave  keyboard (3)]

也许不允许设置指针设备的布局,因此我尝试默认设置主布局?我不知道。

我确实尝试使用 将我的设备重新连接到主键盘,xinput reattach 11 3但这只会给我这个错误消息:

X Error of failed request:  XI_BadDevice (invalid Device parameter)
  Major opcode of failed request:  131 (XInputExtension)
  Minor opcode of failed request:  43 ()
  Device id in failed request: 0x17
  Serial number of failed request:  18
  Current serial number in output stream:  19

此刻我已经没有任何主意了,感觉我已经用尽了所有的互联网资源,所以有人有什么想法吗?

答案1

我的 Logitech g600 鼠标也遇到了同样的问题。

我必须让 xorg 将鼠标视为[从属键盘]。下面是我解决这个问题的方法:

$ cat /etc/X11/xorg.conf.d/10-evdev.conf

Section "InputClass"
    Identifier "g600 hack"
    Driver     "evdev"

    MatchUSBID  "046d:c24a" # from lsusb
    MatchIsKeyboard "true" 

    Option "IgnoreRelativeAxes" "true"
    Option "IgnoreAbsoluteAxes" "true"

相关内容