Windows – Remap Caps Lock to Ctrl in Windows 10 without administrator privileges

capslockkeyboard-layoutwindows 10windows-registry

I found this question:

Which would likely work great if I had admin rights on my machine. But I don't.

I also found a couple of links about remapping keys without admin rights in Windows 7. The suggested solution is to use the following:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\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 

(Save in a file with .reg extension, double-click to apply to the registry, and then reboot.)

This is the same as the first linked solution except for the key to edit; the HKEY_CURRENT_USER key can be edited without admin rights.

Unfortunately, this doesn't work on Windows 10. (It applies and creates the key, but even after reboot the Caps Lock key is caps lock, not ctrl.)

In regedit I see that under HKEY_CURRENT_USER\Keyboard Layout there are subfolders (subgroups?) for "Preload", "Substitutes", and "Toggle". It seems likely to me that putting something in "Substitutes" might be the way to do this for Windows 10 but I've no idea what to put, and there is no documentation I can find.

How can I remap Caps Lock to Ctrl in Windows 10 without admin rights?

Best Answer

You can do that by using the free AutoHotKey. Since you cannot install software, you may get the portable version from AutoHotKey Downloads.

Download AutoHotkey.zip, unzip it and use as follows.

This .ahk file will do the remapping:

Capslock::Ctrl

You may set AutoHotKey as the handler for .ahk files by running a modified version of these commands for the right folder (if you can):

assoc .ahk=AutoHotkeyScript
ftype AutoHotkeyScript="C:\path\to\AutoHotkey.exe" "%1"

If you cannot run the above, just start:

"C:\path\to\AutoHotkey.exe" "myscript.ahk"

You may also put a batch file that does the above (or similar) in your Startup folder.

Related Question