Was muss ich konfigurieren, wenn ein Eingabegerät über einen KVM-Switch angeschlossen ist?

8

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 xinputsieht 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 xinputAusgabe 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 testfü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-propssieht 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?

Nikolai Prokoschenko
quelle
Ich habe einen Aten KVM-Schalter, aber ein anderes Modell. Ich hatte keine Probleme damit. Möglicherweise liegt ein Problem mit der Hardware oder einer Firmware vor, das schwer zu lösen ist. Vielleicht können Sie eine andere Tastatur ausprobieren (anderer Markenname und anderes Modell).
Sudodus

Antworten:

0

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äß.

Nikolai Prokoschenko
quelle