
Uno de mis clientes tiene un sistema Linux con los siguientes detalles:
Suse Linux 15
Conecté un dispositivo KVM sobre IP de Raritan (DKX4-101) que introduce un dispositivo USB con teclado + mouse en modo de mouse absoluto.
Es esencial que elmodo absoluto del ratónse utiliza.
Puedo dirigir el sistema a través del KVM, pero el mouse se comporta como si estuviera enmodo relativo del ratón. Estoy 100% seguro de que el KVM envía coordenadas absolutas del mouse. Encontre undescripciónque existe un controlador de mouse heredado en Linux (mousedev) que hace que la aplicación heredada use una interfaz estilo ps2 a través de /dev/input/mice y que también puede traducir ratones usando coordenadas absolutas del mouse a coordenadas relativas. Entonces, supongo que la aplicación no usa directamente el mouse absoluto del KVM, sino que se "canaliza/traduce" a través de la interfaz mousedev heredada que está basada en ps2 y no admite el modo de mouse absoluto.
Lo que estoy tratando de lograr ahora es que en este sistema pueda usar el mouse local con mousedev y el KVM use un controlador "normal" que admita el modo absoluto de mouse. Quiero mantener el enfoque mousedev ya que mi cliente me dice que no debería cambiar nada (si es posible) en el sistema. Si cambio algo, debería simplemente introducir algo para el KVM y no debería cambiar NADA, por ejemplo, con respecto a los controladores usados para dispositivos existentes.
Entonces supongo que mis preguntas son:
- ¿Es esto siquiera posible?
- ¿Un cambio en xorg.conf podría lograr esto?
Gracias de antemano por tu ayuda. Adjunto todos los archivos de configuración/registros relevantes que pude encontrar a continuación.
J.
Aquí están las reglas del mouse de udev:
# 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"
Y aquí las reglas más genéricas de evdev udev.
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
Y aquí las reglas más genéricas de libinput udev.
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
En xorg.conf encontré esto
...
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
Cuando ejecuto xinput list, el mouse del dispositivo KVM no aparece
Virtual core pointer
Virtual core XTEST pointer
Mouse0
Virtual core keygoard
Virtual core XTEST keyboard
Keyboard0
Cuando ejecuto lsusb veo los dos dispositivos locales (teclado+mouse) + el 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
...
En el boot.msg veo como se registra el dispositivo
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
En xorg.log encontré lo siguiente:
(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/
En el /dev/input encuentro muchos eventos y al final
... input 13 ... mice
... input 13 ... mouse0
... input 13 ... mouse1
... input 13 ... mouse2
... input 13 ... mouse3
... input 13 ... mouse4
... root ... pmouse0 -> mouse3