How to switch keyboard layouts on the Windows XP login screen

Do you use several keyboard layouts in Windows XP? Ever been annoyed that the layout at the login screen is locked to the installation default? Here’s how to fix it, with a simple registry hack.

Disclaimer: Use at your own risk, yada yada yada…

How to enable multiple keyboard layouts at login:

  1. Back up the registry!
  2. Start the registry editor: Press Windows+R, type regedit, and press Enter.
  3. Click on HKEY_USERS, and locate the key (the things which look like directories) which is your SID – It should be one of the longest. If you have problems finding the SID, you can try MS’ own getsid.
  4. Right-click the sub-key Control Panel\Input Method\Hot Keys and select Export.
  5. Save the file to disk.
  6. Open the file in a text editor.
  7. Leave the first line in the file, but remove all the keys (and their name/value pairs) which don’t end in 10X, where X is a number. These are the keyboard shortcuts for switching between the layouts (if you have set any).
  8. Replace the SIDs in the key names with .DEFAULT, so that they will be applied to the default user.
  9. Export the Keyboard Layout\Preload key to a file, and copy the contents (except the first line) into the file you worked with earlier. These are the layout settings.
  10. Now you should have a working registry file. Before proceeding, you should check that it’s at least similar to the one I ended up with, below.
  11. Save and double-click on the file to insert the data in the registry.

Now you should be able to change the keyboard layout the same way you do it in Windows when logging in.

Code

Windows Registry Editor Version 5.00
; $Id: dvorak-keyboard-layout-at-login.reg 169 2007-09-25 09:31:02Z vengmark $

; Shortcut keys for layouts 1, 2, and 3
[HKEY_USERS\.DEFAULT\Control Panel\Input Method\Hot Keys0000100]
"Virtual Key"=hex:31,00,00,00
"Key Modifiers"=hex:05,c0,00,00
"Target IME"=hex:09,04,02,f0

[HKEY_USERS\.DEFAULT\Control Panel\Input Method\Hot Keys0000101]
"Virtual Key"=hex:32,00,00,00
"Key Modifiers"=hex:05,c0,00,00
"Target IME"=hex:09,04,09,04

[HKEY_USERS\.DEFAULT\Control Panel\Input Method\Hot Keys0000102]
"Virtual Key"=hex:33,00,00,00
"Key Modifiers"=hex:05,c0,00,00
"Target IME"=hex:14,04,14,04

; Remove old settings
[-HKEY_USERS\.DEFAULT\Keyboard Layout]

; Set layouts
[HKEY_USERS\.DEFAULT\Keyboard Layout\Preload]
; US-Dvorak (default)
"1"="00000409"

; US-English
"2"="d0000409"

; Norwegian
"3"="00000414"

; Fallback layouts
[HKEY_USERS\.DEFAULT\Keyboard Layout\Substitutes]
"00000409"="00010409"
"d0000409"="00000409"

; Use Alt-Shift-# (# is 1, 2, or 3) to change between layouts
[HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle]
"Hotkey"="3"
"Language Hotkey"="3"
"Layout Hotkey"="3"
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s