feat(installeur): étape Boutons — le cabinet se mappe pendant l installation - #283
Merged
Merged
Conversation
…llation Patrick, 09/09/2026 : arrivé sur le frontend après installation, aucun bouton ne répondait et rien ne disait quoi faire. Son tire-bille marchait parfaitement — dès qu'il a trouvé Map Commander. Le matériel allait ; il manquait le moment de le déclarer. Le cabinet est branché PENDANT l'installation. C'est là qu'il faut appuyer sur ses boutons. L'étape réutilise le moteur de Map Commander tel quel (pincabos_vpx_input, déjà importé par l'assistant pour lister les cartes) : mêmes actions, mêmes jetons de liaison, même écriture. Pas de seconde liste qui divergerait. detect_once() est du pur stdlib — os, select, struct — donc il tourne sans rien ajouter au média. Sept actions essentielles d'abord (flips, Start, crédit, plunger, lockbar, sortie), le reste replié. Chaque ligne : « Appuyer », la liaison reconnue s'affiche, une croix pour effacer. L'étape est FACULTATIVE et le dit. Sans elle, le clavier reste, et Map Commander fera le travail plus tard — c'était le seul chemin jusqu'ici. L'écriture n'a PAS lieu depuis le chroot : ni les périphériques ni les chemins n'y sont ceux du cabinet installé. L'installateur pose le mappage et un drapeau ; pincabos-inputs-installer.service le rejoue au premier démarrage et CONSERVE le drapeau tant que l'écriture échoue. C'est la leçon du ZeDMD appliqué dans le chroot, remontée par Flo le même soir. Les cinq langues suivent. L'égérie prend la pose 09, penchée sur la bille. 752 tests. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Patrick, 09/09/2026 :
Puis, quelques heures plus tard :
Le matériel allait. Il manquait le moment de le déclarer — et il fallait deviner qu'il existait une page pour ça.
Or le cabinet est branché pendant l'installation. C'est là qu'il faut appuyer sur ses boutons.
Ce que l'étape fait
Sept actions essentielles d'abord — flips gauche et droit, Start, crédit, plunger, lockbar, sortie — le reste replié derrière « Voir toutes les actions ». Chaque ligne : un bouton Appuyer, la liaison reconnue s'affiche, une croix pour effacer.
Elle est facultative, et elle le dit. Sans elle, le clavier reste et Map Commander fera le travail plus tard — c'était le seul chemin jusqu'ici.
Rien n'est réinventé
Le moteur est celui de Map Commander,
pincabos_vpx_input, que l'assistant importait déjà pour lister les cartes de boutons. Mêmes actions, mêmes jetons de liaison, même écriture — pas de seconde liste qui divergerait avec le temps.detect_once()est du pur stdlib (os,select,struct, ioctl) : il tourne sur le média sans rien ajouter.L'écriture n'a pas lieu depuis le chroot
Ni les périphériques ni les chemins n'y sont ceux du cabinet installé. L'installateur pose le mappage et un drapeau ;
pincabos-inputs-installer.servicele rejoue au premier démarrage et conserve le drapeau tant que l'écriture échoue — le cabinet retentera plutôt que de perdre ce que l'utilisateur a saisi.C'est exactement la leçon du ZeDMD appliqué dans le chroot, que Flo a remontée le même soir.
Détails
test_egerie_sur_chaque_pageexigeait une pose distincte par page, et il a eu raison de me le rappeler.DELAI_MAX) : une attente sans fin figerait l'assistant.Tests
test_installeur_boutons.py, 18 tests : les actions viennent bien du moteur commun, l'essentiel ouvre la liste, un mappage vide reste valide (l'étape est facultative), une action inconnue est refusée, rien n'est écrit depuis le chroot, l'unité de rejeu est activée et le drapeau survit à un échec, et les cinq langues disent que l'étape peut être passée.test_installer_networka correctement échoué à l'insertion de l'étape — il épingle l'ordre des étapes de l'installateur. Mis à jour.752 tests.
Suite
Lot 2, comme convenu : les rôles sur les sorties adressables (backboard, sous-caisse, côtés, fronton) avec leurs réglages, puis le catalogue DOF complet.
🤖 Generated with Claude Code