I tried to change HKEY_USERS\.DEFAULT\Control Panel\Keyboard > InitialKeyboardIndicators to 2147483650 and it enabled numlock. However, if I lock my computer (numlock still active on logon screen) and login numlock gets disabled.

Is there a way to make it not lose the setting? Or a way to run a script everytime I unlock my computer so I can enable it that way?

When I turn the computer on numlock is ON. In the logon screen it is ON, after the login it is ON. If I lock the screen it is ON, if I unlock it switches to OFF


First, head to HKEY_CURRENT_USER\Control Panel\Keyboard. Double-click the “InitialKeyboardIndicators” value in the right pane and set it to “2”.

Next, expand the “HKEY_USERS” folder. You’ll now need to repeat the above process several times, changing the InitialKeyboardIndicators value under each folder inside the HKEY_USERS folder.

Start by going to HKEY_USERS.DEFAULT\Control Panel\Keyboard, and changing the InitialKeyboardIndicators value to 2. Next, repeat the process for the folder below the .DEFAULT folder–it’ll start with an “S-“.

Repeat this process for the remaining folders inside HKEY_USERS, changing the Control Panel\Keyboard\InitialKeyboardIndicators setting under each one.

Next, shut down, then boot the computer back up again. When you reach the login screen, press the Num Lock key once to enable it. Don’t log into the computer. From the login screen, click the power button and select “Shut down” to shut down the computer again.

Boot the computer back up and Num Lock will be enabled on the login screen. It seems that this puts Fast Startup into a state where it will automatically enable Num Lock at every boot.


  • 1
    @LSxCPU - As you wish. When you improve the formatting I will come back and reverse my vote. At a minumim your answer should have a list of steps, contains screenshots, and information to determine the SID of the current user profile. This will allow the author to modify just the HKEY_USERS keys required to make NUM_KEY enabled by default and for their current user. That is my minumim expectations for an answer to this particular question.
    – Ramhound
    May 5 '17 at 18:27

Well, I solved like this:

  • Created a program to enable NumLock when run that runs without a window (https://github.com/brunolm/NumLock)
  • Created a scheduled task
    • General
      • "Run only when user is logged on"
      • "Run with highest privileges"
    • Triggers
      • "On workstation unlock of any user"
    • Actions
      • "Start a program" (NumLock.exe)
  • 2
    Thank you for saving me from windows 'experience', in year 2019 you must use a external app to re-enable NumLock if it happens you remapped the key to something else...
    – PJJ
    Feb 2 '19 at 5:30
  • 1
    Thank you! I've tried the Registry Tweaks, but for some reason, they get reverted. And I don't want to disable Fast Startup just to make sure NumLock is on after logging in. Your solution is what I've been looking for! Mar 9 '19 at 9:42
  • Nice solution. I had to sign and recompile to prevent the UAC message every time. Might not be a bad idea to add a certificate that could be installed to make this play nice out of the box.
    – VoteCoffee
    Sep 13 '19 at 10:22

About the value: InitialKeyboardIndicators = "X"

Where X can have the following values:

"0" - Caps Lock / Num Lock / Scroll Lock - All Off
"1" - Caps Lock - On
"2" - Num Lock - On
"4" - Scroll Lock - On

It is also possible to configure combinations of all of them, these are the values:

"3" - Caps Lock / Num Lock - On
"5" - Caps Lock / Scroll Lock - On
"6" - Num Lock / Scroll Lock - On
"7" - Caps Lock / Num Lock / Scroll Lock - All activated

Extracted from: https://www.sysadmit.com/2020/02/windows-activar-teclado-numerico-iniciar.html

  • For anyone wondering: If you add the numbers together of the combinations, you get the results that must be in the registry.
    – Gizmo
    Apr 6 '20 at 6:37

Here's an alternative I develoeped when one of the Win10 updates wasn't remembering Numlock state -- remap the keyboard so the numeric keypad keys send "top row" scancodes, which aren't modifed by the state of Numlock. Copy the following in to any text editor, save a .reg file, then right-click & Merge.

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,0c,00,00,00,02,00,4f,00,03,\

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.