CapsLock Enhancement

Transform CapsLock into a powerful modifier Hyper that miraculously increases your work productivity! Make CapsLock Great Again!

Download & Install

Download and install the Karabiner-Elements (the latest version: 15.5.0)

Enable Configuration

Enable CapsLock Enhancement Config by Clicking This

control-plane-0

Control Plane 0 Layout (There are 15 more available!)

Highlights

  • Powerful: Transform Capslock into a great modifier: Hyper(). (such as )
  • Useful: Navigation, mousekey, clipboard, win/term ctrl, shortcuts, etc… Redefine the keyboard!
  • Speed-Up: Optimized for developers, high-frequency move stay in hot zone.
  • Extensible: Work with existing modifiers, which introduce 16 extra control planes.
  • MouseKey: Manipulate mouse cursor and wheels with keyboard
  • Cross-Platform: macOS and Windows. Light-Weight and portable

Features

  • Basic : Press Capslock emit an Escape. Hold it enabling the Hyper Modifier.
  • Navigation : Vim style navigation. Cursor move, text selection, switch desktop/window/tab, mouse move/wheel,etc…
  • Deletion : Maps BNM, to deletion operation to perform fast char/word/line deletion without hand move.
  • MouseKey : Maps keypad to fully functional mouse
  • Window : Close app/win/tab, Switch app/win/tab/desktop, integration with win-manager app such as Moom, Slate, Magnet
  • Application : Shortcuts for launching or switching frequently used applications
  • Terminal : Sending high-freq signals (Ctrl-Z, Ctrl-D, Ctrl-C) and vim/tmux prefix meta key via
  • Clipboard : Turn numkeys into 10 different text clipboards. n copy and n paste.
  • Shifter : Turn some keys into common code symbols.
  • Functional : Screenshots. Fine-grained light/volume control. Take function keys’ function back!

Install

It only takes two steps to enable Capslock on your Mac: Download & Enable

Capslock serves via on macOS

  1. Download

    Download & Install Karabiner-Elements.

    Follow the wizard and grant required permissions (Settings - Security - Privacy)

  2. Enable

    Open this link with Safari. It will launch Karabiner-Elements and load configuration.

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

    Alternative Links

    Click Enable All for Capslock Enhancement on pop-up dialog. It will affect immediately.

    You can now try moving the cursor with ⇪ + h,j,k,l, and explore more features below.

Usage

Capslock works on ANSI keyboards and similar layouts. It literally remaps every keys on the keyboard. Including 10 categories.

Control Planes are defined by combination of four extra left modifiers: .This image shows the layout of control plane 0,1,2.

CategoryColorDescription
BasicBluePress Capslock emit an Escape. Hold it enabling the Hyper Modifier.
NavigationPinkVim style navigation. Cursor move, text selection, switch desktop/window/tab, mouse move/wheel,etc…
DeletionBrownMaps BNM, to deletion operation to perform fast char/word/line deletion without hand move.
MouseKeyKeypadMaps keypad to fully functional mouse
WindowAzureClose app/win/tab, Switch app/win/tab/desktop, intergration with win-manager app such as Moom,Slate,Magnet
ApplicationYellowShortcuts for launching or switching frequently used applications
TerminalGreenSending high-freq signals (Ctrl-Z, Ctrl-D, Ctrl-C) and vim/tmux prefix meta key via
ClipboardPurpleTurn numkeys into 10 different text clipboard. n copy and n paste.
ShifterOrangeTurn some keys into common code symbols.
FunctionalCyanScreenshtots. Fine-grained light/volume control. Take function keys’ function back!

Basic

KeyMapsToComment
Press EscapeClick Capslock to emit Escape
Hold HyperHold Capslock to enable Hyper modifier.
CapslockPress to switch Capslock status
Switch input source, + to emoji

Note that is implemented as the combination of ALL RIGHT MODIFIERS: .

Hold Hyper to enable hyper functionalities. We will assume and omit that in subsequent document.

Navigation

  • H, J, K, L, U, I, O, P are used as Navigators. Maps to by default. (pink area).
  • 9 control planes has already been allocated for navigators.
  • Hold additional Command for selection. (like holding shift in normal), additional Option for word/para selection.
  • Hold additional Shift for app/win/tab switching. Hold additional Control for desktop management.
  • Hold the additional Option for 🖱️ mouse move. Add shift to ⏫ accelerate. (U, I, O, P maps to mouse buttons).
  • turns navigator to 🖲️ mouse wheel, and is the ⏫ accelerated version . HJKL for wheel, while UIOP for reversed wheel move.
