web-dev-qa-db-fra.com

Comment puis-je empêcher mon contrôleur de déplacer ma souris?

C’est l’adaptateur que je tente de faire fonctionner: Adaptateur usb Amazon - Mayflash du contrôleur Wii U Pro Controller Cet adaptateur a deux modes, un mode d’entrée xbox et un mode caché générique. Le mode xbox fonctionne bien sur Ubuntu mais ne prend en charge qu’un seul contrôleur. En mode de contrôleur générique, 4 contrôleurs sont pris en charge. J'ai du mal à l'utiliser sous Ubuntu dans ce mode car il déplace la souris et les jeux ne reconnaissent pas qu'un contrôleur est branché.

D'abord, j'aimerais qu'il arrête de déplacer ma souris. J'espère que la résolution de ce problème m'aidera à résoudre le second. Voici quelques informations pour commencer.

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

Je ne peux pas désactiver les événements de souris prop car ils ne sont pas répertoriés.

J'ai essayé de supprimer xserver-xorg-input-joystick et j'ai essayé de l'installer et d'ajouter la configuration de joystick personnalisée en tant que /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

Je crois que ce sont les lignes pertinentes dans 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

Pourquoi est-ce que hidraw1?

Que puis-je essayer?

6
DavidW

Quelque chose dans le genre de:

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

devrait le faire cesser d'agir comme une souris. Vous pourriez aussi vouloir courir

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

pour avoir une idée de pourquoi cela se produit en premier lieu.

6
Grumbel

Arrêter la manette de jeu en contrôlant la souris est en fait très facile, après de nombreuses recherches, les versions actuelles de ubuntu xorg.conf ne sont pas utilisées. Vous avez plutôt des fichiers dans. /Usr/share/X11/xorg.conf .d/Vous devez aller dans ce dossier en tant que root et éditer '50 -joystick.conf 'ainsi:

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

Le fichier devrait ressembler à ceci:

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

Une fois que vous avez ajouté les deux lignes "Option", enregistrez le fichier (Ctrl + O) et quittez (Ctrl + X). Maintenant, relancez linux, la manette de jeu fonctionne dans les jeux, mais aucun outil n’exécute la souris autour de l’écran ou le piège dans le coin supérieur gauche.

5
Erin

Si vous rencontrez toujours ce problème, j'ai trouvé une solution. Cela a été fait sur un Raspberry Pi, mais cela devrait fonctionner également sur Ubuntu (je ne sais pas comment éditer la ligne de commande sur Ubuntu mais je suis sûr qu'il existe un moyen de le faire facilement).

Copié de mon message sur reddit: https://www.reddit.com/r/RetroPie/comments/3drzqt/anyone_using_a_wii_u_pro_controller_adapter_with/

Exécutez lsusb -v et recherchez idVendor et idProduct de votre adaptateur Mayflash (respectivement 0x0079 et 0x1800, pour moi).

Ajoutez la chaîne suivante à la fin de votre fichier /boot/cmdline.txt :

usbhid.quirks=idVendor:idProduct:0x40

Remplacez idVendor et idProduct par les valeurs trouvées précédemment. Assurez-vous d'inclure les préfixes "0x".

Redémarrez votre pi:

Sudo reboot

Vous devriez maintenant voir js0, js1, js2 et js3 dans/dev/input.

1
WilliamH