# 滑動板

滑動板是一個拇指可及的懸浮圓鈕，讓你在沒有硬體鍵盤時也能工作：輕掃它即可觸發
各程式專屬的巨集 —— 或者，當編碼智慧體正在等待時，觸發它實際的提示選項 ——
點兩下則開始聽寫。在 iPhone 上它是核心輸入方式，預設開啟；在 iPad 上則需自行
啟用，位於 **設定 → 實驗性功能 → 滑動手勢板**。

## 圓鈕

- **預設角落** —— 圓鈕在冷啟動時所在的位置，直到你移動它為止；圓鈕會記住最後的
  位置，並在方向或螢幕尺寸改變時重新約束回畫面內。
- **圓鈕大小** —— 緊湊（44 pt）、標準（52 pt）或大（64 pt）。
- **長按** 可以拿起圓鈕；放開後它就留在你放下的位置（會保持完全在畫面內）。

在 iPhone 上，放射狀選單會以 **角落扇形** 的形式繪製 —— 相同的花瓣排列在拇指
可及的四分之一弧上 —— 並在橫向且鍵盤開啟時隱藏。大尺寸圓鈕僅限 iPad。

## 手勢

三種明確的手勢：

- **輕點、按住並拖移** —— 在圓鈕周圍開啟環形選單。朝某個方向放開即可觸發該
  巨集；在中心死區放開則取消。
- **輕點兩下** —— 開始[聽寫](#聽寫)。
- **長按** —— 移動圓鈕。

## 設定檔

環形選單的花瓣來自 **設定檔**，它們會與作用中窗格的前景行程比對（透過 tmux 的
`pane_current_command`，或在純 ssh 下用 `ps` 快照）。設定檔自上而下逐條判斷；
以首個相符項為準。

內建設定檔：

| 設定檔 | 右 | 左 | 上 |
| --- | --- | --- | --- |
| **claude code** | `1↵` 批准 | `3↵` 拒絕 | `2↵` 一律 |
| **codex cli** | `y` | `esc` | `p` |
| **fallback**（始終開啟） | — | — | — |

**fallback** 設定檔會符合所有情況且不綁定任何項目 —— 聽寫依然可用。

自訂設定檔會有一個行程比對器（原文文字或 `regex:` 模式），並且可以宣告
**智慧體辨識** 規則 —— 阻塞／閒置提示符的正規表達式、一條選單項目的正規表達式，
以及帶有 `{index}` / `{shortcut}` 佔位符的回應範本 —— 這些同時也會供給
[智慧體中心](https://bambouville.com/docs/zh-hant/agent-center/)。規則無效的設定檔會降級為「狀態無法使用」。

花瓣標籤依循智慧體提示的角色 —— 右 = 批准、左 = 拒絕、上 = 一律、下 = 下；
未綁定的花瓣會隱藏。

## 即時智慧體選項

當[智慧體中心](https://bambouville.com/docs/zh-hant/agent-center/)已啟用，且其狀態掛鉤已安裝在主機上時，滑動板
就不再靠猜：當 Claude Code 或 Codex 智慧體在聚焦窗格中 **等待輸入** 時，花瓣會
呈現提示的*真實*選項 —— 標籤直接取自選單本身，並依含意著色（綠色批准、紅色拒絕、
琥珀色一律）—— 圓鈕則以琥珀色脈動。當智慧體正在 **工作中** 時，滑動板會提供
一片紅色的中斷花瓣（esc）和一片中性的切換模式花瓣（shift-tab）。

當一個提示的選項多於滑動板的方向數時，一個 **更多** 花瓣會在智慧體中心開啟完整的
提示 —— 而你已經練熟到某個方向的選項會保持在該方向，因此練就的盲滑始終保持它們
一貫的含意。若沒有掛鉤的佐證，滑動板會回退到上述的靜態設定檔。

## 巨集語言

巨集以一套簡短的定義撰寫：

- 字面字元會原樣傳送，
- `↵` 表示 Enter，
- `esc`、`\e` 或 `\x1b` 表示 Escape，
- `shift-tab` 表示 Shift-Tab，
- `\t`（或 `tab`）、`\r`、`\n`，
- `\xNN` 表示以十六進位指定的任意位元組。

## 聽寫

點兩下圓鈕即可對終端機聽寫。辨識在 **裝置端** 進行（SFSpeechRecognizer）——
音訊不會離開裝置。它會使用你的裝置語言，當裝置端辨識不支援該語言時回退到
en-US，並且需要麥克風和語音辨識權限。聽寫期間，
圓鈕會變成一個帶即時波形和計時器的麥克風膠囊；輕點以提交，
✕ 則取消。

選項（設定 → 實驗性功能）：

- **靜默後提交** —— 靜默 1.2 秒後自動傳送，
- **附加換行** —— 以 Enter 結尾，
- **圓鈕上的即時波形**。
