У меня есть 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 ответ1

0

У меня была такая же проблема с моей мышью 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"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .