Pour m’amuser un peu avec l’IA, j’ai fait une petite application qui permet d’activer le mode filaire d’une manette de PlayStation 3, que ce soit la SIXAXIS originale ou la DualSHock 3.
C’est un post un peu particulier, parce que je ne suis pas développeur, même si j’ai des bases (qui ont plus de 20 ans). En fait, j’essaye de temps en temps de voir si les IA peuvent m’aider pour des trucs, mais je trouve ça assez médiocre en temps normal quand on ne paye pas. Je parlerais probablement un jour des projets que j’ai commencé avec l’aide de ChatGPT ou Claude, mais en l’état ils ne sont pas très intéressant… ni très fonctionnels. Je me suis retrouvés avec des erreurs idiotes, des hallucinations sur certains bugs et surtout des résultats qui ne correspondaient pas réellement à ce que je demandais. J’ai un a priori plutôt négatif sur les IA (mais ce n’est pas le sujet), ce qui ne m’empêche pas de les utiliser pour des tâches précises (pas pour écrire, sauf le 1er avril). Dans le cas de la programmation, je suis mauvais, donc de toute façon le résultat ne sera probablement pas pire que ce que je pourrais faire, surtout quand c’est pour un usage purement personnel.
Ici, j’ai fait un truc vraiment basique, et qui fonctionne. Le projet en lui-même est tout de même utile pour moi : j’ai de temps en temps besoin d’une manette HID pour les vieux émulateurs, et j’aime bien le format des manettes de PlayStation 3. Le problème, j’en avais parlé il y a (très) longtemps, c’est que Sony a fait un choix bizarre. La DualShock 3 (et la SIXAXIS) fonctionne en Bluetooth nativement, mais pas en USB. Si vous mettez un câble Mini USB, la manette est vue par macOS, mais elle ne réagit pas. Il y a bientôt 20 ans, un Japonais avait documenté le code nécessaire pour activer la manette, c’est juste quelques commandes à envoyer en HID.
Pendant longtemps, j’ai utilisé un truc basique en ligne de commande compilé manuellement pour activer la manette, et la DualShock 3 est même reconnue nativement par les systèmes récents une fois activée. Un lecteur m’avait fait un petit logiciel de test pour les manettes, qui intègre le code d’activation, d’ailleurs. Ici, j’ai juste demandé à Claude un programme en Swift qui affiche un gros bouton, détecte la manette et l’active à la demande. Et ça fonctionne.
Il faut une manette de PlayStation 3 (DualShock 3 ou SIXAXIS) et un câble Mini USB. On trouve des versions avec de l’USB-C d’un côté si vous en avez besoin. Le programme active la manette (la DualShock 3 va vibrer, pas l’autre…) et ça fonctionne. Je ne vais pas mettre le code en ligne pour plusieurs raisons. La première, c’est que le code de base n’est pas de moi, donc je ne peux pas réellement le partager. La seconde, c’est que je n’ai pas de compte développeur, donc l’app n’est pas signée. Et la troisième, c’est que quelqu’un a fait un truc nettement mieux que le mien. DS3Activator se place dans la barre de menus, active automatiquement les manettes et peut être lancé silencieusement au démarrage.
Dernier point, ça fonctionne avec la DualShock 3 ou la SIXAXIS, elles ont le même identifiant USB. Attention quand même, quand on débranche la DualShock 3, elle va vibre de façon périodique tant qu’elle n’est pas éteinte : il faut presser le bouton PlayStation une dizaine de secondes. Et si vous vous demandez pourquoi je branche une manette Bluetooth en USB, il y a une bonne raison : les manettes de PlayStation 3 ont généralement entre quinze et vingt ans et les batteries ne tiennent plus vraiment la charge (et elles étaient déjà assez limitées au départ). Le choix de Microsoft de mettre des piles était donc meilleur dans un sens… mais avec le défaut que les manettes de Xbox 360 sans fil ne fonctionnent pas en filaire.








Bonjour,
Je ne trouve pas de lien pour télécharger le binaire de DS3Activator sur son GitHub.