
Einer meiner Kunden hat ein Linux-System mit folgenden Details:
Suse Linux 15
Ich habe ein KVM-over-IP-Gerät von Raritan (DKX4-101) angeschlossen, das ein USB-Gerät mit Tastatur + Maus im absoluten Mausmodus einführt.
Es ist wichtig, dass dasabsoluter Mausmoduswird verwendet.
Ich kann das System über den KVM steuern, aber die Maus verhält sich, als wäre sie inRelativer Mausmodus. Ich bin 100% sicher, dass der KVM absolute Mauskoordinaten sendet. Ich habe eineBeschreibungdass es in Linux einen Legacy-Maustreiber (mousedev) gibt, der Legacy-Anwendungen dazu bringt, eine Schnittstelle im PS2-Stil über /dev/input/mice zu verwenden und der auch Mäuse mit absoluten Mauskoordinaten in relative Koordinaten übersetzen kann. Ich vermute also, dass die absolute Maus des KVM nicht direkt von der Anwendung verwendet wird, sondern über die Legacy-Mausdev-Schnittstelle „gepiped/übersetzt“ wird, die PS2-basiert ist und den absoluten Mausmodus nicht unterstützt.
Was ich jetzt erreichen möchte, ist, dass ich auf diesem System die lokale Maus mit dem Mousedev verwenden kann und der KVM einen „normalen“ Treiber verwendet, der den absoluten Mausmodus unterstützt. Ich möchte den Mousedev-Ansatz beibehalten, da mein Kunde mir sagt, dass ich (wenn möglich) nichts am System ändern sollte. Wenn ich etwas ändere, sollte es nur etwas für den KVM einführen und NICHTS ändern, z. B. in Bezug auf verwendete Treiber für vorhandene Geräte.
Meine Fragen sind also:
- Ist das überhaupt möglich?
- Könnte dies durch eine Änderung in xorg.conf erreicht werden?
Vielen Dank im Voraus für Ihre Hilfe. Ich füge unten alle relevanten Konfigurationsdateien/Protokolle an, die ich finden konnte.
J.
Hier sind die Udev-Mausregeln:
# serial ps/2 mouse
KERNELS=="input*", SUBSYSTEMS=="input", ATTRS(name)=="PS/2 Logitech Mouse", ATTRS(phys)=="isa0060/serio1/input0", SYMLINK+="input/pmouse0", MODE="0660", RUN="/usr/bin/killall -10 X"
# usb mouse
KERNELS=="mouse*", SUBSYSTEM=="input", ATTRS(name)=="USB*Mouse*", MODE="0660", SYMLINK="input/pmouse0", RUN="/usr/bin/killall -10 X"
Und hier die allgemeineren evdev udev Regeln
Section "InputClass"
Identifier "evdev pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Section "InputClass"
Identifier "evdev tablet catchall"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "evdev"
EndSection
Und hier die allgemeineren libinput udev Regeln
Section "InputClass"
Identifier "libinput pointer catchall"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
Section "InputClass"
Identifier "libinput tablet catchall"
MatchIsTablet "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
EndSection
In der xorg.conf habe ich Folgendes gefunden
...
Section "ServerLayout"
Identifier "NVidia"
Screen "Screen0"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "ServerFlags"
Option "AutoAddDevices" "false"
Option "AutoEnableDevices" "true"
Option "AllowEmptyInput" "false"
EndSection
...
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "explorerps/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "no"
EndSection
Wenn ich xinput list ausführe, wird die Maus vom KVM-Gerät nicht angezeigt
Virtual core pointer
Virtual core XTEST pointer
Mouse0
Virtual core keygoard
Virtual core XTEST keyboard
Keyboard0
Wenn ich lsusb ausführe, sehe ich die beiden lokalen Geräte (Tastatur+Maus) + den KVM:
lsusb
...
BUS 001 Device 012: ID 03f0:034a HP, Inc Elite Keyboard
BUS 001 Device 010: ID 03f0:134a HP, Inc Optical Mouse
Bus 002 Device 014: ID 14dd:1010 Raritan Computer, Inc. KX4-101
...
In der boot.msg sehe ich, wie das Gerät registriert ist
input: Raritan KX4-101 as /devices/pci0000:00/0000:00:14,0/usb1/1-6/6:1.0/0003:1400:1010.0001/input/input1
hid-generic: 0003:1400:1010.0001: input.hidraw0: USB HID v1.01 Keyboard [Raritan KX4-101] on usb-0000:00:14.0-6/input0
input: Raritan KX4-101 as /devices/pci0000:00/0000:00:14,0/usb1/1-6/6:1.0/0003:1400:1010.0002/input/input2
hid-generic: 0003:1400:1010.0002: input.hidraw1: USB HID v1.01 Mouse [Raritan KX4-101] on usb-0000:00:14.0-6/input1
Im xorg.log habe ich folgendes gefunden:
(II) config/udev: Adding input device Raritan KX4-101 (/dev/input/mouse0)
(II) AutoAddDevices is off - not adding device.
(II) config/udev: Adding input device Raritan KX4-101 (/dev/input/event1)
(II) AutoAddDevices is off - not adding device.
...
(II) LoadModule: "mouse"
(II) Loading /usr/lib64/xorg/modules/input/mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
compiled for 1.20.3, module version = 1.9.2
Module class: X.Org XInput Driver
ABI class: X.Org XInput driver, version 24.1
...
(II)Using input driver 'mouse' for 'Mouse1'
(**) Option "CorePointer"
(**) Mouse1: always reports core events
(**) Option "Protocol" "PS/2"
(**) Option "Device" "/dev/input/
Im /dev/input finde ich viele Ereignisse und am Ende
... input 13 ... mice
... input 13 ... mouse0
... input 13 ... mouse1
... input 13 ... mouse2
... input 13 ... mouse3
... input 13 ... mouse4
... root ... pmouse0 -> mouse3