# Swipe-Pad

Das Swipe-Pad ist ein schwebender Puck in Daumenreichweite für die Arbeit ohne
Hardware-Tastatur: Ein Wisch löst App-eigene Makros aus — oder, wenn ein
Coding-Agent wartet, dessen tatsächliche Optionen zur Rückfrage — und ein
Doppeltipp startet das Diktat. Auf dem iPhone ist es die zentrale Eingabe und
standardmäßig an; auf dem iPad wird es unter
**Einstellungen → experimentell → Swipe-Pad** eigens aktiviert.

## Der Puck

- **Standardecke** — wo der Puck beim Kaltstart sitzt, bis Sie ihn
  verschieben; die letzte Position wird gemerkt und neu eingepasst, wenn sich
  Ausrichtung oder Bildschirmgröße ändern.
- **Puck-Größe** — kompakt (44 pt), Standard (52 pt) oder groß (64 pt).
- **langes Drücken** nimmt den Puck auf; er bleibt, wo Sie ihn loslassen
  (immer vollständig auf dem Bildschirm).

Auf dem iPhone zeichnet sich das Radialmenü als **Eckfächer** — dieselben
Blütenblätter auf einem Viertelbogen in Daumenreichweite — und verbirgt sich
im Querformat, solange die Tastatur eingeblendet ist. Die große Puck-Größe
gibt es nur auf dem iPad.

## Gesten

Drei klar getrennte Gesten:

- **tippen, halten & ziehen** — öffnet das Radialmenü rund um den Puck. In
  einer Richtung loslassen löst das Makro aus; in der Totzone loslassen bricht
  ab.
- **Doppeltippen** — startet das [Diktat](#diktat).
- **langes Drücken** — verschiebt den Puck.

## Profile

Die Blütenblätter des Radialmenüs stammen aus **Profilen**, die mit dem
Vordergrundprozess des aktiven Bereichs abgeglichen werden (über
`pane_current_command` von tmux oder `ps`-Momentaufnahmen bei einfachem SSH).
Profile werden von oben nach unten ausgewertet; der erste Treffer gewinnt.

Eingebaute Profile:

| Profil | rechts | links | oben |
| --- | --- | --- | --- |
| **claude code** | `1↵` zustimmen | `3↵` ablehnen | `2↵` immer |
| **codex cli** | `y` | `esc` | `p` |
| **fallback** (immer an) | — | — | — |

Das fallback-Profil passt auf alles und belegt nichts — das Diktat
funktioniert trotzdem.

Eigene Profile bekommen einen Prozessabgleich (wörtlicher Text oder ein
`regex:`-Muster) und können Regeln zur **Agentenerkennung** festlegen —
Regexes für blockierende Prompts und für den Ruhe-Prompt, einen Regex für
Menüoptionen sowie Antwortvorlagen mit den Platzhaltern `{index}` /
`{shortcut}` —, die auch das [Agent-Center](https://bambouville.com/docs/de/agent-center/) speisen. Ein
Profil mit ungültigen Regeln fällt auf „Status nicht verfügbar“ zurück.

Die Beschriftungen der Blütenblätter folgen den Rollen der Agenten-Rückfrage —
rechts = zustimmen, links = ablehnen, oben = immer, unten = unten; nicht
belegte Blütenblätter bleiben verborgen.

## Live-Agentenoptionen

Ist das [Agent-Center](https://bambouville.com/docs/de/agent-center/) aktiviert und sein Status-Hook auf dem
Host installiert, rät das Pad nicht mehr: Solange ein Claude-Code- oder
Codex-Agent im fokussierten Bereich **auf Eingabe wartet**, zeigen die
Blütenblätter die *echten* Optionen der Rückfrage — Beschriftungen aus dem
Menü selbst, nach Bedeutung eingefärbt (grün zustimmen, rot ablehnen,
bernsteinfarben immer) — und der Puck pulsiert bernsteinfarben. Während der
Agent **arbeitet**, bietet das Pad ein rotes Blütenblatt zum Unterbrechen
(esc) und ein neutrales zum Moduswechsel (shift-tab).

Hat eine Rückfrage mehr Optionen, als das Pad Richtungen hat, öffnet ein
Blütenblatt **mehr** die vollständige Rückfrage im Agent-Center — und jede
Option, die Sie auf eine Richtung eingeübt haben, behält diese Richtung,
sodass eingeübte Blindwische weiter das bedeuten, was sie immer bedeutet
haben. Ohne Nachweis durch den Hook fällt das Pad auf die statischen Profile
oben zurück.

## Die Makro-Sprache

Makros werden in einer kleinen Definitionssprache geschrieben:

- wörtliche Zeichen werden unverändert gesendet,
- `↵` für Enter,
- `esc`, `\e` oder `\x1b` für Escape,
- `shift-tab` für Shift-Tab,
- `\t` (oder `tab`), `\r`, `\n`,
- `\xNN` für ein beliebiges Byte in Hex.

## Diktat

Doppeltippen Sie auf den Puck, um ins Terminal zu diktieren. Die Erkennung
läuft **auf dem Gerät** (SFSpeechRecognizer) — kein Audio verlässt das Gerät.
Sie verwendet Ihre Gerätesprache und weicht auf en-US aus, wenn die Erkennung
auf dem Gerät dafür nicht verfügbar ist; Berechtigungen für Mikrofon und
Spracherkennung sind erforderlich. Während des Diktats verwandelt sich der
Puck in eine Mikrofon-Pille mit Live-Wellenform und laufender Zeit; tippen zum
Bestätigen, ✕ zum Abbrechen.

Optionen (Einstellungen → experimentell):

- **bei Stille übernehmen** — nach 1,2 s Stille automatisch senden,
- **Zeilenumbruch anhängen** — mit Enter abschließen,
- **Live-Wellenform auf dem Puck**.
