# Mac V1

> Capslock Mac V1, the 2015–2017 private.xml that used Seil and the original Karabiner to turn Caps Lock into Hyper on OS X 10.10 and 10.11.

---

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

---

> [!WARNING] Archived, not maintained
> Mac V1 ran on the original Karabiner together with Seil, on OS X 10.10
> Yosemite and 10.11 El Capitan. The original Karabiner does not run on macOS
> 10.12 Sierra or later, so V1 cannot run on any current Mac. It was replaced by
> [Mac V2](/docs/karabiner/archive/mac-v2/), and the maintained edition today is
> [Mac V3](/docs/karabiner/getting-started/).

Mac V1 was the first Capslock edition for the Mac. It needed two tools. Seil
changed the key code that Caps Lock sends to 80, the code of F19. Karabiner then
read V1's `private.xml`, which turned that key into **Hyper** (`✱`) while held
and defined each group of shortcuts as a separate item to switch on in
Karabiner's preferences.

![The Mac V1 layout drawn on a full keyboard; key labels in English, colour legend in Chinese](/img/karabiner/archive/mac-v1-keyboard.webp)
{width="1068" height="483" caption="The layout diagram from the V1 README. Its colour legend is in Chinese, and some app keys in it differ from the lists on this page."}

## Caps Lock {#caps}

| Key | Result |
| :--- | :--- |
| Hold Caps Lock | Hyper (`✱`) |
| Tap Caps Lock | Escape, or ⌃Space to switch input source. These are two separate items that conflict, so turn on only one |
| `✱` Escape | Caps Lock |
| `✱` Space | Escape |

## Navigation {#navigation}

Hold Hyper to move the cursor; add the left ⌘ to select as you move.

| Key | `✱` move | `✱ ⌘` select |
| :--- | :--- | :--- |
| H | ← | ⇧← |
| J | ↓ | ⇧↓ |
| K | ↑ | ⇧↑ |
| L | → | ⇧→ |
| U | Page Up | ⇧Page Up |
| I | Home | ⇧Home |
| O | End | ⇧End |
| P | Page Down | ⇧Page Down |
{.matrix .wide}

## Deleting {#deletion}

| Key | Sends | Deletes |
| :--- | :--- | :--- |
| `✱` N | ⌥⌫ | The word before the cursor |
| `✱` M | ⌫ | The character before the cursor |
| `✱` , | ⌦ | The character after the cursor |
| `✱` . | ⌥⌦ | The word after the cursor |

## Windows and tabs {#windows}

