Map Caps-Lock to Control in Windows 8.1

14

3

Before the Windows 8.1 update, I was able to map Caps-Lock to Controls through the type of registry tweak in this post:

Remapping a keyboard key in windows 8.1

However, after updating to 8.1, my tweak no longer works. What I had done was

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 

Windows 8.1 may have changed how it interprets the keyboard layout registry, I'm guessing.

I'm an avid emacs user, so this problem is a life-or-death scenario for me.

ehuang

Posted 2014-06-07T07:03:44.280

Reputation: 287

reg above works on up-to-date Windows 8.1 Pro after rebooting – o.v. – 2014-12-15T21:35:43.003

Before the Windows 8.1 update - Are you talking about the April 2014 update, also known as KB2919355? – and31415 – 2014-06-07T09:57:33.850

Answers

7

SharpKeys did it for me! I couldn't find any other way and as you've discovered the old registry hack doesn't work anymore :(

http://sharpkeys.codeplex.com/

user1670304

Posted 2014-06-07T07:03:44.280

Reputation: 186

Welcome to Super User! Could you maybe say a little about how you were able to do this with SharpKeys? – Excellll – 2014-10-22T20:49:32.170

13

Using regedit is the best way imo as you know it works. This will make caps-lock an additional ctrl. But won't mess with ctrl itself.

For windows 7 and 8 do the following:

Open regedit.exe

Go to this directory (in regedit):

~/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/KeyboardLayout/

After clicking on that directory (KeyboardLayout) right click in the right box and add new Binary Value called 'Scancode Map'

For windows 7 write this:

00 00 00 00 00 00 00 00
02 00 00 00 1D 00 3A 00
00 00 00 00

For windows 8 write this, I have verified that this works on 8.1 and 10 (this is just four extra zeros):

00 00 00 00 00 00 00 00
02 00 00 00 1D 00 3A 00
00 00 00 00 00 00 00 00

Hit okay and reboot.

Storm Blast

Posted 2014-06-07T07:03:44.280

Reputation: 131

3For the lazy, save this as a .reg file and run it. Typing in all these binaries could be a chore.

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,\
  00,00,00,00
 – Wesley  – 2016-01-16T12:50:15.090

1

Actually I think I've built the perfect solution here:

As a Vim user, this is a must for me, and I've been using it with success on Windows for a long time. I just create an entry on HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run with regedit to point to the executable and it simply works.

It will make your CAPSLOCK not just CTRL (when chording) but also ESC (when pressed and released alone)!

To compile and install dependencies please check the repository README and main website for Interception.

I've also created a Linux version of the same here:

pepper_chico

Posted 2014-06-07T07:03:44.280

Reputation: 171

1

I am in the same situation. This is a partial fix. On the SysInternals web page at technet.microsoft.com, download the Ctrl2Cap.zip archive by Mark Russovich

Uncompress the zip file into a single directory. Open a CMD window with Administrator privileges (right-click on a CMD.EXE icon and choose "Run as administrator"). CD to the archive directory, run ctrl2cap /install and press ENTER. Close the CMD window and reboot (restart) the computer.

When Windows restarts, the CapsLock will function exactly as Control does. On Windows 8.0 and below, the left Control key will function as CapsLock would, shifting all letters to upper case and toggling the CapsLock indicator light on the keyboard. Unfortunately, on Windows 8.1 the left Control key still works as it used to. So, what is presented here is not a full solution, but it does the most important function: converts the CapsLock to Control.

user2253292

Posted 2014-06-07T07:03:44.280

Reputation: 11