У меня есть 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
На данный момент у меня нет идей, и я чувствую, что исчерпал все интернет-ресурсы, так что есть идеи, кто-нибудь?