Skip to content

0.4.0 — la manette réelle

Choose a tag to compare

@NiceMank NiceMank released this 20 Oct 10:21

La lecture d'une vraie manette devient le chemin principal

Jusqu'ici PadLab savait parler aux manettes mais ne le faisait pas : la session démarrait en simulation et y restait. Le nom s'affichait, les entrées étaient inventées. Corrigé.

Sur le téléphone

  • Au démarrage, PadLab cherche une manette. Si elle est là, ses entrées sont lues (boutons, sticks, gâchettes), sans manipulation.
  • Brancher une manette à chaud bascule l'application en réel toute seule ; la débrancher ramène à la démonstration avec le motif affiché.
  • Retour au premier plan : la détection est relancée.
  • Réglages → trois modes : Auto, Manette, Démo.
  • Badge franc sur l'accueil : Réel (vert), Démo ou Aucun.

Ce qui n'est plus inventé

  • Les « dernières sessions » étaient codées en dur (DualSense hier 19:07, Xbox Series…). Remplacées par un vrai journal : durée, date et score des lectures réelles.
  • L'historique de batterie était fabriqué même en réel. En réel, seules les lectures natives comptent ; sans lecture, l'écran affiche « non exposée ».
  • Score de santé affiché « — » tant que les sticks n'ont pas bougé.
  • Plus de manette 3D fictive quand rien n'est branché : un panneau explique quoi faire.

Bugs corrigés en chemin

  • Le paramètre simulate du constructeur masquait le champ du même nom : le passage en réel ne prenait pas.
  • Le canal natif se fermait avec la capture, donc une manette rebranchée n'était plus jamais détectée.
  • Permission VIBRATE absente : la vibration échouait en silence.
  • File d'événements natifs non vidée sans auditeur : rafale périmée au branchement.
  • Test de rendu qui échouait sur une machine neuve (dossier de sortie absent).

Tests

24 tests dans pad_core, 4 dans pad_ui, 4 dans pad_bridge, 16 dans apps/mobile, 13 dans pclink. La CI les exécute tous, plus l'analyse statique.

Limites, dites franchement

  • Batterie : API Android 12+ ; en dessous, la valeur n'est pas exposée.
  • Remapping système Android impossible sans root (inchangé) ; le remap PC passe par la manette Xbox virtuelle.
  • iOS hors périmètre de cette version.
  • La lecture sur manette physique n'a pas pu être testée dans l'environnement de développement : le chemin complet est couvert par des tests à pont simulé, et le plugin natif est compilé par la CI.

Téléchargements

  • PadLab-0.4.0.apk — Android (arm64, armv7, x86_64), signé debug.
  • PadLab-Link-0.4.0-windows-x64.zip — Windows (ViGEmBus requis).
  • PadLab-Link-0.4.0-linux-x64.tar.gz — Linux (uinput requis).