Disable two keyboard keys on Windows 8 laptop

AintTooSmart

Honorable
Feb 26, 2013
2
0
10,510
Hello. I'm interested in disabling both my Windows key and my Caps Lock key. I've found individual solutions pretty easily:

http://windows8themes.org/disable-caps-lock-key-in-windows-8-using-this-simple-method.html (for Caps Lock)
http://support.microsoft.com/kb/216893 (for Windows key, although the autofix only works for pre-W8 OSs, and I'm actually not 100% sure that the regedit will work on W8--I just think it will)

My concern is that they both require a Scancode Map change and as near as I can tell I can only have one edit named Scancode Map (admittedly not sure on my terms here). Is there a way to consolidate the two into one, or some other workaround to permanently disable both keys? I have basically no background in anything but automatic regedit fixes but I can usually follow directions pretty well. Also, if someone more knowledgeable spots problems in either link's proposed solutions, I'd appreciate the correction. Thank you.
 
I just received an email asking to pick a best reply, so I feel like I should follow-up.

Although I do appreciate the advice, I've disabled the Windows key on two machines in the past (albeit with the official Microsoft automatic fix) without any problems. I didn't plan on installing anything as disabling keys should just be a case of editing the registry. I planned on creating a restore point before implementing any edits. I tried working with MS customer service but all they did was link me articles I'd already found on my own then canceled out of the chat.

That all being the case, I'm still at square one--trying to find a way to have the two keys disabled. Help would still be appreciated if anyone has any insights.
 
Hey, I was looking to do the same thing and I figured out how to solve the problem. Disabling more than one key just involves changing the byte values you input into the "Scancode Map" entry in the registry, which you create under HKEY_LOCAL_ MACHINE\System\CurrentControlSet\Control\Keyboard Layout as per microsoft's solution.

To explain it we need to dissect what the values we are entering stand for. We're entering a string of bytes, each of which are composed of a sting of 8 bits. For the windows key solution we enter 00000000 00000000 03000000 00005BE0 00005CE0 00000000. Each set of 8 numbers is a byte. The first two bytes, 00000000 00000000, are simply headers we don't need to change. The third byte, 03000000, denotes how many keys we are disabling, plus an extra one for the null byte which denotes the end of our entry (so to modify 6 keys we would enter 07000000). The fourth and fifth bytes, 00005BE0 00005CE0 represent the keys that we are disabling in this solution. The second half of these bytes represent the key we want to change, in this case 5BE0 represents the left windows key and 5CE0 represents the right windows key. The first half of the two bytes, both 0000 and 0000, represent the value we are reassigning these keys to. This value could be anything (e.g. you could make the home key act as a 'b' key) but for our purposes, disabling the key, we set this value to null or 0000. So for 00005BE0, 0000 = new value (null) and 5BE0 = physical key we're changing (left windows key). The last byte, 00000000, is the null byte I talked about earlier that simply needs to be there to denote the end of the registry entry.

So to disable the caps lock and the windows keys you'll need to simply combine the two solutions. This should look like this: 00000000 00000000 04000000 00005BE0 00005CE0 00003A00 00000000.

If you're interested in disabling/modifying different keys here's a nice table of hex values for each key on the keyboard. Use the table towards the bottom of the page, not the image on the top of the page. Also if the key has E0 in front of the value you want to put that at the end of the byte, (e.g. 49E0 for pgup, not E049).

TLDR: Just replace the values in the Scancode Map entry with 00000000 00000000 04000000 00005BE0 00005CE0 00003A00 00000000.
 
Check out the solution I just posted. :)