# Escape, Ctrl and everything else the iPad keyboard is missing

The Magic Keyboard has no Escape key and no Ctrl in the right place. Here is what actually works in a terminal — including remapping, and Shift-Enter for coding agents.

*updated 2026-08-25*

Vim wants Escape. Your shell wants `Ctrl-C`. Claude Code wants `Shift-Enter` for a
newline and `Shift-Tab` to change mode. The iPad's keyboards were not designed with
any of that in mind, and the workarounds people pass around are a mix of good
advice and folklore.

Here is what actually works, and what a terminal app can do about it.

## Escape

**On a Magic Keyboard or Smart Keyboard Folio,** there is no Escape key. Three
things work:

- **`Ctrl-[`** — not a trick, this *is* Escape. ASCII 27 is what `Ctrl-[` has always
  sent. If you learn one thing here, learn this: it works in every terminal, on
  every platform, forever.
- **The `esc` chip on the accessory bar.** Tessera puts `esc` first on the bar by
  default, on both iPad and iPhone.
- **Remap a key you don't use.** iPadOS itself will remap Caps Lock system-wide, in
  **Settings → General → Keyboard → Hardware Keyboard → Modifier Keys**. Caps Lock
  to Escape is the classic vim setup.

**On a keyboard that has an Escape key,** it just works. The `fn`+square trick some
guides mention applies to a subset of third-party keyboards and is not general.

## Ctrl

The physical `Ctrl` is present on Magic Keyboards, in the bottom-left corner, and
works normally — `Ctrl-C`, `Ctrl-D`, `Ctrl-Z`, `Ctrl-R` all behave.

The complaint is usually about *reach*, not absence. Two fixes:

- **Swap Caps Lock and Ctrl** in iPadOS's Modifier Keys settings, the same place as
  the Escape remap. This is the Emacs-and-vim standard and costs nothing.
- **Use the accessory bar's `⌃` chip** when you're on the software keyboard.
  Tessera lets you choose how modifier chips behave: **one-shot** (tap once,
  applies to the next key, clears itself) or **sticky** (tap to lock, tap to
  release).

## Shift-Enter, Shift-Tab, and coding agents

This one is new, and it catches people out.

Claude Code uses `Shift-Enter` for a newline without submitting, and `Shift-Tab` to
cycle modes. Codex and other TUI agents have their own chords. Many terminal apps
send a plain carriage return for both, so the agent sees "submit" when you meant
"newline" — a genuinely maddening failure, because the app looks like it's working.

In Tessera every built-in chord can be remapped, and you can create your own
shortcut that sends an exact byte sequence. A custom shortcut has a name, the
**text it sends** — literal, spaces included — and a trigger, which can be a
recorded hardware chord, a chip on the accessory bar, or both. That is enough to
bind whatever sequence your agent expects, and to put it under your thumb as a chip
if you're on glass.

It all lives in **settings → keyboard & input → shortcuts**.

## Word and line movement

If you're used to a Mac, the editing chords you already know can work in the shell.
With **natural text editing** on:

| chord | what it does |
|---|---|
| `⌥←` / `⌥→` | move by word |
| `⌘←` / `⌘→` | line start / end |
| `⌥⌫` | delete word |
| `⌘⌫` | delete to line start |

## Working without a hardware keyboard

The accessory bar above the software keyboard carries the keys glass lacks — on
iPad the defaults are `esc ⌃ ⌥ ⇥ ← ↓ ↑ → | ~`, and on iPhone `esc ⌃ ⇥ ← → ↓ ↑ ⌥
⌃C ⌃J`. You can drag chips to reorder them and pull more from a palette: F1–F12,
symbols like `/ \ $ { } [ ] < >`, and any shortcut you've made yourself.

One chip is worth knowing about: the **⌘** chip arms Tessera's *own* shortcuts
rather than sending anything to the remote host, so app chords like the quick-switch
palette work with no hardware keyboard attached at all.

## Questions

### How do I press Escape on an iPad keyboard?

Press `Ctrl-[` — that is what Escape has always sent, and it works in any terminal.
You can also remap Caps Lock to Escape in Settings → General → Keyboard → Hardware
Keyboard → Modifier Keys, or tap the `esc` key on your terminal app's accessory bar.
Tessera includes `esc` on that bar by default.

### Where is Ctrl on the iPad Magic Keyboard?

Bottom-left, and it works normally in a terminal. If it's awkward to reach, swap it
with Caps Lock in iPadOS's Modifier Keys settings. On the software keyboard, use the
`⌃` chip on the accessory bar, which can be set to one-shot or sticky.

### How do I send Shift-Enter to Claude Code from an iPad?

You need a terminal that distinguishes it rather than sending a plain return. In
Tessera you can remap any built-in chord or create a custom shortcut that sends an
exact sequence, triggered by a hardware chord, an accessory-bar chip, or both, under
settings → keyboard & input → shortcuts.

### Can I remap keys in an iOS terminal?

In Tessera, yes — every built-in chord is remappable and you can add your own
shortcuts that type arbitrary text, optionally pressing return afterwards. iPadOS
separately handles system-level modifier remapping (Caps Lock, Ctrl, Command) for
every app at once.

### Why do arrow keys or Escape not work in vim on my iPad?

Usually the app is sending the wrong sequence, or a modifier chip is stuck. Try
`Ctrl-[` for Escape to rule out the keyboard, and check whether your accessory bar's
modifier behaviour is set to sticky — a locked `⌃` will change what every subsequent
key does until you release it.
