Turn NUM LOCK on at start-up

Anonymous
2009-12-27T01:45:17+00:00

How do you edit InitialKeyboardIndicators in the registry editor so num lock is on at start-up? One instruction I read said to change the value to 2.  The number that is already present is 2147483648 which I have no idea what it stands for!  Can anyone help me out here? Thanks

Windows for home | Previous Windows versions | Devices and drivers

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
Anonymous
2009-12-27T08:21:38+00:00

By default the numlock status is the same as it was in when you properly shut down the computer. If it was on when you shut it down it will be on when you again turn the computer on.

--

Richard Urban

Microsoft MVP

Windows Desktop Experience/Security

"BJ55" wrote in message news:b6f5c70d-a053-431 1-946d-ba9e8879f644...

How do you edit InitialKeyboardIndicators in the registry editor so num lock is on at start-up? One instruction I read said to change the value to 2.  The number that is already present is 2147483648 which I have no idea what it stands for!  Can anyone help me out here? Thanks

Was this answer helpful?

100+ people found this answer helpful.
0 comments No comments
Answer accepted by question author
Anonymous
2010-06-04T13:27:04+00:00

I haven't read through every reply, but just in case there has not been an answer for this, here is what you do.

By default, NumLock, CapsLock, and ScrollLock are set to off on power up in WindowsXP.  If you want to modify this to allow one or all of them to be on by default at power up, follow the below instructions.

  1. Click Start
  2. Click Run
  3. Type RegEdit
  4. Expand to HKEY_Users
  5. Expand .Default
  6. Expand Control Panel
  7. Expand Keyboard
  8. Find sting value InitialKeyboadIndicators. (By default this will be set to '0' which means Num Lock, Scroll Lock, and Caps Lock are all turned off.)
  9. Double click the "InitialKeyboardIndicators" string value and make the following changes.
  • 0 - Turns off Num Lock, Caps Lock, and Scroll Lock
  • 1 - Turns on Caps Lock
  • 2 - Turns on Num Lock
  • 3 - Turns on Caps Lock and Num Lock
  • 4 - Turns on Scroll Lock
  • 5 - Turns on Caps Lock and Scroll Lock
  • 6 - Turns on Num Lock and Scroll Lock
  • 7 - Turns on Caps Lock, Num Lock, and Scroll Lock

Exit the Registry. When you restart, the new setting will take effect

Was this answer helpful?

70+ people found this answer helpful.
0 comments No comments

137 additional answers

