Accessory Bar
The quick-action strip above the embedded keyboard with every button explained.
What it is
The accessory bar is the row of pill-shaped buttons that sits directly above the embedded keyboard. It is always horizontal, scrolls left and right when you have a narrow screen, and stays in sync with the modifier state on the keyboard itself. The bar exists because shells need keys that smartphones do not put on a normal layout — Esc, Tab, modifier toggles, arrow keys, and a small set of symbols you reach for constantly.
You see the bar on every connected session. It is part of the embedded keyboard view, so it follows the keyboard's theme and the iOS ultraThinMaterial glass background.
Button reference
The buttons appear in a fixed left-to-right order. Modifier toggles are sticky — tap once to arm, tap again to disarm. The next regular key combines with whatever is armed.
| Button | Type | What it sends |
|---|---|---|
| Ctrl | Modifier | Arms the Control modifier for the next key. Highlights green while armed. |
| Alt | Modifier | Arms the Option/Alt modifier. Sends as Meta when Option as Meta is on. |
| Shift | Modifier | Arms Shift for the next key. Useful for sending Ctrl+Shift+C and similar combos. |
| Esc | Key | Sends the Escape character. Equivalent to pressing Esc on a hardware keyboard. |
| Tab | Key | Sends Tab. With Shift armed, sends Shift+Tab. |
| **` | `** | Symbol |
/ | Symbol | Inserts a forward slash — common in paths and find. |
~ | Symbol | Inserts a tilde — handy for ~/dotfiles and similar. |
- | Symbol | Inserts a hyphen — handy for flags like -l, -rf. |
| Up | Arrow | Sends the up-arrow key. Hold to repeat. |
| Down | Arrow | Sends down-arrow. |
| Left | Arrow | Sends left-arrow. |
| Right | Arrow | Sends right-arrow. |
The arrow keys interact correctly with the remote terminal's application cursor mode. Programs like vim and htop see the same encoding they would see from a desktop keyboard.
Modifier behavior
Each modifier toggle is exclusive to itself — tapping Ctrl does not turn off Alt. You can arm any combination. The modifiers stay armed until either:
- you tap a non-modifier key (the modifier consumes itself for that one keystroke), or
- you tap the modifier again to disarm it explicitly.
Holding a modifier toggle does not change behavior. The bar uses tap-to-arm only.
A green tint identifies armed modifiers; gray means inactive. The same color scheme appears on the keyboard's modifier row.
Sending Ctrl+C (and similar)
- Tap Ctrl — it turns green.
- Tap C on the embedded keyboard.
vmuxPhone sends the Ctrl+C byte sequence and the modifier disarms. The same pattern works for Ctrl+D (logout), Ctrl+Z (suspend), Ctrl+L (clear), and any other Ctrl combination your shell uses.
Sending Alt-keycodes
Alt is treated as Meta when Option as Meta is on (default). With Alt armed, tapping a letter sends an ESC-prefixed byte sequence — the convention vim, bash, zsh, and emacs use for Meta combinations. Turn the option off if a remote program expects Alt to behave as the AltGr "special-character" key.
Reaching Shift+Tab and similar
- Tap Shift to arm it.
- Tap Tab.
vmuxPhone sends ESC[Z, the standard reverse-tab encoding. This is how you walk backwards through completion lists.
Why these specific buttons
The bar shipped with this set after watching how people type into a phone shell. The full reasoning, in short:
- Ctrl, Alt, Shift — every shell needs them and the system keyboard does not have them.
- Esc —
vimusers would otherwise be unable to leave insert mode comfortably. - Tab — completion is the single biggest productivity win on a phone keyboard.
|,/,~,-— the four symbols people reach for the most that are buried under the symbol layer of iOS.- Arrows — needed for shell history, command-line editing,
htop, andmanpaging.
There is no plan to add more buttons to the bar. Long-tail symbols are reachable through the embedded keyboard's symbol layer (the 123 key on the alphabet layer) and through the bottom row of the function keyboard (visible when Fn is armed).
Theme integration
The bar's background uses iOS ultraThinMaterial so it never clashes with the terminal theme. The button labels follow the system color — they remain legible on every theme.
When you enable camera passthrough, the entire keyboard (including the bar) drops its background, so the camera shows through. The buttons remain interactive and stay in their original positions.
Related
- Keyboard and input — the embedded keyboard, voice, and gestures.
- Settings reference — the Option-as-Meta toggle and other input options.