Set default keyboard layout using registry (the easy way)

Since it is not possible to change the default keyboard layout and keyboard language using the standard Group Policy, system administrators need to find an alternative to configure all computers in the network using the predefined keyboard setting.

Basically there are two ways of doing this:

  • Insert the registry settings, that define the keyboard layout, to the Group Policy Preferences in your Group Policy
  • Create an custom ADM-file in which you can set the keyboard layout and add the ADM-file to an existing policy

I prefer the first option, as setting the keyboard layout only involves a very few registry settings. Do the following to accomplish this:

  1. To get the related registry keys, you should configure a computer with the desired keyboard configuration.
  2. Then open the registry and navigate to HKEY_CURRENT_USER\Keyboard Layout\ Here are the registry keys located you should import into the Registry section of your group policy
  3. On a Windows 7 or Windows 2008 pc, open the Group Policy Management Tool, and edit the policy that defines the user settings in your network
  4. Navigate in the Group Policy Editor to User Configuration –> Preferences –> Windows Settings –> Registry
  5. Manually add the registry settings. Here’s an example of the registry keys I imported and how it appears in the group policy editor
  6. [HKEY_CURRENT_USER\Keyboard Layout] [HKEY_CURRENT_USER\Keyboard Layout\Preload]
    [HKEY_CURRENT_USER\Keyboard Layout\Substitutes]



    6. Done! Questions? Leave a comment!

8 thoughts on “Set default keyboard layout using registry (the easy way)

  1. On a Windows 7 desktop I am trying to remove keyboards by manipulating the registry. I remove the entries under [HKEY_CURRENT_USER\Keyboard Layout\Preload] and then add the ones I want. What I am finding is that the Asian languages, such as Chinese and Japanese, which were already there before I started regedit are not being deleted. If I manually remove these languages using the proper desktop tool, then they stay removed.
    Is there some other place where these languages are stored? I’m not able to alter the .DEFAULT user’s registry.

  2. On Windows 7 I’ve added my custom keyboard layout, made with MSKLC. Works fine: I’ve got an icon in the task line to switch between »Deutsch« and »Deutsch – Custom«. Despite shifting »Custom« to the top in »Installed Sevices« the system falls back into pure »Deutsch« very often, a nuisance. How do I permanently turn on the Custom setting? Registry shows German standard as preload 1 and my Custom (d0010407, I guess) as 2. Shall I revert them? May be a bug that putting one keyboard »above« the other in »installed services« does not change anything (in the registry). Thanks!

  3. Hello, please help me with the keyboard problem, my function keys F2, F3 and F4 damaged so I want to change their mapping for example I want to move that 3 keyboard and replace under F9, F10 an F11 is it possible to do with regedit, or gpedit?
    If it is possible please help me and write how can I fix that because working on my laptop HP ProBook 4510s windows 7 very hard in Excel, 1C etc programs.
    Thank you and waiting for your reply.

    Regards and best wishes for you…

  4. You’ll have to load the default user hive in the registry (here is the file) c:\documents and settings\default users\ntuser.dat and change the value in that folder.
    Every new user will copy the default user folder in the new user folder, including the ntuser.dat file, wich is the current user registry hive.

  5. Hello, please help with next situation:

    i’ve installed winXP with wrong default keyboard layout. So, now every new user has a wrong default keyboard layout. I can change this sitiation only for current user, so it is very uncomfortable to chage it every time for new users.

    So, the question is how could i chage default keyboard layout for DEFAULT user. I know that there is no way to do it with GUI, but i also know that there is a way to do it using system registry. But i dont know details how to do it.

    Please help me to solve this problem.

Leave a Reply

Your email address will not be published.