iPad’s Hardware Escape Key

1 minute read

I build this website from my iPad Pro using the Blink shell to mosh into a Raspberry Pi. My primary tools there are vim, tmux, and jekyll. The lack of a hardware Escape key on the Smart Keyboard Folio used to be a problem. But with iPadOS, no more!

Remapping modifier keys in iPadOS

Similarly to macOS, you can now remap modifier keys on hardware keyboards in iPadOS. Find it in Settings > General > Keyboard > Hardware Keyboard > Modifier Keys.

I found that I rarely had a good use for the Globe key, so that’s what I’ve remapped to Escape. If you do this, you can still cycle through your keyboards (including emojis) by using Control+Space.

Remappings are on a per-hardware keyboard basis. I use both the Smart Keyboard Folio and also the Kinesis Advantage2. iPadOS keeps remappings separate between them.

Escape Works in More than Vim

If you’re used to using Escape in macOS, it “just works” in a lot of places in iPadOS, too. For example, if a dialog has a Cancel button then pressing Escape will dismiss it. It’s one more reason to, as an iOS/iPadOS developer, use native controls instead of building custom UI. Supporting the Escape key is unlikely to be a high priority for your product manager, so you can sneak it in by using native controls. Nobody is going to complain that they got better keyboard functionality for free!

Blink itself has a solution for the lack of an Escape key. It allows you to remap keys and I had remapped Caps Lock. It was done in software locally within Blink, so when switching to another app, TEXT ALWAYS STARTED IN ALL CAPS. I got used to it, but it wasn’t ideal.

Looking back at Blink’s settings now, there were probably better options available to me. I rarely use the right Option key, for example, but it’s also uncomfortable to hit. Remapping the Globe key works far better for me.