¿Cómo puedo evitar que mi controlador mueva el mouse?

¿Cómo puedo evitar que mi controlador mueva el mouse?

Este es el adaptador que estoy intentando que funcione:Amazon - Adaptador usb Mayflash Wii U Pro ControllerEste adaptador tiene dos modos, un modo de entrada de xbox y un modo oculto genérico. El modo xbox funciona bien en Ubuntu pero solo admite un controlador. En el modo de controlador genérico se admiten 4 controladores. Tengo dificultades para usarlo en Ubuntu en este modo porque mueve el mouse y los juegos no reconocen que hay un controlador conectado.

Primero me gustaría que dejara de mover el mouse. Espero que solucionar este problema me ayude a solucionar el segundo. Aquí hay información para comenzar.

xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ HJZ Mayflash WiiU Pro Game Controller Adapter     id=8    [slave  pointer  (2)]
⎜   ↳ Logitech M310                             id=9    [slave  pointer  (2)]
⎜   ↳ Logitech K520                             id=10   [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)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ Eee PC WMI hotkeys                        id=11   [slave  keyboard (3)]

xinput list-props 8
Device 'HJZ Mayflash WiiU Pro Game Controller Adapter':
        Device Enabled (143):   1
        Coordinate Transformation Matrix (145): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (276):     0
        Device Accel Constant Deceleration (277):       1.000000
        Device Accel Adaptive Deceleration (278):       1.000000
        Device Accel Velocity Scaling (279):    10.000000
        Device Product ID (260):        121, 6144
        Device Node (261):      "/dev/input/event2"
        Evdev Axis Inversion (280):     0, 0
        Evdev Axis Calibration (281):   <no items>
        Evdev Axes Swap (282):  0
        Axis Labels (283):      "Abs X" (264), "Abs Y" (265), "Abs Z" (266), "Abs Rotary Z" (267), "Abs Hat 0 X" (268), "Abs Hat 0 Y" (269), "Abs Hat 1 X" (270), "Abs Hat 1 Y" (271), "Abs Hat 2 X" (272), "Abs Hat 2 Y" (273), "Abs Hat 3 X" (274), "Abs Hat 3 Y" (275)
        Button Labels (284):    "Button Unknown" (263), "Button Unknown" (263), "Button Unknown" (263), "Button Wheel Up" (149), "Button Wheel Down" (150), "Button Horiz Wheel Left" (151), "Button Horiz Wheel Right" (152)
        Evdev Scrolling Distance (285): 0, 0, 0
        Evdev Middle Button Emulation (286):    0
        Evdev Middle Button Timeout (287):      50
        Evdev Third Button Emulation (288):     0
        Evdev Third Button Emulation Timeout (289):     1000
        Evdev Third Button Emulation Button (290):      3
        Evdev Third Button Emulation Threshold (291):   20
        Evdev Wheel Emulation (292):    0
        Evdev Wheel Emulation Axes (293):       0, 0, 4, 5
        Evdev Wheel Emulation Inertia (294):    10
        Evdev Wheel Emulation Timeout (295):    200
        Evdev Wheel Emulation Button (296):     4
        Evdev Drag Lock Buttons (297):  0

No puedo desactivar la propiedad de eventos del mouse porque no aparece en la lista.

Intenté eliminar xserver-xorg-input-joystick e intenté instalarlo y agregar la configuración de joystick personalizada como /usr/share/X11/xorg.conf.d/50-joystick.conf

Section "InputClass"
        Identifier "joystick catchall"
        MatchIsJoystick "on"
        MatchDevicePath "/dev/input/event*"
        Driver "joystick"
        Option "StartKeysEnabled" "False"       #Disable mouse
        Option "StartMouseEnabled" "False"      #support
EndSection

Creo que estas son las líneas relevantes en dmesg:

[    1.259673] usb 1-4.2: new full-speed USB device number 4 using xhci_hcd
[    1.352076] usb 1-4.2: New USB device found, idVendor=0079, idProduct=1800
[    1.352078] usb 1-4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    1.352080] usb 1-4.2: Product: Mayflash WiiU Pro Game Controller Adapter
[    1.352081] usb 1-4.2: Manufacturer: HJZ
[    1.361980] input: HJZ Mayflash WiiU Pro Game Controller Adapter as /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.2/1-4.2:1.0/0003:0079:1800.0006/input/input5
[    1.362154] hid-generic 0003:0079:1800.0006: input,hidraw1: USB HID v1.11 Joystick [HJZ Mayflash WiiU Pro Game Controller Adapter] on usb-0000:00:14.0-4.2/input0

¿Por qué es eso hidraw1?

¿Qué más puedo probar?

Respuesta1

Detener el joystick para que no controle el mouse es realmente fácil, después de mucha búsqueda finalmente lo encontré, en las versiones actuales de ubuntu xorg.conf no se usa, en su lugar tiene archivos en. /usr/share/X11/xorg. conf.d/ Tienes que ir a esta carpeta como raíz y editar '50-joystick.conf' para que:

sudo su
cd /usr/share/X11/xorg.conf.d/
nano 50-joystick.conf

El archivo debería verse así:

Section "InputClass"
  Identifier "joystick catchall"
  MatchIsJoystick "on"
  MatchDevicePath "/dev/input/event*"
  Driver "joystick"

  # Add these two lines to disable mouse emulation:
  Option "StartKeysEnabled" "False"
  Option "StartMouseEnabled" "False"
EndSection

Una vez que haya agregado las dos líneas de 'Opción', guarde el archivo (Ctrl+O) y salga (Ctrl+X). Ahora reinicie Linux, el joystick funciona en los juegos pero ya no pasa el mouse por la pantalla ni lo atrapa en la esquina superior izquierda.

Respuesta2

Algo parecido a:

xinput set-prop 'HJZ Mayflash WiiU Pro Game Controller Adapter' "Device Enabled" 0

debería hacer que deje de actuar como mouse. Es posible que también quieras ejecutar

sudo evtest /dev/input/event2 (or wherever your controller is)

para tener una idea de por qué sucede esto en primer lugar.

Respuesta3

Si todavía tienes este problema, encontré una solución. Esto se hizo en una Raspberry Pi, pero debería funcionar también en Ubuntu (no sé cómo editar la línea de comando en Ubuntu, pero estoy seguro de que hay una manera de hacerlo fácilmente).

Copiado de mi publicación en reddit:https://www.reddit.com/r/RetroPie/comments/3drzqt/anyone_using_a_wii_u_pro_controller_adapter_with/

Ejecute lsusb -vy busque idVendor e idProduct de su adaptador Mayflash (para mí eran 0x0079 y 0x1800, respectivamente).

Agregue la siguiente cadena al final de su/boot/cmdline.txtarchivo:

usbhid.quirks=idVendor:idProduct:0x40

Reemplace idVendor e idProduct con los valores que encontró anteriormente. Asegúrese de incluir los prefijos "0x".

Reinicia tu pi:

sudo reboot

Ahora debería ver js0, js1, js2 y js3 en /dev/input.

información relacionada