Ich habe einen KVM-Schalter von meinem Arbeitgeber (Aten CS782DP), der, soweit ich das beurteilen kann, einwandfrei funktioniert. Es scheint jedoch ein Problem mit meinem Eingabegerät (Thinkpad USB Compact Keyboard mit TrackPoint) unter Ubuntu 16.04 und 16.10 zu verursachen. Ich kann nicht mehr mit der mittleren Maustaste klicken und auch nicht mehr vertikal scrollen (horizontal funktioniert einwandfrei).
So xinput
sieht die Ausgabe insbesondere aus, wenn die Tastatur direkt angeschlossen ist:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=14 [slave pointer (2)]
⎜ ↳ Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=10 [slave pointer (2)]
⎜ ↳ ATEN KVM V1.1.104 id=17 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad 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)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated Camera id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)]
↳ Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=9 [slave keyboard (3)]
↳ ATEN KVM V1.1.104 id=16 [slave keyboard (3)]
So sieht die xinput
Ausgabe aus, wenn sie über die KVM angeschlossen wird:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=14 [slave pointer (2)]
⎜ ↳ Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=9 [slave pointer (2)]
⎜ ↳ Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=16 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad 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)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated Camera id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=15 [slave keyboard (3)]
↳ Lenovo ThinkPad Compact USB Keyboard with TrackPoint id=10 [slave keyboard (3)]
Soweit ich sehen kann, sieht dies auch gut aus, abgesehen von der seltsamen Vervielfältigung des Zeigegeräts (IDs 9 und 16). Ich gehe davon aus, dass dies damit zu tun hat, dass die KVM ein bisschen wie ein USB-Hub ist, und ignoriere diese Duplizierung vorerst.
Ich habe versucht, xinput test
für beide Geräte zu laufen , und festgestellt, dass das erste Gerät Bewegungen und Links- und Rechtsklicks akzeptiert (Maustaste 1 und 3), während das zweite Gerät nur horizontal scrollt (Taste 6 und 7). Weder akzeptiert die mittlere Taste (Taste 2) noch das vertikale Scrollen (Tasten 4 und 5).
Die Ausgabe von xinput list-props
sieht für beide Geräte identisch aus:
Device 'Lenovo ThinkPad Compact USB Keyboard with TrackPoint':
Device Enabled (152): 1
Coordinate Transformation Matrix (154): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (284): 0
Device Accel Constant Deceleration (285): 1.000000
Device Accel Adaptive Deceleration (286): 1.000000
Device Accel Velocity Scaling (287): 10.000000
Device Product ID (272): 6127, 24647
Device Node (273): "/dev/input/event17"
Evdev Axis Inversion (288): 0, 0
Evdev Axes Swap (290): 0
Axis Labels (291): "Rel X" (162), "Rel Y" (163), "Rel Horiz Wheel" (282), "Rel Vert Wheel" (283)
Button Labels (292): "Button Left" (155), "Button Middle" (156), "Button Right" (157), "Button Wheel Up" (158), "Button Wheel Down" (159), "Button Horiz Wheel Left" (160), "Button Horiz Wheel Right" (161), "Button Side" (280), "Button Extra" (281), "Button Unknown" (275), "Button Unknown" (275), "Button Unknown" (275), "Button Unknown" (275)
Evdev Scrolling Distance (293): 1, 1, 1
Evdev Middle Button Emulation (294): 1
Evdev Middle Button Timeout (295): 50
Evdev Third Button Emulation (296): 0
Evdev Third Button Emulation Timeout (297): 1000
Evdev Third Button Emulation Button (298): 3
Evdev Third Button Emulation Threshold (299): 20
Evdev Wheel Emulation (300): 1
Evdev Wheel Emulation Axes (301): 6, 7, 4, 5
Evdev Wheel Emulation Inertia (302): 10
Evdev Wheel Emulation Timeout (303): 200
Evdev Wheel Emulation Button (304): 2
Evdev Drag Lock Buttons (305): 0
Die Standard-TrackPoint-Konfiguration in Ubuntu ( /usr/share/X11/xorg.conf.d/11-evdev-trackpoint.conf
) sieht folgendermaßen aus:
Section "InputClass"
Identifier "trackpoint catchall"
MatchIsPointer "true"
MatchProduct "TrackPoint|DualPoint Stick"
MatchDevicePath "/dev/input/event*"
Option "Emulate3Buttons" "true"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "2"
Option "XAxisMapping" "6 7"
Option "YAxisMapping" "4 5"
EndSection
Nach dieser Regel sollten beide Geräte die gleiche Konfiguration erhalten, dh Bewegung, alle drei Tasten und auch beide Arten des Bildlaufs. Dies ist jedoch nicht der Fall, wie oben dargestellt. Eine direkt angeschlossene Tastatur funktioniert einwandfrei.
Was fehlt mir also, was muss ich tun, damit meine externe Tastatur über diesen KVM-Schalter ordnungsgemäß funktioniert?
quelle
Antworten:
Ob Sie es glauben oder nicht, ich habe dieses Problem gelöst. Die Lösung ist weder für die Aten KVM- noch für die Thinkpad Compact-Tastatur spezifisch und kann im allgemeinen "Meine Tastatur funktioniert mit einem KVM-Switch nicht ordnungsgemäß" hilfreich sein.
Die Idee ist also folgende: Der Kerneltreiber versucht, das bestimmte Gerät (z. B. eine Tastatur) zu initialisieren. Ein KVM-Switch bietet jedoch normalerweise praktische Verknüpfungen zum Umschalten und für andere Funktionen. Bei Aten gibt es eine Verknüpfung zum Doppelklicken auf das Scrollrad. Der Switch selbst muss USB-Befehle filtern, damit dies funktioniert. Dies hängt offensichtlich mit der Fähigkeit des Kernels zusammen, bestimmte Konfigurationsbits auf dem Gerät zu setzen. In meinem Fall konnte die Bildlauffunktion nicht konfiguriert werden.
Die Lösung ist einfach: Deaktivieren Sie den Konfliktmodus. Für den Aten heißt es "Mausemulationsmodus". Nachdem dies deaktiviert war, funktionierte alles ordnungsgemäß.
quelle