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
alias HKEY_USERS\S-1-5-18
are used by programs and services that run as Local System (as S-1-5-18
is the security identifier for the Local System account). Important for logon screen/dialog as winlogon.exe
runs under SYSTEM
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 from C:\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 On
2
- Turn NumLock On
3
- Turn CapsLock and NumLock On
4
- Turn ScrollLock On
5
- Turn CapsLock and ScrollLock On
6
- Turn NumLock and ScrollLock On
7
- 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