This is the multi-page printable view of this section. .
Get started
Install Capslock, finish the short onboarding, and learn the default layout in the app's own Playground. If you used the Karabiner-Elements configuration before, read the Karabiner page before you start.
1 - Install and first run
There is no public download yet; see Download. This page describes the signed release.
Requirements
- macOS 14 Sonoma or later, on Apple silicon or Intel.
- The Accessibility permission. Capslock never asks for Input Monitoring.
- Caps Lock not already remapped by another tool. If you use Karabiner-Elements, read Coexisting with Karabiner-Elements first.
Install
Open Capslock.dmg and drag Capslock into Applications. Then open it from
Applications or Spotlight.
Capslock runs as an ordinary app with a window, a Dock icon, and a menu-bar icon. Closing the window keeps it running in the menu bar.
Onboarding
On the first launch Capslock takes over nothing. The keyboard keeps working as before until you finish onboarding.
- Welcome to Capslock. Click Continue.
- Choose a Hyper mode. Classic, the default, also holds ⌃⌥⇧⌘ while Caps Lock is down, so Hyper shortcuts in apps such as Alfred and Raycast keep working. Native keeps Caps Lock chords inside Capslock. You can change this later; see Hyper mode.
- Before you start. The Keyboard access card shows whether Capslock may read Caps chords and send keystrokes. Click Open System Settings. macOS opens Privacy & Security › Accessibility; turn on Capslock and confirm with your password. Back in Capslock, click Start Capslock. The Conflicts card below lists anything else that uses Caps Lock. To finish without starting, click Skip for Now.
- Explore your keyboard. Click Open Keyboard. The Keyboard page shows the layout, and you can browse and edit it even while Capslock is paused.
Check that it works
Home shows Running and "Caps Lock is your Hyper key." Its status card should read:
| Row | Healthy value |
|---|---|
| Keyboard access | Granted |
| Hyper key | Caps Lock is ready |
| Conflicts | None |
| Recovery | None needed |
Then try the four gestures from First steps on Home:
- Tap Caps Lock: Escape.
- Hold Caps Lock and press H, J, K or L: the cursor moves left, down, up or right, in any app.
- Hold Caps Lock and press Space: the input source changes, if you have more than one and the ⌃Space shortcut is on.
- Hold Caps Lock and wait: the whole current plane appears on screen.
If a row is not healthy, its link opens Diagnostics, where every check has numbered steps and buttons that fix it.
Everyday controls
- Pause on Home, in Settings, or in the menu-bar menu gives Caps Lock back to macOS until you click Resume.
- Open at login is in Settings › General and is off by default.
- Hide Dock icon in the same section leaves only the menu-bar icon.
- Quitting Capslock restores Caps Lock before the app exits.
2 - Learn the layout
Nobody memorizes 357 bindings up front. Capslock teaches the layout in three ways: it shows the current plane when you pause, it can show each action as it runs, and the Playground has short lessons that follow your own mappings.
Hold-to-Reveal
Hold Caps Lock without pressing another key. After a short delay the current plane appears on screen as a full keyboard with every action written on its key. Press ⌘, ⌥, ⌃ or ⇧ to switch planes while it is open; release Caps Lock to close it.
It is on by default. In Settings › Hyper you can turn it off, change the delay (550 ms by default, 250 to 1500 ms), and choose whether it hides when an action runs or only when you release Caps Lock.
Show actions on screen
Settings › Hyper › Show actions on screen displays a small caption at the bottom of the screen each time a chord runs: the keys you pressed and the action they produced. It is off by default; the caption stays for 1.35 seconds unless you change the duration.
Playground
The Playground page has three parts, chosen under Lesson:
- Basics practises four gestures: tap Caps Lock for Escape, hold it to
reveal the plane,
⇪ Escto toggle Caps Lock, and⇪ Spaceto switch input source. - Navigate practises moving with
⇪ H,⇪ J,⇪ Kand⇪ L. - Free Play shows the last key you pressed: the plane, the action, the app in front, and whether the action ran, was previewed, was blocked, or the key passed through.
Lessons read your current mappings. If you changed or disabled a key a lesson uses, the lesson says so instead of asking for a key that no longer does what it describes.
Live and Safe Practice
The Mode switch chooses between Live, where chords really run, and Safe Practice. In Safe Practice, actions with side effects are previewed instead of run: opening apps, Shell commands, sleep, clipboard slots, and toggling Caps Lock. Keystrokes and mouse actions still run, so you can see the cursor move.
Safe Practice turns itself off when you leave the Playground, hide the window, or switch to another app.
Free Play keeps only the most recent key, only while the Playground is in front, and clears it when you leave. Nothing you type is recorded.
The Keyboard page
The Keyboard page draws your keyboard with each key's action on it. Choose a plane from the menu or with the ⌘ ⌥ ⌃ ⇧ toggles. While you hold Caps Lock, the drawing follows the plane you are actually on and shows a Live badge. Key legends follow your active keyboard layout, so Dvorak or AZERTY users see their own letters. Click a key to see or change it; see Keyboard editor.
3 - Coexisting with Karabiner-Elements
Capslock needs Caps Lock and the F18 key to itself. It never edits, disables, or uninstalls Karabiner-Elements or any other tool. When something else already uses those keys, Capslock refuses to start and tells you what to change.
What counts as a conflict
- A system key remap of Caps Lock. If another tool has remapped Caps Lock, Diagnostics shows "Caps Lock is used by another tool".
- Another use of F18. If anything remaps a key to or from F18, Diagnostics shows "F18 is already in use".
- A Karabiner-Elements rule. When Karabiner-Elements is running, Capslock reads the selected profile and looks for rules that start from Caps Lock or F18, or that produce F18. It reports only how many it found, never their names or contents.
Karabiner-Elements can keep running for everything else. Only rules on Caps Lock and F18 conflict.
Resolving a Karabiner conflict
- Open Karabiner-Elements › Complex Modifications.
- Turn off the rule that starts from Caps Lock (such as "CapsLock to Hyper"), or switch to a profile without it.
- Return to Capslock and click Try Again on Home or in Diagnostics.
Diagnostics has an Open Karabiner-Elements button for step 1. Capslock checks again every time you switch back to it, so a conflict that appears later stops Capslock and gives Caps Lock back rather than leaving two tools fighting over it.
Moving from the Karabiner configuration
The native app ships the same Capslock Classic layout, so you do not need to bring anything across to keep the bindings you know. A few things work differently:
- Tapping Caps Lock sends Escape.
⇪ Spacesends ⌃Space for switching input source. - You choose a Hyper mode. Classic, the default, still holds the right-side ⌃⌥⇧⌘ for apps that listen for Hyper.
- Clipboard slots are stored encrypted inside Capslock. Files such as
~/.clip6from the Karabiner setup are not read. - Apps are opened by bundle ID, not through
open -ain a shell. - Changes you made to your own Karabiner JSON are not imported. Recreate them in the keyboard editor.
When you are ready, turn off the Capslock rules in Karabiner-Elements as described above, then start Capslock. The Karabiner configuration itself stays documented in the Karabiner Edition if you want to go back.