Sort by: Most helpful
  1. Anonymous
    2013-02-14T02:45:26+00:00

    Yes this setting is safe !

    But don't modify the registry settings in the IniFileMappings !

    The only settings to change are in the *per-user* configuration.

    But on the Loagin screen, as long as you are not logged on, this setting in HKEY_CURRENT_USER is completely irrelevant, because the logon screen is running in the context of the *anonymous user* (not the Guest user, and not the (local) Administrator user, both users having to be enabled by using admin tools, or in the Users control panel, or the Group policy editor, and being used only when you logon with them from the logon screen !)

    Supidly, when you logon your computer as a local administrator and define its prefered keyboard settings, and when you apply these settings in the language/keyboard control panel to apply to the logon scren, this control panel FORGETS to copy the local setting of this registry key for the current Administrator account into the account used for the logon screen.

    What this means is that the *anonymous user* used on the logon screen NEVER has this setting changed by any available control panel of the UI. You need to apply the registry setting manually by entering it in the Registry editor.

    If you don't know which user account to modify in the registry editor, just apply the registry setting to ALL user accounts listed in HKEY_USERS/S_*, and notably within:

    HKEY_USERS.DEFAULT\Control Panel\Keyboard

    HKEY_USERS\S-1-5-18\Control Panel\Keyboard

    HKEY_USERS\S-1-5-19\Control Panel\Keyboard

    HKEY_USERS\S-1-5-20\Control Panel\Keyboard

    In all these keys, set the value name "InitialKeyboardIndicators" to the string (REG_SZ) value "2" instead of "2147483648" (the decimal equivalent of the hexadecimal value 0x80000000, which is supposed to mean "don't change the keyboard state, use the one inherited from the previous environment, i.e. as set by the BIOS for the environment coming from the system boot" : instead of defining the value, Windows should just query the initial environlent to know what is this current state, and then correctly setup the keyboard to display the current status, so that the next time you press Numlock, it will know it it is for enablong ot disabling it).

    The additional local accounts in

    HKEY_USERS\S-1-5-21-*

    are per-user settings (only mapped as HKEY_CURRENT_USER when these users are logged on and when *they* use the registry editor from their own current account). You may still safely modify them as well, so that they will use the same Numlock setting as the one already set in the Logon screen.

    The per-user settings for Numlock is completely stupid ! In all cases, these accounts should always use the current numlock state as it is when a user logged on from the logon screen (or from a remote PC) without attempting to change it. All these users that can logon the PC should have this keyboard states unchanged (i.e. their value name "InitialKeyboardIndicators" should be defined as "2147483648"), but ONLY the anonymous user (sued on the logon screen) should have the "InitialKeyboardIndicators" value set to "2". But Microsoft made exactly the reverse ! This is a stupid BUG of the Windows installers since long (in many Windows versions).

    So experiment with it : my opinion is that it is safer to just define this value to "2" in ALL users accounts (i.e. all local users will inherit the same keyboard policy when they use the logon screen and once they are logged on: the actual value to use "2" or "0" depends ONLY on the type of keyboard you have on the local PC:

    • it this PC keyboard has a numeric keypad separated from the "arrow" control keys, use "2" (i.e. force Numlock to on)
    • if this PC keyboard has a numeric keypad but no separate keys for the "arrow" control keys, numlock should preferably be off in order to have these control keys available (however this is only true if your keyboard does not require to use SHIFT to enter digits fro mthe 1st row; French keyboards define digits with the SHIFT state of the 1st row, and most French users absolutely want to use the numerioc keypad instead : buyers of external USB numeric keypads are very frequent in France, just because of this when there are still so many notebooks or subnotebooks without any numeric keypad on their keyboard.
    • if this PC keyboard does not have any numeric keypad, it will only be elulated by pressing some Fn key along with character keys, and when typng this, the effective keys returned (arrow control or digit) will depend on NumLock state. As it is very uneasy, users will often prefer to type digits directly on the 1st row, with or without the SHIFT key, according to the national layout. But for some applications where you have to enter lots of digits, this is very bad. The best solution is to buy an external USB keypad and plug it to the PC. In that case, this keypad whould also be use Numlock ON by default, i.e. "InitialKeyboardIndicators" also set to the string value "2".
    • users of tablets that don't have any physucal keyboards, but just a virtual on-screen keyboard, should also set this value to "2" (but this also depends on the layout actually used on the virtual on-screen keyboard). Microsoft provides with Windows such a virtual keyboard application (see for example in the Accessibility control panel), but some tablet vendors, or third party softwares may offer a better applet. In general these virtual keyboards NEVER mix numeric keys and arrow control keys, and do not really depend on the state of Numlock, so "InitialKeyboardIndicators" may still remain set to the value "2".

    In summary: in Windows, there absolutely NO reason to use the stupid value "2147483648", notably on the anonymous user used for the logon screen (where it depends on the BIOS settings, when SO MANY PCs do not even have ANY option to define the prefered Numlock state (when you enter in the BIOS screen, Numlock is OFF by default and must be pressed when entering numeric value there, and there's not even any option available to record this state so that it will be also the default state when entering in the BIOS screen. Many BIOSes do not even recognize the national keyboard layout installed by default on the PC and that cannot be changed.

    Stupid OEMs (including from famous PC vendors like Asus,Gigabyte, HP, Lenovo, ...) are still delivering notebooks with NON-US keyboard layouts, but still DO NOT revognize this national layout in the BIOS (for example in the JMicron RAID controled option BIOS we see something like "Press CTRL+M to configure RAID", but on a French keyboard this does NOT work, because users have to guess that this is valid only in the US keyboard, which is NOT installed on the notebook (they need to press "CTRL+comma" instead !!!!)

    Microsoft should NOT believe that BIOS settings are correct, it should offer its OWN option to override whatever is defined (often incorrectly by the BIOS). And OEM PC makers should better refine their BIOSes to use the proper setting and to include the BIOS option for the prefered numlock state at boot time (Almost no BIOS from AMI do NOT have this option ! Complain to AMI and to your PC vendor for this stupid absence)

    And Windows should still correct its Keyboard Control Panel so that is allows defining the Numlock state used on the logon screen. Stupid Microsoft as well !

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2012-07-18T21:58:11+00:00

    I am using Windows XP Pro.  The BIOS setting is to turn on NUMLOCK at startup, but it does not.  So Windows does ignore some features of the BIOS.

    So I simply need to know what setting in the registry can I change to turn in NUMLOCK at startup.  Can anyone help?

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2012-06-27T06:44:32+00:00

    Thanks, Richard, but found OS can't keep former setting about CapsLock and so on, what's the problem?

    Was this answer helpful?

    0 comments No comments