Bonjour,
Pour commencer, voici mon projet à terme : Surveiller les changements d'états de mes boutons de manette XBOX360 sous NodeJS, sur un raspberry pi 3.
J'ai bien entendu cherché des solutions clés en mains qui me permettraient de le faire, en vain.
Alors, je me dis que je pourrais peut être coder moi même une solution. Par contre j'aimerais vraiment éviter de passer par d'autres langages que Javascript sous NodeJS.
Ma stratégie, peut être irréaliste, était de surveiller les "signaux" que remonterait mon périphérique à l'OS. Mais aucune une idée de comment faire.
L'idée serait de guetter, depuis un script nodeJS des évènements en provenance de ce périphérique. Seulement , comment faire pour avoir ces évènements . Existent t-ils ?
Je vois bien que ma connaissance de Linux me limite.
Si je prends comme exemple/comparaison la bibliothèque SFML en C++, il est "assez simple" de guetter des évènements en provenance des claviers/ souris /manette. Mais je n'ai aucune idée des mécanismes entre la manette, l'OS, la bibliothèque SFML.
Comment avoir sous node JS quelque chose de "comparable"
Attention, je ne cherche pas du tout une solution générique. Si je dois installer un exécutable/ driver particulier et utiliser une bibliothèque précise pour node-JS, je n'ai aucun soucis.
Je ne cherche pas à faire un code qui fonctionne avec tout type de manette.
Simplement un code en nodeJS sous Linux pour lire une manette de 360.
Merci d'avance pour vos remarques et réponses
Edit 1 >> J'ai trouvé un code C à cette page https://opencoursehub.cs.sfu.ca/bfra...k.hLibrary.pdf
En fouillant un peu, j'ai trouvé les codes sources ici:
joystick.c = https://gist.github.com/jasonwhite/c5b2048c15993d285130
joystick.h = https://github.com/torvalds/linux/bl...nux/joystick.h
J'ai compilé ce code C avec la commande indiqué dans le fichier joystick.c. Le code se lance bien, et je vois bien que ça réagit avec ma manette.
J'ai donc fouillé ce code C. Je vois que le code va ouvrir le fichier /dev/input/js0 et guetter chaque écriture sur ce fichier.
Je n'ai pas compris comment le code s'y prenait pour voir qu'a chaque itération où il lit, qu'il y avait une nouvelle valeur ou non. Si vous arrivez à m"expliquer c'est avec plaisirs.
Dans les commentaires du code, je vois également qu'il m'est conseillé de regarder cette page, ce que je ferais demain maintenant :-) : https://www.kernel.org/doc/Documenta...ystick-api.txt
Vu le nom de cette page, je suis confiant :-) En espérant y trouver de faire un beau code JS pour communiquer avec cette API.
Partager