The phone key row
A phone keyboard is twenty-six letters and a `123` button. Everything else — a full stop, a comma, a bracket, a dollar sign — costs a trip to another layout and a trip back. Some characters aren't on it anywhere: there is no backtick on an iOS keyboard at all.
So Circuitry puts a key row above the keyboard, and it pages sideways. Swipe it left or right to change what it holds. The characters live in fixed places that don't move under your thumb, and using one never changes the layout you're typing on.
The pages
Swipe from the first towards the last:
| Page | What's on it |
|---|---|
| Keys | `esc` `tab`, the modifiers, and the arrow keys |
| Punctuation | `.` `,` `?` `!` `'` `"` `:` `;` `(` `)` `-` — what ordinary sentences are made of |
| Code symbols | backtick, `~` ` |
| Operators | `<` `>` `=` `+` `*` `&` `^` `%` `#` `@` `$` |
| Numbers | `1234567890-=` — the number row, as a real keyboard has it |
| Shift + numbers | `!@#$%^&*()_+` — the same row shifted |
| Navigation | `home` `end` `pgup` `pgdn` `del` `ins` |
| Function keys | `F1` to `F12` |
The order is how deeply the phone hides each group. Punctuation comes first because it's what most typing needs; the code symbols come next because they're a layer deeper still — behind `123` and then `#+=` — and the backtick isn't reachable at all. The digits sit behind those because a digit is only one layer down: the row saves you the layout change, not the tap.
Some characters appear on more than one page. That's deliberate. A `-` is a hyphen mid-sentence and a minus in an expression, and the two are reached by different intentions — having to remember which group owns a character would cost more than carrying it twice.
In a terminal
While a terminal is in Vim normal mode the row re-stocks itself, because most of the ordinary set is dead weight there. That set learns which keys you actually use. See Vim Mode for what it holds and how it decides.
Related
- Vim on a Phone — the lesson this row was built for
- Learn Vim — the full tutorial
- Vim Mode in Editors & Terminals
- iPad Gestures & Touch Controls