J’ai besoin d’un peu d’aide, et je sais que des développeurs viennent ici de temps en temps. Je m’explique : je teste régulièrement des manettes, et vérifier la compatibilité avec les API d’Apple (MFi), c’est toujours un peu compliqué. Il existe bien quelques outils de tests, mais ils sont incomplets, ou limités à un seul OS. Du coup, je me demandais s’il serait possible de développer quelque chose pour simplifier ça.
Je ne suis pas développeur, et mes connaissances restent assez minces dans le domaine. Je peux éventuellement modifier quelques lignes et comprendre la logique (et compiler) mais c’est tout.
Dans mon idée, un programme de test comprendrait plusieurs choses.
• La détection des manettes compatibles, sans chercher explicitement les manettes connues. C’est un problème que j’ai eu sur l’App Store, certains logiciels attendent explicitement les manettes connues et gèrent mal celles qui ne le sont pas. Certains se limitent par exemple au Bluetooth alors que la connexion filaire est possible.
• La possibilité d’identifier facilement la pression de chaque bouton. Souvent, on n’a que les boutons standards, ou uniquement ceux présents sur les manettes des consoles. Le soft de test que j’utilise encore est issu d’une vieille démo Apple, par exemple, et ne gère que quelques boutons.
• Un fonctionnement sur iOS et macOS. Actuellement, j’ai des outils qui ne passent que sur un des OS.
• En bonus, si on peut ajouter la détection des fonctions (genre les vibrations) et afficher les valeurs brutes pour les boutons à pression variable et les gyroscopes, ce serait génial. Idem, il y a des exemples chez Apple.
• En second bonus, la possibilité d’activer une manette PlayStation 3, c’est quelques lignes de code (j’ai deux exemples de logiciels).
Pour mon usage, je n’ai pas besoin d’un truc compliqué, d’une représentation de la manette, etc. Une simple fenêtre qui affiche la liste des touches pressées me suffit amplement (je vous mets une capture du soft de test).
Pour être clair sur un point : je ne cherche pas à embaucher quelqu’un, je n’ai pas de budget. Je ne vais même pas vous jouer la carte du paiement en visibilité : je peux évidemment en parler, mais je sais que l’audience n’est pas assez grande pour que ce soit vraiment intéressant. C’est juste que j’ai déjà eu de l’aide avec ce type de demande et que certains aiment aider (c’est un peu la base de ce site). Donc si quelqu’un a un peu de temps et les compétences, pourquoi pas. Et si vous avez déjà développé un programme qui fait tout ça, ça m’intéresse.
J’ai l’impression qu’il est possible de faire quelque chose qui fonctionne dans tous les navigateurs modernes avec ça :
https://developer.mozilla.org/fr/docs/Web/API/Gamepad_API/Using_the_Gamepad_API
Je suis dev web et ça peut m’intéresser de t’aider, et puis ça pourrait me servir dans des projets perso.
Si ça t’intéresse, je peux essayer de prototyper quelque chose dans le weekend
Je veux bien, merci, mais je crois que les API se basent plus sur l’USB HID (donc le standard USB).
Je pense aussi, mais ça ne coute pas grand chose d’essayer. Je reviens vers toi quand j’ai quelque chose qui fonctionne
Pour la partie API Gamepad, https://gamepad-tester.com/ doit déjà donner un bon apercu de ce qu’il est possible d’en faire
Ce n’est pas le soft que je t’avais fais en 2014 ça ? Vu le nombre de la fenêtre, ça y ressemble :)
Je t’envoie un mail :)
Si je comprend bien ceci ne convient pas :
Game Controller Tester Gamepad
https://apps.apple.com/gb/app/game-controller-tester-gamepad/id1497587957?l=fr
Quand j’avais essayé, elle avait le même souci que d’autres : elle détecte explicitement les manettes et cherche donc celles qui sont connues uniquement.
J’ai enfin pris le temps de jouer avec la gamepad api. Pour l’occasion j’ai créé un proto rapide accessible ici :
https://gamepad-tester.jbbal.fr/
Quelques précisions :
– Théoriquement ça fonctionne avec n’importe quelle manette reconnue par l’OS (je manque de matos pour vérifier ça)
– À l’heure actuelle ça fonctionne très bien sur desktop, mais pas sur iOS (même si ça devrait être faisable)
– Le nom des boutons n’est pas accessible (je reçois une simple liste numérotée)
– Je n’ai aucun moyen de savoir si la manette est compatible MFI
– Pour info, à la connexion d’une manette j’ai ajouté un log dans la console qui comprend toutes les infos brutes renvoyées par l’api
Je ne suis pas allé plus loin n’étant pas sûr que ça corresponde à ton besoin, mais n’hésites pas à me faire signe si jamais ça t’intéresse quand même.
Je regarde ça dès que possible, merci !
Ca marche, merci ! (avec des trucs bizarres, mais c’est liés aux manettes, je pense)
De rien, c’était l’opportunité pour moi de tester l’api.
Si tu le souhaites je peux essayer de pousser pour le support d’iOS.