A bit about

Hello, everyone! All you can see below is just my bank of information. Some material I've found in the fathomless net, some I've learned myself. Don't think all of the information here is right or actual, but may be it could be of use for you :) All feedback is welcome, especially constructive ones :)

Sunday, March 28, 2010

Windows: Welcome screen default keyboard layout

I use Windows 7 as primary OS, but I faced the same problem in previous versions of Windows too. The problem is that I use russian version of this system and it doesn't allow to select default keyboard layout and toggle keys during system installation. So, each time I boot my system I have to change language with Alt-Shift keys (I used to press Ctrl-Shift). It's very inconvinient!

The solution is here. One should change the following registry keys, which control default keyboard layout and toggle keys:
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload\1;
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload\2;

These 2 parameters control the primary (key 1), default language and other languages (keys 2, 3, etc.). The values of these keys contain language id. English layout is '00000409'. Russian is '00000419'. ID's for other languages could be found in HKEY_CURRENT_USER/Keyboard layout/Preload if the required language is configured for current user.

So, in my case parameter set was:
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload\1 REG_SZ 00000409
HKEY_USERS\.DEFAULT\Keyboard Layout\Preload\2 REG_SZ 00000419

Layout switching keys are controlled by HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle\Hotkey key. Value '1' means Alt-Shift, value '2' means Ctrl-Shift.

The following script changes default login layout to English and toggle keys to Ctrl-Shift:
reg add "HKU\.DEFAULT\Keyboard Layout\Preload" /v 1 /t REG_SZ /d 00000409 /f
reg add "HKU\.DEFAULT\Keyboard Layout\Preload" /v 2 /t REG_SZ /d 00000419 /f
reg add "HKU\.DEFAULT\Keyboard Layout\Toggle" /v Hotkey /t REG_SZ /d 2 /f