CapsLock is a wasted key for most developers. Escape is critical for Vim-style editing
(including Claude Code’s /vim mode) but is physically far away. Swapping them system-wide
makes modal editing significantly less painful.
SharpKeys remaps keys at the Windows registry level
(Scancode Map), so the remap works everywhere — WSL2, Windows Terminal, VSCode, games — even
before any user logs in.
winget install RandyRants.SharpKeys
Or download from the Microsoft Store or GitHub Releases.
Special: Caps Lock (00_3A)Special: Escape (00_01)Open any terminal and press CapsLock — you should see ^[ in cat or the cursor should enter
normal mode in vim.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
and applies to all users and all applications system-wide.00_46), to Special: Caps Lock (00_3A). A scancode map remaps
one key to another; it cannot produce a combination such as Shift+Escape.AutoHotkey remaps in user space — it only works when the AHK script is running and can break inside WSL2 windows or elevated processes. SharpKeys’s registry remap is handled by the kernel driver and is unconditional.