FeatureMoveSelectWordSelWindowDesktop🖱️🖱️⏫🖲️🖲️⏫
Key\Mod
HLeftword leftword leftprev tabprev desk⬅️⬅️⏫⬅️⬅️⏫
JDownline down3 line downnext appfocus⬇️⬇️⏫⬇️⬇️⏫
KUpline up3 line upprev appexpose all⬆️⬆️⏫⬆️⬆️⏫
LRightword rightword rightnext tabnext desk➡️➡️⏫➡️➡️⏫
UPgUpprev pageprev pagezoom-fullscreen🖱️L🖱️L➡️➡️⏫
IHomeline headend2headprev winhide🖱️R🖱️R⬆️⬆️⏫
OEndline endhead2endnext winhide all🖱️B🖱️B⬇️⬇️⏫
PPgDnnext pagenext pagezoom+Launchpad🖱️F🖱️F⬅️⬅️⏫

Arrow Navigation

  • Arrows → to 🖱️ mouse actions too. Hold Option to ⏬ slow down, hold Command to ⏫ speed up.
  • Hold Shift turns to 🖲️ wheel move. Extra Option to ⏬ slow down, extra Command to ⏫ speed up.
  • Return maps to left-click. And additional turns into right click, middle-click, backward, forward.
Feature🖱️🖱️⏬🖱️⏫🖲️🖲️⏬🖲️⏫
Key\Mod
speed = 1600speed ÷ 2speed × 2speed = 32speed ÷ 2speed × 2
🖱️L🖱️M🖱️R🖱️L🖱️B🖱️F

Deletion

N M , . are used as Deletor keys. Right below the navigators for fast access (brown area).

Key\Mod
Ndel a word aheaddel till line headdel the whole line
Mdel a char aheaddel a word aheadmove line below
,del a char afterdel a word aftermove line above
.del a word afterdel till line enddel the whole line
del filepurge file

MouseKey

  • Turn Keypad into a fully functional 🖱️ mouse.
  • Numbers maps to 8 direction 🖱️ mouse move. Hold Option to ⏬ slow down, hold Command to ⏫ speed up.
  • Hold additional Shift turns to 🖲️ wheel move. Extra Option to ⏬ slow down, and extra Command to ⏫ speed up.
  • First line maps to wheel move and 0, ., , +, - maps to five mouse buttons.
🖲️⬅️= 🖲️⬇️/ 🖲️⬆️* 🖲️➡️
7🖱️ ↖️8 🖱️⬆️9 🖱️↗️- 🖱️B
4🖱️ ⬅️5🖱️6 🖱️➡️+ 🖱️F
1🖱️↙️2 🖱️⬇️3 🖱️↘️
0 🖱️L. 🖱️M 🖱️R

Window Control

  • Tab, Q, W, A, s used as window control keys. Focusing on close/switch applications / windows / tabs / desktops. (azure area)
  • Windows management (resize, layout) leaves to external application such as Moom, Magnet, and Slate. Bind A manually.
Key\Mod
next appprev appswitch desktopswitch tab
Qclose appclose appLock ScreenLogout
Wclose tabclose all winDisplay SleepSleep
Awin appexpose allshow desktopLaunchPad
Snext tabprev tabnext winprev win

App Shortcuts

  • E R T Y F G are used as application shortcuts. (yellow area)
  • Popular apps and dev tools are registered to 3 default planes: //. Assign these shortcuts according to your own needs.
Key\Mod
ESafariFinderMail
RiTerm2PreviewTerminal
TVisual Studio CodeTypographyNote
YSiriKarabinerAmphetamine
FAlfred 4DashDictionary
GIntellij IDEAChromeCalender

Terminal Control

D, Z, X, C, V, B are used as terminal control keys. Sending signals and IDE commands. (green area)

Key\Mod
DD Ctrl+D (Send EOF)Define (Force touch)
ZZ Ctrl+Z (SIGTSTP)F5 (VS Code Debug)
XR Ctrl+R (IDE Run)F5 (VS Code Run)
CC Ctrl+C (SIGINT)>F5(VS Code Stop)
VVCtrl+V (Vim Prefix)
BBCtrl+B (Tmux Prefix)

Clipboard

Number keys 1, 2, …, 9, 0 are used as (text) clipboard. Hold to copy, and press to paste. (purple area)

Key\Mod
1Paste from clip 1Copy to clip 1
2Paste from clip 2Copy to clip 2
………………
0Paste from clip 0Copy to clip 10

Shifter

  • Trivial transformation for misc characters. (orange area)
  • Some special tricks for developers. Such as ;' maps to := or != ()
