Skip to content

Make Caps Lock great again.

Tap it for Escape. Hold it for Hyper. Add ⌘ ⌥ ⌃ ⇧ to reach sixteen control planes for the cursor, editing, windows, apps and the mouse, without leaving the home row.

Native macOS app · macOS 14 or later · Apple silicon and Intel · 0.4.0 release candidate

The Capslock base plane: H J K L are arrows, U I O P page and line keys, N M , . delete, E R T open Safari, iTerm and VS Code, 6 to 0 paste clipboard slots.
The base plane while Caps Lock is held. Fifteen more sit behind ⌘ ⌥ ⌃ ⇧.

One key, three jobs

The key under your little finger, put to work

⇪

Tap for Escape

Tap Caps Lock on its own and it sends Escape, for leaving insert mode or closing dialogs.

Tap for Escape

⇪ H J K L

Hold for Hyper

Hold it and the keys under your hands become actions. H J K L move the cursor in every app.

Hold for Hyper

⇪ ⌘ ⌥ ⌃ ⇧

Add modifiers for planes

Add Command to select, Option to move the mouse, Control for Spaces. Sixteen planes in all.

Add modifiers for planes

What you get

A complete layout, an editor, and a way back

The whole Classic layout, built in

◇ Nothing to configure before it works

  • Cursor and selection on H J K L U I O P, deletion on N M , .
  • The mouse from letters, arrows or the keypad, and five extra clipboards
  • Tabs, apps, windows and Spaces on the left hand; brightness and media on the function row

The layout that ran on Karabiner-Elements for years, now built into a native app.

Hold ⇪, then…
H J K L   ← ↓ ↑ →
U I O P   Page Up · Home · End · Page Down
N M , .   delete word · char · next char · next word
⌘ H / L   select left / right
⌥ H J K L move the mouse
6 7 8 9 0 paste clipboard slot
✓ 357 bindings across 16 planes

Change any key in a native editor

◇ No JSON, no restart

  • Click a key to rebind, disable, restore, or see its YAML
  • Give a key a different action in one app with app rules
  • Every change applies as one transaction, with Undo, Export and Import

Shell commands run only after you approve them, and imported ones arrive switched off.

action_mappings.yml
# in Terminal, ⇪ N sends ⌃W instead
bindings:
- when:
  - type: frontmost_app
    include: [com.apple.Terminal]
  action:
    kind: key_combo
    target_key: 87     # W
    with_ctrl: true

Learn it while you use it

◇ Nobody memorizes 357 bindings up front

  • Hold Caps Lock and wait: the current plane appears on screen
  • Short Playground lessons follow your own mappings
  • Safe Practice previews apps, commands and sleep instead of running them

Free Play shows the last key and what it did. Nothing you type is recorded.

Always gives the keyboard back

◇ It changes only the key mapping it owns

  • Pause and Quit restore Caps Lock and leave other tools' remaps alone
  • A helper inside the app restores it after a crash
  • Refuses to start while Karabiner-Elements or another tool uses Caps Lock

Diagnostics explains every failed check and fixes most of them with one button.

Terminal
# quit Capslock first
$ /Applications/Capslock.app/Contents/MacOS/Capslock \
    --restore-original-caps-lock
✓ pre-session key mapping restored

In numbers

Small footprint, large layout

16Control planesCaps Lock with any of ⌘ ⌥ ⌃ ⇧
357Default bindingsThe complete Classic layout
1PermissionAccessibility
0Drivers or daemonsNothing runs as root

Questions

Before you install

Do I need Karabiner-Elements?

No. Capslock builds the layout in. Karabiner-Elements can keep running for other keys, as long as none of its rules uses Caps Lock or F18.

Does it record what I type?

No. Keys are handled in memory on your Mac. Capslock has no analytics and sends nothing anywhere; the Statistics page keeps only counts.

Can I still type capitals?

Yes. Hold Caps Lock and press Escape to turn real Caps Lock on or off.

Is there a free version?

The same layout is free and open source as a Karabiner-Elements configuration. See the Karabiner Edition, which you can import in one click.

When can I download it?

Capslock 0.4.0 is a release candidate. A signed, notarized download will appear on the Download page once it passes final acceptance.

Start with the layout you will use every day.Read how Capslock installs, then keep the layout open while you learn it.