I have a HP laptop with Windows 10 installed. Whenever I boot into Windows 10, I always need to turn ON Num Lock before entering PIN. This is annoying because I always keep my Num Lock ON (even at the time of previous shut down).

How to keep Num Lock always ON?

  • I take it you've tried setting HKEY_CURRENT_USER\ControlPanel\Keyboard\InitialKeyboardIndicators to 2? – Chenmunka Mar 10 '16 at 9:30
  • @Chenmunka No, I haven't tried that. Would that solve the problem? – user311413 Mar 10 '16 at 9:32
  • It works in earlier versions of Windows but I haven't tried it in Windows 10 - hence comment not answer. – Chenmunka Mar 10 '16 at 9:33
  • Set it to 80000002 on Windows 10 (untested) – Tony68000 Mar 10 '16 at 9:34
  • Is this not set in your BIOS? – Burgi Mar 10 '16 at 15:17

I beleive theese answers are excellent and I use them and they worked, but they only adress half the question (problem), which is to turn NumLock at boot time only.

I need Numlock on at ALL time, even after boot.

My problem was that while starting an application (and old one that nothing replaces it yet so I'm stuck with it - Nortel BCM to be precise) that application tries to be cute and to turn on NumLock, but in facts toggles it, and only for itself ! So, I was stuck with that application having numlock on, an Numlock off outside that application... drives me crazy since I use a lot the Numpad for numbers.

Solution ? I use Autohotkey and add this line in any startup autoloading script:

SetNumLockState, AlwaysOn

For thoose who don't know Autohotkey, it is a marvelous FREEWARE, which any self-proclaimed "SuperUser" should be aware of and use extensively.

  • Thank you very much for your answer! I created a script with two lines "SetNumLockState, AlwaysOn" and "SetCapsLockState, AlwaysOff", and that's it! I also find the caps lock key very annoying. – Vincent Agami Jul 7 at 6:49

Ok, so the reg edit DOES work. But only when you turn fast boot OFF. You probably have fast boot turned on (which this is the default setting). If you desire to keep Numlock on at boot, you should do the regedit AND turn fast boot off.

this link should have you covered.

I hope I answered your question!


Most HP laptops have that setting in the BIOS.

  1. Turn on the computer and repeatedly press the ESC key to enter the Startup Menu
  2. Press F10 for Bios setup.
  3. Press on the System Configuration tab.
  4. Select Device Configuration from the list.
  5. Mark on the check box in front of NumLock ON at boot.
  6. Save & Exit
  • On my PC, it turns it off after the windows 10 boot. So i think the BIOS option is for BIOS only, not windows – Maarten Mar 10 '16 at 13:07
  • My BIOS doesn't have this option... – user311413 Mar 10 '16 at 23:30
  • The UEFI/BIOS setting (even if available) doesn't really matter in my experience. Windows 10 (re)store its own NUMLOCK setting. I don't have fast boot enabled though. – Tom Yan Mar 11 '16 at 9:30
  • Then try the "Registry Fix": 1.) Press Win + R and type in Regedit 2.) Navigate to registry key HKEY_USERS\.Default\Control Panel\Keyboard 3.) Right-click on the “InitialKeyboardIndicators”, select Modify and change Value data to 2. 4.) Exit Registry. – Victor Ivanov Jun 25 '19 at 8:26

I know this is a weird trick but it does works for me (without the need to edit the registry or turn off the fast boot)

  1. First, shutdown your computer.
  2. Boot the computer back up again.
  3. When you reach the login screen, press the Num Lock key once to enable it.
  4. DO NOT LOGIN into the computer. From the login screen, click the power button and select “Shut down” to shut down the computer again.
  5. Boot the computer back up and Num Lock will be enabled on the login screen and permanently on, until you turn it off yourself.

Try this and see if it works for you too.


Create a file called Numlock.ps1 and put the following in it, followed by an empty line:

If ([console]::NumberLock -eq $False) {
$wsh = New-Object -ComObject WScript.Shell

Create a file called Numlock.cmd and put the following in it, followed by an empty line:

PowerShell.exe -ExecutionPolicy bypass -File "Numlock.ps1"
  • Put these files in a folder that is accessible to all users
  • Create a shortcut to Numlock.cmd
  • Move the shortcut to the startup folder ("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp")
  • Reboot your PC and numlock should be turned on by default now

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.