I want to perform two key mappings that are nonstandard:

  1. Caps Lock key will become another CTRL key.
  2. Some combination of keys (ideally, Shift CapsLock) will still be able to do the job normally performed by the CapsLock key -- toggling capitals.

It appears that the standard answers — SmartKeys, AutoHotKey, and Microsoft Keyboard Creator (MSKC) — don't map the CapsLock key, and/or don't map a combination of keys. I would love to be shown otherwise.

I am capable of editing a keyboard (.klc) file or the registry, if I only knew what to put there or what to change.

FYI: I have read that Shift+CapsLock does the CapsLock job on a Japanese keyboard.

Before you ask: why would I want to do that? Because I'm a Unix guy, so I learned to expect the Cntl key to the left of the "a" where it is handiest. And because sometimes you REALLY WANT to type several words in call caps.


Another Unix guy here. I lasted a whole 3 days on Win10, but I did so with my Control in the right place. ;)

I used "Convert Caps Lock to Control.reg"

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00 

Now, after that you no longer have a Caps Lock, and you don't want Shift+Ctrl to change anything. So you might as well eat your hat and read the AutoHotKey's intro (and Google's too ;):

Capslock::Ctrl - Makes Capslock become a Control key. To retain the ability to turn Capslock on and off, add the remapping +Capslock::Capslock first. This toggles Capslock on and off when you hold down the Shift key and press Capslock. Because both remappings allow additional modifier keys to be held down, the more specific +Capslock::Capslock remapping must be placed first for it to work.

This doesn't works in certain videogames, though, so if you care about that you might as well mod the registry and bind AutoHotKey's SetCapsLockState, on|off to any key combo you want—I like double shift:

Lshift & Rshift::SetCapsLockState, % GetKeyState("CapsLock", "T")? "Off":"On"


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.