# Install and Hyper basics

> Install Karabiner-Elements, import the Capslock rules in one click, check that they work, and learn tap, hold, Hyper and the sixteen control planes.

---

LLMS index: [llms.txt](/llms.txt)

---

Capslock Enhancement V3 **current** targets
macOS and [Karabiner-Elements](https://karabiner-elements.pqrs.org/). There is
nothing else to install: the configuration is a set of complex-modification
rules that Karabiner interprets, so nothing new runs in the background and
nothing is compiled on your machine.

> [!NOTE]
> This guide was verified with Karabiner-Elements 16.1.0 in August 2026, whose
> support matrix covers macOS 13 Ventura through macOS 27 on Intel and Apple
> silicon. Check the official site for the current release.

## Install {#install}



### Install Karabiner-Elements {#install-karabiner}

Download the DMG from the [official site](https://karabiner-elements.pqrs.org/)
and run `Karabiner-Elements.pkg`, or install the cask:

```bash
brew install --cask karabiner-elements
```

Open Karabiner-Elements Settings and follow its prompts in System Settings.
Allow the privileged and non-privileged background services, Accessibility,
Input Monitoring, and the Driver Extension. Under **Virtual Keyboard**, select
the layout matching your physical keyboard. The [official installation guide](https://karabiner-elements.pqrs.org/docs/getting-started/installation/)
explains what each permission is for.

### Import the rules {#import}

Open the import link below. Any browser hands it straight to
Karabiner-Elements:

<a class="caps-import-link" href="karabiner://karabiner/assets/complex_modifications/import?url=https://raw.githubusercontent.com/Vonng/Capslock/main/mac_v3/capslock.json"><i class="fa-solid fa-file-import" aria-hidden="true"></i> Import Capslock Enhancement V3.1</a>

Or paste the URL yourself:

```text
karabiner://karabiner/assets/complex_modifications/import?url=https://raw.githubusercontent.com/Vonng/Capslock/main/mac_v3/capslock.json
```

Choose **Import** and allow the browser to open Karabiner-Elements.

### Enable the rules and check them {#verify}

Under **Settings › Complex Modifications**, enable the rules you want. The ten
rules are independent, so a family you have no use for can simply stay off;
the first one, `CapsLock to Hyper`, is the one every other rule depends on.

Then tap ⇪: it should send ⎋. Hold it while
pressing H J K L: the
cursor moves. You are on plane zero.



> [!TIP]
> Two alternatives lead to the same place. The [Karabiner gallery page](https://ke-complex-modifications.pqrs.org/#caps_lock_enhancement)
> has an **Import** button of its own, and for a fully offline install you can
> drop [`capslock.json`](https://raw.githubusercontent.com/Vonng/Capslock/main/mac_v3/capslock.json)
> into `~/.config/karabiner/assets/complex_modifications/` and pick **Add predefined rule**. Karabiner-EventViewer shows what any key actually
> emits if something looks wrong.

## Ten rules {#families}

![The Capslock control plane zero](/img/karabiner/keyboard-hero.webp)
{class="caps-only-light" caption="Control plane 0: the layout you get by holding ⇪ on its own. Fifteen more planes sit behind the left-side modifiers."}

![The Capslock control plane zero](/img/karabiner/keyboard-hero-dark.webp)
{class="caps-only-dark" caption="Control plane 0: the layout you get by holding ⇪ on its own. Fifteen more planes sit behind the left-side modifiers."}

The keyboard map is colour-coded by purpose, so a key's neighbourhood tells you
roughly what it does before you look anything up. The configuration ships as
ten Karabiner rules, one per family, and you enable them one by one.

| Family | Colour | What it does | Mappings |
| :--- | :--- | :--- | :--- |
| [Basic](#hyper) | Blue | Tap ⇪ for ⎋, hold it for ✱ Hyper, plus input-source switching | 4 |
| [Navigation](/docs/karabiner/navigation/#navigation) | Pink | Vim-style movement, selection, tab and window switching, pointer and wheel | 102 |
| [Deletion](/docs/karabiner/navigation/#deletion) | Brown | `NM,.` delete by character, word or line without moving your hand | 12 |
| [MouseKey](/docs/karabiner/navigation/#mousekey) | Keypad | The numeric keypad as a complete mouse | 63 |
| [Window](/docs/karabiner/workflows/#window-control) | Azure | Close and cycle tabs, windows, apps and desktops; sleep, lock, log out | 19 |
| [Application](/docs/karabiner/workflows/#applications) | Yellow | Launch or focus six applications across three planes | 18 |
| [Terminal](/docs/karabiner/workflows/#terminal-control) | Green | Terminal signals, IDE run controls, Vim and Tmux prefixes, Codex and Claude | 10 |
| [Clipboard](/docs/karabiner/workflows/#clipboard) | Purple | Five extra text clipboards on 6–0 | 10 |
| [Shifter](/docs/karabiner/workflows/#shifter) | Orange | Brackets, braces and code punctuation within reach of the home row | 16 |
| [Functional](/docs/karabiner/reference/#functional) | Cyan | Screenshots, media, brightness, keyboard light and volume | 28 |
{.matrix .wide caption="The ten rules in capslock.json, and how many mappings each one carries"}

> [!TIP]
> The [configurator](/docs/karabiner/configurator/) reads the same V3 JSON. It
> is the fastest way to inspect one key on any plane, or to change an
> application shortcut and export a configuration you can import straight away.

## Tap, hold, and Hyper {#hyper}

Caps Lock now has two behaviours that never collide, because one is decided on
release and the other while the key is down.

| Gesture | Output | Purpose |
| :--- | :--- | :--- |
| Tap ⇪ | ⎋ Escape | Escape without leaving the home row |
| Hold ⇪ | ✱ Hyper | Enter the base control plane |
| ✱ + ⎋ | ⇪ Caps Lock | Toggle the original Caps Lock state |
| ✱ + ␣ | ⌃ + ␣ | Switch input source |
| ✱ + ⌘ + ␣ | ⌃ + ⌘ + ␣ | Emoji and symbols picker |
{.matrix .wide caption="Everything Caps Lock used to do is still one chord away"}

✱ is not a private signal. Karabiner rewrites the held Caps Lock
into all four **right-side** modifiers at once,
⌘ + ⌥ + ⌃ + ⇧, which has two consequences worth understanding:

- **Other software still sees an ordinary chord.** Alfred, Moom, Magnet,
  Raycast and your IDE receive ⌃ + ⌥ + ⇧ + ⌘ plus a key and can
  bind it like any other shortcut.
- **Anything the rules do not claim passes straight through.**
  ✱ + A has no rule of its own precisely so that a window manager
  can own it. The same trick works for any key you want to hand to another app.

## Sixteen control planes {#control-planes}

While Hyper stays held, the four **left-side** modifiers act as four binary
switches. Read them as four bits and you get planes 0–15:

⌘ = 1 · ⌥ = 2 · ⌃ = 4 ·
⇧ = 8.

| Plane | Left modifiers | Mappings | What lives there |
| :--- | :--- | :--- | :--- |
| 0 | ✱ | 89 | The daily layer: movement, deletion, apps, terminal, symbols |
| 1 | ✱ + ⌘ | 59 | Selection, second-choice apps, clipboard copy |
| 2 | ✱ + ⌥ | 38 | Pointer movement and third-choice apps |
| 3 | ✱ + ⌘ + ⌥ | 8 | Word and paragraph selection |
| 4 | ✱ + ⌃ | 12 | Desktop and window management |
| 5 | ✱ + ⌘ + ⌃ | — | Free |
| 6 | ✱ + ⌥ + ⌃ | — | Free |
| 7 | ✱ + ⌘ + ⌥ + ⌃ | — | Free |
| 8 | ✱ + ⇧ | 25 | App, window and tab switching |
| 9 | ✱ + ⌘ + ⇧ | 21 | Accelerated wheel |
| 10 | ✱ + ⌥ + ⇧ | 21 | Accelerated pointer |
| 11 | ✱ + ⌘ + ⌥ + ⇧ | — | Free |
| 12 | ✱ + ⌃ + ⇧ | 9 | Wheel |
| 13 | ✱ + ⌘ + ⌃ + ⇧ | — | Free |
| 14 | ✱ + ⌥ + ⌃ + ⇧ | — | Free |
| 15 | ✱ + ⌘ + ⌥ + ⌃ + ⇧ | — | Free |
{.matrix .wide caption="Every plane in V3.1, how many mappings it carries, and the theme it follows"}

Nine planes are populated; seven are free space for rules of your own. Open the [configurator](/docs/karabiner/configurator/) to browse the same sixteen rows
interactively and see what each key does on the plane you select.

The planes are not arbitrary. Across the whole configuration the same modifier
keeps the same meaning, which is why the layout can be learned once rather than
memorized key by key:

| Modifier | Consistent meaning |
| :--- | :--- |
| ⌘ | Extend the action: select instead of move, copy instead of paste, the second application |
| ⌥ | Leave the text world: pointer, wheel, the third application |
| ⌃ | Talk to the window server: desktops, Mission Control, screen state |
| ⇧ | Switch containers: apps, windows, tabs; or accelerate a pointer action |

## Compatibility {#compatibility}

- The layout is drawn for **ANSI** keyboards and works the same on built-in
  Apple keyboards and external ones. ISO layouts work too, but the two keys
  that differ physically may land somewhere unexpected.
- The [MouseKey](/docs/karabiner/navigation/#mousekey) family needs a numeric
  keypad. Everything else works on a tenkeyless board.
- Older macOS releases need an archived Karabiner-Elements build, which this
  guide does not cover.

> [!WARNING]
> macOS reserves a few system-wide chords of its own. The most common clash is
> ⌘ + ⌥ + ⌃ + ⇧ + \., which can open a diagnostics dialog; see [issue #30](https://github.com/Vonng/Capslock/issues/30). Remap the system
> shortcut if it conflicts with a plane you use.

## Next {#next}

Continue with [navigation, deletion, and mouse control](/docs/karabiner/navigation/).

---

Backlinks:

- [Karabiner Edition](/docs/karabiner/)
- [Earlier versions](/docs/karabiner/archive/)
- [Mac V1](/docs/karabiner/archive/mac-v1/)
- [Mac V2](/docs/karabiner/archive/mac-v2/)
- [Configurator](/docs/karabiner/configurator/)
- [Download](/download/)