| Key | Sends | Result |
| :--- | :--- | :--- |
| `✱` A | ⌃⌥⇧⌘A | Left free for the window manager [Moom](https://manytricks.com/moom/) |
| `✱ ⌘` A | F11 | Show the desktop |
| `✱` Q | ⌘Q | Quit the app |
| `✱` Tab | ⌘Tab | Next app |
| `✱ ⌘` Tab | ⇧⌘Tab | Previous app |
| `✱` S | ⌃Tab | Next tab |
| `✱ ⌘` S | ⌃⇧Tab | Previous tab |
| `✱` W | ⌘W | Close the tab |

## Terminal keys {#terminal}

| Key | Sends | Used for |
| :--- | :--- | :--- |
| `✱` Z | ⌃Z | Suspend the job (SIGTSTP) |
| `✱` X | ⌃B | The default [tmux](https://github.com/tmux/tmux) prefix |
| `✱` C | ⌃C | Interrupt (SIGINT) |
| `✱` D | ⌃D | End of input (EOF) |

## Apps {#apps}

The README suggested replacing these with your own favourite apps.

| Key | `✱` | `✱ ⌘` |
| :--- | :--- | :--- |
| E | Google Chrome, or Safari through a separate item | Finder |
| R | iTerm | ⌃R, Run in IDEs |
| T | Typora | MWeb |
| F | Dash | Dictionary |
| G | IntelliJ IDEA | — |
| V | Visual Studio Code | — |
{.matrix .wide}

## Function keys {#function-keys}

| Key | `✱` | Key | `✱` |
| :--- | :--- | :--- | :--- |
| F1 | Brightness down | F7 | Previous track |
| F2 | Brightness up | F8 | Play or pause |
| F3 | Mission Control | F9 | Next track |
| F4 | Launchpad | F10 | Mute |
| F5 | Keyboard backlight down | F11 | Volume down |
| F6 | Keyboard backlight up | F12 | Volume up |
{.matrix .wide}

Keys found on full-size keyboards:

| Key | `✱` |
| :--- | :--- |
| Insert, Delete | Brightness up, down, in fine steps |
| Home, End | Keyboard backlight in fine steps |
| Page Up, Page Down | Volume up, down, in fine steps |
| Scroll Lock | Mute |
| Pause | Play |

## Shifted symbols {#shifter}

| Key | `✱` types |
| :--- | :--- |
| 1 2 3 4 5 6 7 8 9 0 | ! @ # $ % ^ & * ( ) |
| - = | _ + |
| [ ] | ( ) |
| ; | _ |
| ' | = |

## Mouse {#mouse}

| Key | Result |
| :--- | :--- |
| `✱` ← ↓ ↑ → | Move the pointer |
| `✱` Return | Left click |
| `✱` \\ | Right click |

## Other keys {#misc}

| Key | Sends | Result |
| :--- | :--- | :--- |
| `✱` / | ⌘/ | Comment or uncomment, in many editors |
| `✱` \` | ⌃⇧⌘4 | Screenshot of an area, to the clipboard |
| `✱ ⌘` \` | ⇧⌘4 | Screenshot of an area, to a file |

## How it was installed {#install}

These are the steps from the V1 README, kept for the record.

1. Download and install Seil.
2. Download and install Karabiner.
3. In Seil, turn on **Change the caps lock key** and set its key code to `80`.
4. In Karabiner, open the **Misc & Uninstall** tab and click **Open
   private.xml**. Replace that file with V1's `private.xml`. The `setup` script
   in the `mac_v1` folder copies it to
   `~/Library/Application Support/Karabiner/private.xml` for you.
5. Return to the **Change Key** tab, click **Reload XML**, and enable the items
   you want.
{.steps}

![Seil's Setting tab with Change the caps lock key turned on and key code 80 entered](/img/karabiner/archive/mac-v1-seil.png)
{width="667" height="601" caption="Step 3: Caps Lock set to key code 80 in Seil."}

![Karabiner's Misc & Uninstall tab, with an arrow pointing at the Open private.xml button and the file shown in Finder](/img/karabiner/archive/mac-v1-karabiner-private-xml.webp)
{width="799" height="642" caption="Step 4: Open private.xml in Karabiner reveals the file to replace."}

## Files {#files}

All of V1 is in [`mac_v1/`](https://github.com/Vonng/Capslock/tree/main/mac_v1)
in the repository.

| File | What it is |
| :--- | :--- |
| [`private.xml`](https://github.com/Vonng/Capslock/blob/main/mac_v1/private.xml) | The V1 configuration for the original Karabiner |
| [`setup`](https://github.com/Vonng/Capslock/blob/main/mac_v1/setup) | A shell script that copies `private.xml` into Karabiner's folder |
| [`README.md`](https://github.com/Vonng/Capslock/blob/main/mac_v1/README.md) | The original V1 documentation |

## Differences from V3 {#v3}

- **Tools.** V1 needed Seil and the original Karabiner, configured in XML.
  Karabiner-Elements replaced the original Karabiner for macOS Sierra and
  later; V2 and V3 are JSON rules for it and do not need Seil.
- **Tapping Caps Lock.** V1 let you choose between Escape and switching input
  source. V3 sends Escape on a tap.

---

Backlinks:

- [Karabiner Edition](/docs/karabiner/)
- [Earlier versions](/docs/karabiner/archive/)
