4

See also Map capslock to control in Windows 10.

In Windows 7 and 10, I was able to remap the Caps Lock to act as a Control key by updating the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout\Scancode Map key in the registry. I've documented the details here.

When I upgraded my personal laptop from Windows 10 to Windows 11, it continued to work as intended, but I later noticed that that key does not exist in the registry. I don't know how the system still knows to map Caps Lock to Control, but as far as that laptop is concerned, it's working the way I want it to.

I now have a work-issued laptop with Windows 11. Since the ...\Scancode Map key doesn't exist in the registry, I can't change it. I've used the PowerToys Keyboard Manager to map Caps Lock to Control, but the mapping doesn't apply in all contexts. In particular, it doesn't apply on the login screen or in applications being run as Administrator. (The registry hack does.)

(I've mapped Alt+. to Caps Lock so I can turn caps-lock off if it has been set accidentally.)

Is there a way to map Caps Lock to Control in Windows 11 that will apply in all contexts, including the login screen? Perhaps there's a Windows 11 registry key that corresponds to the Windows 10 ...\Scancode Map key?

peejay
  • 127
  • 1
  • 1
  • 6

2 Answers2

1

I'm wondering if the correct scancode also depends on the hardware/keyboard being used? I'm just setting up a new laptop with Windows 11 and I first tried 1d e0 3a e0 to remap caps -> control based on this answer, but after rebooting caps was still caps. Then I tried the traditional 1d 00 3a 00 and after rebooting caps is now control (as it should be).

sqweek
  • 416
0

Change your higher bytes from 00 to e0 and the registry trick will start to work.

So in your solution, instead of having:

0x001D003A
0x003A001D

try to put:

0xe01De03A
0xe03Ae01D

Seems Win 11 suddenly starts to use 0xe0 as first byte of scan codes wherever there will not cause confusion. See my question and answer Windows 11 - scancode map registry trick does not work anymore