Key\Mod
-_Zoom Out
=+Zoom In
[({«/kbd>
])}>
;!:
==
//
\/

Functional

  • Use F1,…F12 as standard functional keys, while hold Hyper to turn them back. (cyan area)

  • Command + F1 / F2 / F3 is used as desktop switcher. Enable shortcuts in system preference first:

    PreferenceKeyboardShortcutsMissionControl → Switch to Desktop 1/2/3

  • If you are using RMBP with Bar, consider changing your bar back to function keys with:

    Karabiner-ElementsFunction KeysUse all F1, F2, etc. keys as standard function keys

Key\ModComment
`44Area selection screenshot( to file)
F1display_brightness_decrement | 11Brightness Down / Desktop 1
F2display_brightness_increment | 22Brightness Up / Desktop 2
F3 | 33Expose All / Desktop 3
F4LaunchpadLaunchpad
F5illumination_decrementKeyboard Light Down
F6illumination_incrementKeyboard Light Up
F7rewindMusic Prev
F8play_or_pausePlay / Pause
F9fastforwardMusic Next
F10muteMute
F11volume_decrementVolume Down
F12volume_incrementVolume Up
F1333Full Screentshot ( to file)
F1456Screenshot menu ( touchbar snap)
F15play_or_pausePlay / Pause
Insert display_brightness_incrementFine-Grained Brightness Up
Delete display_brightness_decrementFine-Grained Brightness Down
Home illumination_incrementFine-GrainedKeyboard Light Up
End illumination_decrementFine-Grained Keyboard Light Down
PgUp volume_incrementFine-Grained Volume Up
PgDn volume_decrementFine-Grained Volume Down

References

Symbols

GlyphNameGlyphName
CapslockHyper
EscapeSpace
Command (Mac)Alter (Win)
Option (Mac)Win (Win)
ControlShift
ReturnEnter
Arrow CursorHome/End
TabDelete / ForwardDelete
Numlock⏫⏬Fast / Slow
🖱️LMouse Left Click (Button1)🖱️BMouse Backward (Button4)
🖱️RMouse Right Click (Button2)🖱️FMouse Forward (Button5)
🖱️MMouse Middle Click (Button3)🖲️Mouse Wheel

Control Planes

control planes
PlaneModifiersPlaneModifiersPlaneModifiers
037
1511
2613
4914
81015
12

Plane 0

Plane 1

Plane 2

Version

macOS SupportedWin Supported
macOS Big Sur (11.0 )Windows 10
macOS Catalina (10.15)Windows 8
macOS High Sierra (10.13)Windows 7
macOS Sierra (10.12)Windows Vista
macOS EI Capitan (10.11)Windows XP
macOS Yosemite (10.10) or lower
(via Capslock Mac v1
(via Capslock Win)

macOS v3 is actively maintained, available on macOS 10.11 — 11.x. Yosemite (10.10) or lower are supported via Capslock Mac v1

Windows version is already archived. You can use pre-compiled binary or install AutoHotKey and load capslock.ahk manually

FAQ

Q: Why using as the symbol for Hyper?

A: Because the ASCII code for * is exactly 42, which is the ultimate answer to life, universe, and everything. (Heavy-Asterisk) is a pretty version of *.

Q: What’s new in v3?

A: The original v2 only use 1 ~ 3 control planes. While v3 uses up to 9 control planes. A large number of functions have been added to make the additional modifier functioning in a reasonable way.

Q: Is there any incompatible changes in V3 compared to V2 ?

A: There are three minor incompatible changes:

  • F13/F4 from music prev/next to screenshot;

  • Number keys are used as clipboard instead of shifter

  • D now perform define(force touch) instead of opening dictionary app.

Q: Why is there no Linux OS support?

A: I’m using Linux through macOS terminal. It actually feels much better than raw Linux 😆. This feature can be achieved via xmodmap, contribution is welcome!

Q: Why is there an older version in macOS?

A: There was an older version of Karabiner that used XML config. Apple modified its kernel architecture in macOS Sierra (10.12) and many programs had to be overhauled. So then there was a new version of Karabiner, the Karabiner-Elements, which is still in use today.

Q: How can I customize it to my needs?

A: Just fork this repo and make modification to mac_v3/capslock.json according to documentation You can edit the more human-readable format mac_v3/capslock.yml then compile it into capslock.json format with make compile.

Q: Is this original?

A: I’m the first one to make a capslock overhaul schema as far as I know. The original win AHK version was written in 2013. The first macOS version was written in 2015. It is the first capslock emulation schema in karabiner’s gallery.


User Feedback


About

Author: Vonng (rh@vonng.com)

License: Apache 2.0 License

Last updated on