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?
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.
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.
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.