Como posso impedir que meu controlador mova meu mouse?

Como posso impedir que meu controlador mova meu mouse?

Este é o adaptador que estou tentando fazer funcionar:Amazon - Adaptador usb Mayflash Wii U Pro ControllerEste adaptador possui dois modos, um modo de entrada xbox e um modo oculto genérico. O modo Xbox funciona bem no Ubuntu, mas suporta apenas um controlador. No modo de controlador genérico, 4 controladores são suportados. Estou tendo dificuldade em usá-lo no Ubuntu neste modo porque ele move o mouse e os jogos não reconhecem que um controlador está conectado.

Primeiro, gostaria que ele parasse de mover o mouse. Espero que consertar esse problema me ajude a consertar o segundo. Aqui estão algumas informações para começar.

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

Não consigo desativar a propriedade de eventos do mouse porque ela não está listada.

Eu tentei remover xserver-xorg-input-joystick e tentei instalá-lo e adicionar a configuração personalizada do joystick 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

Acredito que estas sejam as linhas relevantes no 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 que isso é hidraw1?

O que mais posso tentar?

Responder1

Impedir que o joystick controle o mouse é realmente muito fácil, depois de muita pesquisa finalmente encontrei ele, nas versões atuais do ubuntu o xorg.conf não é usado, em vez disso você tem arquivos em. /usr/share/X11/xorg. conf.d/ Você tem que ir para esta pasta como root e editar '50-joystick.conf' então:

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

O arquivo deve ficar assim:

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

Depois de adicionar as duas linhas de 'Opção', salve o arquivo (Ctrl+O) e saia (Ctrl+X). Agora reinicie o linux, o joystick funciona nos jogos mas não roda mais o mouse pela tela nem o prende no canto superior esquerdo.

Responder2

Algo como:

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

deve fazer com que ele pare de agir como mouse. Você também pode querer executar

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

para ter uma ideia de por que isso está acontecendo em primeiro lugar.

Responder3

Se você ainda estiver tendo esse problema, descobri uma solução. Isso foi feito em um Raspberry Pi, mas também deve funcionar no Ubuntu (não sei como editar a linha de comando no Ubuntu, mas tenho certeza de que há uma maneira de fazer isso facilmente).

Copiado da minha postagem no reddit:https://www.reddit.com/r/RetroPie/comments/3drzqt/anyone_using_a_wii_u_pro_controller_adapter_with/

Execute lsusb -ve procure o idVendor e o idProduct do seu adaptador Mayflash (eles eram 0x0079 e 0x1800, respectivamente, para mim).

Adicione a seguinte string ao final do seu/boot/cmdline.txtarquivo:

usbhid.quirks=idVendor:idProduct:0x40

Substitua idVendor e idProduct pelos valores encontrados anteriormente. Certifique-se de incluir os prefixos “0x”.

Reinicie seu pi:

sudo reboot

Agora você deve ver js0, js1, js2 e js3 em/dev/input.

informação relacionada