Bonjour à tous
J'ai 2 8Bitdo NES30PRO et je détaille toutes les manips faites pour qu'EmulationStation les voit. ...désolé pour la procédure trop détaillée : déformation professionnelle
Mise à jour du firmware des NES30PRO de 1.62 à 1.63 hciconfig hci0 up (pour démarrer le dongle s'il est branché après démarrage de Recalbox) Je démarre les manettes en appuyant sur le bouton Power (il faut garder un peu appuyé). Je scan les appareils Bluetooth et note les MAC des manettes : hcitool scan Scanning ... 64:03:06:0E:7F:06 8Bitdo NES30 Pro 64:03:D6:AE:7F:06 8Bitdo NES30 Pro Je les appaire à la main : hidd --connect 64:03:D6:AE:7F:06 hidd --connect 64:03:06:0E:7F:06 Je vérifie qu'elles soient bien connectées : hcitool con Connections: > ACL 64:03:06:0E:7F:06 handle 63 state 1 lm SLAVE > ACL 64:036:AE:7F:06 handle 70 state 1 lm SLAVE Les 2 manettes sont alors visibles là : /dev/input/js0 /dev/input/js1 Je lance le test de fonctionnement avec jstest : jstest /dev/input/js0 Driver version is 2.1.0. Joystick (Bluetooth Wireless Controller ) has 8 axes (X, Y, Z, Rz, Gas, Brake, Hat0X, Hat0Y) and 22 buttons (BtnX, BtnY, BtnZ, BtnTL, BtnTR, BtnTL2, BtnTR2, BtnSelect, BtnStart, BtnMode, BtnThumbL, BtnThumbR, ?, ?, ?, ?, (null), LeftBtn, RightBtn, MiddleBtn, SideBtn, ExtraBtn). jstest /dev/input/js1 Driver version is 2.1.0. Joystick (Bluetooth Wireless Controller ) has 8 axes (X, Y, Z, Rz, Gas, Brake, Hat0X, Hat0Y) and 22 buttons (BtnX, BtnY, BtnZ, BtnTL, BtnTR, BtnTL2, BtnTR2, BtnSelect, BtnStart, BtnMode, BtnThumbL, BtnThumbR, ?, ?, ?, ?, (null), LeftBtn, RightBtn, MiddleBtn, SideBtn, ExtraBtn). Puis je liste les informations d'une manette : udevadm info --query=all -n input/js0 P: /devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/bluetooth/hci0/hci0:72/0005:3820:0009.0002/input/input1/js0 N: input/js0 E: DEVNAME=/dev/input/js0 E: DEVPATH=/devices/platform/bcm2708_usb/usb1/1-1/1-1.5/1-1.5:1.0/bluetooth/hci0/hci0:72/0005:3820:0009.0002/input/input1/js0 E: ID_INPUT=1 E: ID_INPUT_KEY=1 E: ID_INPUT_KEYBOARD=1 E: ID_INPUT_MOUSE=1 E: MAJOR=13 E: MINOR=0 E: SUBSYSTEM=input E: USEC_INITIALIZED=5084472496 Pour que la manette soient vue comme un joystick, il manque la ligne "E: ID_INPUT_JOYSTICK=1". On crée donc une règle udev pour la rajouter à la volée (les MAC doivent être en minuscules): nano /etc/udev/rules.d/99-8bitdo.rules SUBSYSTEM=="input", ATTRS{uniq}=="64:03:d6:ae:7f:06", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" SUBSYSTEM=="input", ATTRS{uniq}=="64:03:06:0e:7f:06", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1" Je reboot pour la prise en compte de la règle : reboot Je reconnecte les manette à la main : hidd --connect 64:03:D6:AE:7F:06 hidd --connect 64:03:06:0E:7F:06 Les manettes sont maintenant détectées dans le menu 'Controllers Settings' d'EmulationStation
Custom es_input.cfg <?xml version="1.0"?> <inputList> <inputConfig type="keyboard" deviceName="Keyboard" deviceGUID="-1"> <input name="a" type="key" id="115" value="1" /> <input name="b" type="key" id="97" value="1" /> <input name="down" type="key" id="1073741905" value="1" /> <input name="left" type="key" id="1073741904" value="1" /> <input name="pagedown" type="key" id="1073741902" value="1" /> <input name="pageup" type="key" id="1073741899" value="1" /> <input name="right" type="key" id="1073741903" value="1" /> <input name="select" type="key" id="32" value="1" /> <input name="start" type="key" id="13" value="1" /> <input name="up" type="key" id="1073741906" value="1" /> </inputConfig> <inputConfig type="joystick" deviceName="Bluetooth Wireless Controller " deviceGUID="05000000203800000900000000010$ <input name="a" type="button" id="0" value="1" /> <input name="b" type="button" id="1" value="1" /> <input name="down" type="hat" id="0" value="4" /> <input name="hotkey" type="button" id="10" value="1" /> <input name="joystick1left" type="axis" id="0" value="-1" /> <input name="joystick1up" type="axis" id="1" value="-1" /> <input name="joystick2left" type="axis" id="2" value="-1" /> <input name="joystick2up" type="axis" id="3" value="-1" /> <input name="l2" type="button" id="8" value="1" /> <input name="l3" type="button" id="13" value="1" /> <input name="left" type="hat" id="0" value="8" /> <input name="pagedown" type="button" id="7" value="1" /> <input name="pageup" type="button" id="6" value="1" /> <input name="r2" type="button" id="9" value="1" /> <input name="r3" type="button" id="14" value="1" /> <input name="right" type="hat" id="0" value="2" /> <input name="select" type="button" id="10" value="1" /> <input name="start" type="button" id="11" value="1" /> <input name="up" type="hat" id="0" value="1" /> <input name="x" type="button" id="3" value="1" /> <input name="y" type="button" id="4" value="1" /> </inputConfig> </inputList> Juste avec ça les manettes fonctionnent correctement dans EmulationStation par contre seulement la croix de direction dans les émulateurs. De plus je dois reconnecter à la main les manettes à chaque reboot... Merci pour cette superbe distribution Retro-gaming 