There are three levels for such settings in the registry and you need to set InitialKeyboardIndicators
value to 2
under all next keys:
- settings in
HKEY_USERS\.Default
aliasHKEY_USERS\S-1-5-18
are used by programs and services that run as Local System (asS-1-5-18
is the security identifier for the Local System account). Important for logon screen/dialog aswinlogon.exe
runs underSYSTEM
account. - settings in
HKEY_CURRENT_USER
are valid for currently logged user. - (facultative) settings in
HKEY_USERS\Default
are the basis for new user profiles (not loaded most of the time; the hive loadable manually fromC:\Users\Default\NTUSER.DAT
).
For instance, next settings should work as expected:
==> reg query "HKU\.DEFAULT\Control Panel\Keyboard" /V InitialKeyboardIndicators HKEY_USERS\.DEFAULT\Control Panel\Keyboard InitialKeyboardIndicators REG_SZ 2 ==> reg query "HKU\DEFAULT\Control Panel\Keyboard" /V InitialKeyboardIndicators HKEY_USERS\DEFAULT\Control Panel\Keyboard InitialKeyboardIndicators REG_SZ 2 ==> reg query "HKCU\Control Panel\Keyboard" /V InitialKeyboardIndicators HKEY_CURRENT_USER\Control Panel\Keyboard InitialKeyboardIndicators REG_SZ 2 ==>
FYI, 2147483648
= 2^31
= hexadecimal 0x80000000
(it sets the highest weight bit on in 32-bit integer arithmetic) seems to be a default value since Windows 2000 times, maybe erst. Some estimate that this value means do not override current LOCK status. However, I have experienced another behaviour and therefore keep switching to above settings.
See also CEPtor's post on July 1, 2010 at answers.microsoft.com:
It is important to use the find function to locate ALL keyboard keys for
InitialKeyboardIndicators
and set them to the same value setting. The value options are as follows:
0
- Turn all indicators Off (NumLock, CapsLock, ScrollLock)1
- Turn CapsLock On2
- Turn NumLock On3
- Turn CapsLock and NumLock On4
- Turn ScrollLock On5
- Turn CapsLock and ScrollLock On6
- Turn NumLock and ScrollLock On7
- Turn all indicators On (NumLock, CapsLock, ScrollLock)
Warning: change only numeric InitialKeyboardIndicators
values; keep those under HKEY_LOCAL_MACHINE
referring to something like USR:Control Panel\Keyboard