Probleme beim Zuweisen unterschiedlicher Layouts zu mehreren gleichzeitigen Eingabegeräten in Linux

413
Nervous Nerve

Ich habe eine Linux-Maschine, auf der ich häufig zwischen einer standardmäßigen, kabellosen Logitech-Tastatur mit eingebautem Trackpad und einer "Luftmaus" mit eingebauter Minitastatur umschalte. Die Tastatur hat ein schwedisches Layout und die Luftmaus hat ein US-Layout, und ich würde es vorziehen, das globale Layout in X nicht jedes Mal ändern zu müssen, wenn ich umschalte.

Ich habe ausgiebig gesucht und mehrere ähnliche Diskussionen gefunden, die alle setxkbmap -device <device> -layout <layout>eine Lösung darstellen, aber egal wie ich es versuche, der Befehl ändert immer das Layout beider Geräte.

Ich denke, das könnte etwas damit zu tun haben, dass beide Geräte aus irgendeinem Grund als 'Zeiger' in aufgeführt sind xinput -list. Hier ist das Gerät 9 die Logitech-Tastatur und das Gerät 11 ist der Tastaturteil der Luftmaus.

⎡ 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)] 

Möglicherweise ist das Festlegen des Layouts eines Zeigegeräts nicht zulässig, und meine Versuche, dies standardmäßig zu tun, setzen stattdessen das Master-Layout. Ich weiß es nicht.

Ich habe stattdessen versucht, meine Geräte wieder auf der Master-Tastatur anzuschließen xinput reattach 11 3, aber dies gibt mir nur diese Fehlermeldung:

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 

An diesem Punkt habe ich keine Ideen mehr und habe das Gefühl, alle Internet-Ressourcen erschöpft zu haben, also irgendwelche Ideen?

0

1 Antwort auf die Frage

0
Govelius

Ich hatte das gleiche Problem mit meiner Logitech g600-Maus.

Ich musste Xorg die Maus als [Slave-Tastatur] ansehen . So habe ich es gelöst:

$ 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"