Enabling the NumLock Key

by Wayne Maples [Published on 20 April 2004 / Last Updated on 20 April 2004]

You can control whether the NumLock key is automatically on or off at logon using the following Windows NT / Windows 2000 / Windows XP registry hack:

Hive: HKEY_CURRENT_USER
Key: Control Panel\Keyboard
Name: InitialKeyboardIndicators
Type: REG_DWORD
Value: 0 NumLock disabled for current user after logging on
Value: 2 NumLock enabled and will retain the settings from the last shutdown

Numlock doesn't reflect these setting during the logon phase because at that point, NT is using the .Default user profile since it does not know which user is logging on. Make the same changes to HKEY_USERS\.DEFAULT\Control Panel\Keyboard if you want the numlock state to be consistent throughout.

The best, and non-registry editing method to set InitialKeyboardIndicators, is to set numlock on, then use Alt-Ctrl-Del to log off. It should remember state for the account.

Its usually best to avoid registry hacks if possible. You can use the following Windows Script, name it numlock.vbs, to control numlock:

set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{NUMLOCK}"

For an individual user, copy numlock.vbs to the user's startup folder. To get the script to run for all users, put the script in the Startup folder in the All Users profile. Support for the Windows Scripting Host is builtin for Win98, W2K and XP. For Win95 and NT, you have to download and install it.

In a Windows 2000 environment, you can control this functionality with Group Policy.

Related info:

Microsoft Windows Scripting

See Also

Featured Links