Quick fix: Install Microsoft PowerToys from Microsoft Store. Open Keyboard Manager → Remap a key → pick Caps Lock as source → pick Escape as target. Save. Caps Lock now sends Escape. For permanent without PowerToys: registry Scancode Map at HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout.
Caps Lock to Escape: common remap for Vim users, accessibility, ergonomic typing. PowerToys is the modern way; registry for permanent without PowerToys running.
Affects: Windows 11.
Fix time: ~5 minutes.
What causes this need
Remap reasons:
- Vim / Emacs users: Caps Lock easier to reach.
- Accessibility: less travel for Escape.
- Mac users transitioning: Caps Lock to Control.
- Programmers: less accidental Caps Lock.
Method 1: PowerToys Keyboard Manager
The standard route.
- Install Microsoft PowerToys from Microsoft Store.
- Open PowerToys → Keyboard Manager.
- Enable.
- Click Remap a key.
- Click + to add. Source: Caps Lock. Target: Escape.
- OK. Save.
- Test: press Caps Lock. Should now act as Escape.
- For Vim users: works in any text editor.
- To revert: Keyboard Manager → remove remap.
- For chronic: PowerToys runs at startup; remap permanent.
This is the standard fix.
Method 2: Registry Scancode Map for permanent
For permanent without PowerToys.
- Open Registry Editor as Admin.
- Navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout. - Create binary value: Scancode Map.
- Set data:
00 00 00 00 00 00 00 00 02 00 00 00 01 00 3A 00 00 00 00 00This maps Caps Lock (3A) to Escape (01).
- Reboot.
- Caps Lock now sends Escape system-wide.
- To revert: delete Scancode Map value. Reboot.
- For multiple remaps: more entries in scancode map.
This is the permanent route.
Method 3: Use AutoHotkey for advanced
For conditional remap.
- Install AutoHotkey from autohotkey.com.
- Create .ahk file:
Capslock::Esc - Save. Double-click to run.
- For per-app remap (only in VS Code, etc.):
#HotIf WinActive("ahk_exe Code.exe") Capslock::Esc #HotIf - For chronic: place script in
shell:startupfolder. - For Vim with multi-tap: Caps Lock single tap = Esc, hold = Ctrl. Advanced AHK script.
- For chronic combination remaps: PowerToys + AutoHotkey.
This is the scripted route.
How to verify the fix worked
- Press Caps Lock. Escape function fires.
- Cursor: text input no longer toggle case.
- In Vim: enters Normal mode.
- For chronic: works after restart.
If none of these work
If remap fails: Scancode Map syntax: verify binary data exactly. Errors break keyboard. Reboot: registry changes need reboot. For specific gaming keyboards: hardware-level remap. Use vendor utility. For Bluetooth keyboards: same; remap at PC level. For corporate-managed PCs: Group Policy may restrict. For chronic permanent issue: PowerToys + Scancode Map combined.
Bottom line: PowerToys Keyboard Manager → Remap a key → Caps Lock to Escape. Or registry Scancode Map for permanent. AutoHotkey for advanced / conditional remaps.