Skip to content

Windows and Developer Workflows

Switch applications and windows, launch tools, send terminal commands, use extra clipboards, and type code symbols.

CapsLock Enhancement dedicates several colour-coded zones to the actions that interrupt a developer’s flow most often: switching windows, launching tools, sending terminal signals, parking text somewhere, and typing punctuation.

Important

Every chord on this page assumes Hyper is held.

Window control

Q W A S form the azure block on the left of the keyboard. They close and cycle things, from a single tab up to the whole login session.

Closing and cycling, from a tab to the whole session
Key Hyper + + + +
Next app Previous app Next desktop Next tab
Q Quit app Quit app Lock screen Log out
W Close window Close window Display sleep Sleep
A Window manager Mission Control Show desktop Spotlight
S Next tab Previous tab Next window Previous window

Two rows deserve a note.

with A is intentionally not mapped. Because Hyper is with with with on the right-hand side, an unmapped key passes straight through to whatever application is listening. Bind with with with with A inside Moom,Magnet or any other window manager and it becomes your layout key. Slate is kept only as a historical example.

Sleep is not a keystroke but a shell command: with with W runspmset sleepnow and with with W runs pmset displaysleepnow. Karabiner needs no extra permission for these, but they will not fire if a modal dialog is blocking input.

Application shortcuts

The yellow keys launch or focus six applications on three planes. Each rule is a plain open -a shell command, which means the target is matched by application name — exactly what makes them safe to rewrite.

Defaults only — every one of these eighteen names is meant to be changed
Key Hyper + +
E Safari Finder Mail
R iTerm2 Preview Terminal
T Visual Studio Code Typora Notes
Y Siri Karabiner-Elements Amphetamine
F Alfred 5 Dash Dictionary
G IntelliJ IDEA Chrome Calendar
Tip

The interactive configurator rewrites any of these names in the browser and exports a JSON file you can import directly, without cloning the repository or installing anything.

Because open -a both launches and focuses, one key does the job of a dock icon and a with hunt. If an application is already frontmost, pressing its key again does nothing — it does not toggle.

Terminal and IDE control

The green keys put the control chords a shell uses constantly under your right hand, so the left hand never has to contort into + a letter mid-sentence.

Terminal signals, IDE run controls, and the two prefix keys
Key Hyper +
D with D · send EOF with with D · look up the word under the pointer
Z with Z · SIGTSTP, suspend the job F5 · start debugging
X with R · run in the IDE with F5 · run without debugging
C Open Codex Open Claude
V with V · Vim block-visual / literal prefix
B with B · Tmux prefix

with C and with with C are open -a commands like the yellow keys, so they can be repointed at whichever assistant you use.

Note

with Z and with X deliberately do not shadow with Z undo or with X cut: those need no Hyper, so both spellings coexist on the same physical keys.

Five text clipboards

Number keys 60 become five independent text clipboards. with plus a number copies the current selection into that slot; plus the number pastes it back.

Each slot is one file in your home directory
Chord What happens
with with 6 with with 0 Copy the selection, then pbpaste > ~/.clip6~/.clip0
with 6 with 0 cat ~/.clip6 | pbcopy, then paste

Two things follow from that implementation, and both are useful:

  • The slots survive logout, reboot, and the system clipboard. They are ordinary files, so cat ~/.clip7 reads one from a shell and any editor can fill one without touching the keyboard at all.
  • They hold plain text only. Copying an image or a file into a slot stores whatever pbpaste renders as text, not the original object.
Note

V3.1 deliberately uses five slots on 60. Older configurations also used 15, so check your habits before upgrading.

Code-oriented shifter

The orange keys move the punctuation a programmer types all day within reach of the home row — no gymnastics for brackets.

Three bracket pairs on two keys, and := and != under one hand
Key Hyper + +
- _ Zoom out
= + Zoom in
[ ( { <
] ) } >
; : !
' = =
/ Toggle comment
\ Toggle comment

The bracket keys are the payoff: [ and ] give all three pairs — round, curly and angle — from the same two positions. And because ; and ' sit side by side, : = and ! = are adjacent rolls, which is how Go and Rust assignment and comparison end up faster to type than on a bare keyboard.

Both with / and with \ emit with /, the comment shortcut nearly every editor and IDE shares.

Next

Use system functions and reference for function keys, screenshots, glyphs, version history, and troubleshooting.