Como posso impedir meu controlador de mover meu mouse?

4

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

Primeiro, gostaria que ele parasse de mover meu mouse. Eu estou esperando que corrigir este 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 os eventos do mouse prop porque não estão listados.

Eu tentei remover o 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

Eu acredito que estas são 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 experimentar?

    
por DavidW 04.06.2015 / 04:28

3 respostas

4

Algo ao longo das linhas de:

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

deve fazer com que 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.

    
por Grumbel 04.06.2015 / 10:22
2

Parar o joystick controlando o mouse é realmente muito fácil, depois que muita procura finalmente chegou a ele, nas versões atuais do ubuntu xorg.conf não é usado, ao invés 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"
    Option "StartKeysEnabled" "False"   # These Two Lines Disable
    Option "StartMouseEnabled" "False"  # The mouse emulation
EndSection

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

    
por Erin 10.03.2017 / 14:12
0

Se você ainda tiver 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 fazê-lo facilmente).

Copiado da minha postagem no reddit: link

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

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

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.

    
por WilliamH 29.07.2015 / 16:04