Page 1 sur 1

Créer un joystick (sous /dev/input) dans Retropie

Posté : sam. 20 janv. 2018 12:02
par JoeCool
Salut à tous,

Je voudrais créer un joystick sous Retropie et ainsi, obtenir une entrée dans /dev/input. J'ai vu beaucoup de chose et notamment Adafruit mais lorsque je l'installe, je n'ai pas d'entrée dans /dev/input.

Comment puis-je débugger cela ? le binaire retrogame tourne sur ma machine. C'est frustrant car j'ai l'impression que Adafruit est le graal !!

Sinon, quelle(s) autre(s) librairie(s) utiliseriez-vous pour créer ce joystick ?

Si j'utilise mk_arcade_joystick, présent et installé avec retropie_setup.sh, j'obtiens bien une entrée js0 mais si je la teste, j'ai des commandes parasites qui apparaissent.

Merci de votre aide.

Re: Créer un joystick (sous /dev/input) dans Retropie

Posté : sam. 20 janv. 2018 12:59
par dyox
Bonjour,

Peut-être que ce lien vous aidera-t-il ?
https://projetsdiy.fr/librairie-python- ... teur-jeux/

Re: Créer un joystick (sous /dev/input) dans Retropie

Posté : sam. 20 janv. 2018 14:00
par destroyedlolo
Salut,

Si c'est un Joystick USB, il faut avoir le driver qui va bien dans le kernel ou au pire modifier des regles d'uDev pour qu'il soit reconnu comme un joystick générique.
Après seulement il apparaitra dans /dev/input

A+

Re: Créer un joystick (sous /dev/input) dans Retropie

Posté : ven. 26 janv. 2018 13:20
par JoeCool
Merci à vous. Je regarde le lien... Ce qui est curieux dans mon cas, c'est que la distrib Adafruit (binaire retrogame donc) semble fonctionner facilement sur tous les Raspberry de la Terre, sauf le mien.

Plus sérieusement, j'aimerais savoir si un joystick apparaît lorsqu'on utilise Adafruit-retrogame. J'aurais tendance à dire que oui car si j'installe ce binaire, que je le lance et que je démarre Retropie, le système me dit "NO GAMEPADS DETECTED".

J'ai cru voir que Adafruit-retrogame ne fonctionnait qu'avec un clavier USB branché mais je ne suis pas sûr ce cette info...

Merci encore.

Re: Créer un joystick (sous /dev/input) dans Retropie

Posté : ven. 26 janv. 2018 15:16
par destroyedlolo
Salut,

Au risque de me répété, en USB, "un joystick" n'existe pas : chaque model a un identifiant différent qui doit etre reconnu en temps que joystick pour que ca marche.

Re: Créer un joystick (sous /dev/input) dans Retropie

Posté : ven. 26 janv. 2018 16:11
par JoeCool
@dyox: le lien contient vraiment des choses très intéressante. Merci. Je vais faire des tests.

@destroyedlolo: je n'ai pas l'impression que tu te répètes. Encore une fois, je ne "comprends" pas vraiment cette histoire d'entrée jsX dans /dev/input.
Ce qui est sûr, c'est que si je branche un joystick en USB, j'obtiens une entrée jsX dans /dev/input. Si je la teste avec jstest, je vois bien les commandes passer.

Lorsque je lance retrogame, le matching des touches est reconnu, le binaire tourne bien mais aucun périph jsX n'apparaît sous /dev/input. Dans ce cas, je suis connecté directement sur le GPIO donc pas d'USB. Je ne sais pas si mes boutons sont correctement reconnus et si une entrée (dans /dev/input) doit réellement exister avec Adafruit-retrogame. Retropie me dit bien de toute façon qu'aucun gamepad n'est reconnu avec Adafruit-retrogame...

Je suis désolé si j'"insite" mais tout n'est pas très clair et je fais tellement de teste depuis plusieurs jours que ce n'est pas simple de s'y retrouver.
Merci de ton aide.

Re: Créer un joystick (sous /dev/input) dans Retropie

Posté : ven. 26 janv. 2018 17:14
par destroyedlolo
Ha, d'accord, c'est sans doute moi qui n'avais pas compris.

En résumé :
  • un joystick USB est bien détecté et apparait bien dans /dev/input
  • ce n'est pas le cas de ceux d'Adafruit, c'est ca ?
Malheuresuement, je n'utilise pas donc je ne peux pas t'aider plus. Je pense cependant qu'il faut que tu ailles voir sur leur site car s'ils crée des /dev/input, tu dois forcément installé un driver.

Re: Créer un joystick (sous /dev/input) dans Retropie

Posté : dim. 28 janv. 2018 16:33
par JoeCool
destroyedlolo a écrit :En résumé :
  • un joystick USB est bien détecté et apparait bien dans /dev/input
  • ce n'est pas le cas de ceux d'Adafruit, c'est ca ?
Oui, c'est bien cela. Je viens d'avoir confirmation de la part du support de Adafruit. Leur logiciel ne "fait" que du mapping matériel vers clavier virtuel.
Donc, le soft crée une entrée dans /dev/input mais pas une entrée jsX, juste une entrée eventX.

Pour tester, il faut, par exemple, aller en invite de commande et regarder ce qui se passe lorsque l'on appuie sur l'un des boutons.
Si on voit une lettre ou un caractère (correspondant au mapping associé), c'est que cela marche bien, le nouveau clavier virtuel est bien créé.

Ensuite, la matériel installé sera vu dans Retropie comme un "clavier" et c'est donc normal que l'interface de Retropie annonce "NO GAMEPADS DETECTED", car c'est bien cela: il n'y a pas de gamepad, au sens gamepad...

En souhaitant que cela aide d'autres personnes à y voir plus clair.

Je vous tiens au courant de mes prochains tests dans ce sens.
Merci à tous.