J'essaie de jouer à snes9x-gtk avec deux joueurs utilisant PS3 Dualshock. Mon problème est la configuration d'entrée pour le lecteur 2. Il n'enregistrera pas mes pressions sur les boutons pour js1. js0 fonctionne bien. Jtest pour le calibrage du joystick indique que les deux contrôleurs fonctionnent.
1) Mon joypad était-il réellement entendu par le système d'exploitation?
Dans le terminal:
cat /dev/input/js0
montre une sortie funky, et répond à mon bouton enfoncé. Le premier dualshock branché se faisait entendre. Maintenant:
cat /dev/input/js1
montre la même chose et répond également aux pressions sur les boutons. (Maintenez un bouton enfoncé et observez le motif affiché à l'écran dans le terminal ...)
2) Maintenant, démarrez le programme snes9x-gtk, allez dans les options puis dans les préférences, est-ce que cliquer sur le champ de texte pour les boutons snes fonctionne?
Pour le joypad 1, le programme répond à l’entrée du contrôleur pour js0 et lie l’entrée correcte au bon bouton snes.
Pour le joypad 2 (liste déroulante et sélectionnez 2), il n’ya pas de réponse pour la plupart. C’est là que j’ai eu de la chance, j’ai cliqué de manière aléatoire sur le champ de texte du bouton snes "right", puis j’ai appuyé sur l’entrée d-pad droite sur js1, qui a été enregistré comme "Joystick 2 Button 5", j’ai basculé sur le joypad 1 et trouvé le "Joystick 1 Bouton 5 ". Donc, cela a fonctionné et était le bon bouton! Problème cependant, aucun autre bouton de contrôleur n'a été entendu. Donc je
gedit ~/.snes9x/snes9x.xml
et trouvé sous joypad 0, tous les numéros de liaisons pour js0.
Sous joypad 1 (qui est js1, mais joypad 2 dans le programme.) (Les langages de programmation commencent les listes à 0 pas 1), j'ai trouvé:
<binding name="Right" binding="570425349"/>
les autres boutons avaient des liaisons de 0, ils n'étaient donc pas définis. Je me suis retourné sur le joypad 0 et j’ai trouvé que la reliure équivalente pour js0 était
<binding name="Right" binding="553648133"/>
donc, cela n'aide pas immédiatement à vous assurer que vous avez toutes les liaisons pour js0. Depuis l'entrée du joypad 1 dans les préférences, toutes les pressions sur les boutons ont été entendues, ainsi que toutes les liaisons. En utilisant un peu de logique et de calcul, j'ai regardé la reliure de gauche sous le joypad 0 et obtenu:
<binding name="Left" binding="553648135"/>
donc l'entrée de liaison gauche était 2 de plus que la liaison de droite. Donc, sous joypad 1 (js1)
ceci: <binding name="Left" binding="0"/>
est devenu ceci: <binding name="Left" binding="570425351"/>
et j’ai sauvegardé le fichier XML, et rouvert snes9x-gtk, voilà sous le joypad 2, il a montré pour le bouton à gauche "Joystick 2 Button 7", lequel 7 est 2 plus que le bouton 5! J'ai pu éditer le reste des boutons dont j'avais besoin sous js1. Si tout va bien je l'ai expliqué assez, ne sachant pas si les reliures sont universelles pour tous les dualshocks.
3) Les jeux ont-ils finalement fonctionné? Oui, j'ai testé Super Mario World pour 2 joueurs, et Luigi a répondu au second Dualshock que j'avais branché.