Pavé de gestes
Le pavé de gestes est une pastille flottante à portée du pouce, pour travailler sans clavier physique : faites-la glisser pour déclencher des macros propres à l'app — ou, quand un agent de code attend, ses véritables options d'invite — et touchez deux fois pour dicter. Sur iPhone, c'est une saisie de base, active par défaut ; sur iPad, elle est optionnelle, sous réglages → expérimental → pavé de gestes.
La pastille
- coin par défaut — l'endroit où la pastille se pose au démarrage à froid, jusqu'à ce que vous la déplaciez ; la dernière position est retenue, et recadrée quand l'orientation ou la taille de l'écran change.
- taille de la pastille — compact (44 pt), standard (52 pt) ou grand (64 pt).
- appui long saisit la pastille ; elle reste là où vous la relâchez (en restant entièrement à l'écran).
Sur iPhone, le menu radial se dessine en éventail d'angle — les mêmes pétales sur un quart d'arc, à portée du pouce — et disparaît en paysage tant que le clavier est affiché. La grande taille est réservée à l'iPad.
Gestes
Trois gestes distincts :
- toucher, maintenir et faire glisser — ouvre le menu radial autour de la pastille. Relâchez dans une direction pour déclencher cette macro ; relâchez dans la zone morte pour annuler.
- double touche — démarre la dictée.
- appui long — déplace la pastille.
Profils
Les pétales du menu radial viennent de profils comparés au processus au
premier plan du volet actif (via pane_current_command de tmux, ou des
instantanés ps en ssh simple). Les profils sont évalués de haut en bas ; la
première correspondance l'emporte.
Profils intégrés :
| profil | droite | gauche | haut |
|---|---|---|---|
| claude code | 1↵ approuver |
3↵ refuser |
2↵ toujours |
| codex cli | y |
esc |
p |
| fallback (toujours actif) | — | — | — |
Le profil fallback correspond à tout et n'assigne rien — la dictée fonctionne quand même.
Les profils personnalisés reçoivent un comparateur de processus (texte littéral
ou motif regex:) et peuvent déclarer des règles de détection des agents —
regex des invites bloquantes et de l'invite au repos, une regex des options de
menu, et des modèles de réponse avec les emplacements {index} /
{shortcut} — qui alimentent aussi le centre d'agents. Un
profil dont les règles sont invalides retombe sur « état indisponible ».
Les libellés des pétales suivent les rôles des invites d'agent — droite = approuver, gauche = refuser, haut = toujours, bas = bas ; les pétales non assignés sont masqués.
Options d'agent en direct
Avec le centre d'agents activé et son hook d'état installé sur l'hôte, le pavé cesse de deviner : tant qu'un agent Claude Code ou Codex est en attente d'une saisie dans le volet actif, les pétales affichent les vraies options de l'invite — les libellés viennent du menu lui-même, teintés selon leur sens (vert approuver, rouge refuser, ambre toujours) — et la pastille pulse en ambre. Tant que l'agent est en cours, le pavé propose un pétale rouge d'interruption (esc) et un pétale neutre de changement de mode (shift-tab).
Quand une invite compte plus d'options que le pavé n'a de directions, un pétale plus ouvre l'invite complète dans le centre d'agents — et toute option que vous avez habituée à une direction conserve cette direction, si bien que les balayages appris à l'aveugle gardent le sens qu'ils ont toujours eu. Sans preuve du hook, le pavé retombe sur les profils statiques ci-dessus.
Le langage des macros
Les macros s'écrivent dans une petite spécification :
- les caractères littéraux sont envoyés tels quels,
↵pour Entrée,esc,\eou\x1bpour Échap,shift-tabpour Maj-Tab,\t(outab),\r,\n,\xNNpour un octet arbitraire en hexadécimal.
Dictée
Touchez deux fois la pastille pour dicter dans le terminal. La reconnaissance a lieu sur l'appareil (SFSpeechRecognizer) — aucun audio ne quitte l'appareil. Elle utilise la langue de votre appareil, et retombe sur en-US quand la reconnaissance sur l'appareil n'y est pas disponible ; elle exige les autorisations micro et reconnaissance vocale. Pendant la dictée, la pastille se transforme en pilule micro avec une forme d'onde en direct et un chronomètre ; touchez pour valider, ✕ pour annuler.
Options (réglages → expérimental) :
- valider après un silence — envoi automatique après 1,2 s de silence,
- ajouter un retour — terminer par Entrée,
- forme d'onde en direct sur la pastille.