Search notes:

Registry: HKEY_CURRENT_USER\Keyboard Layout

Language box

Some keys and values under HKEY_CURRENT_USER\Keyboard Layout define which languages and keyboard layouts can be chosen in the language box.
The following language box shows three languages and two keyboard layouts:
The available languages are determined as values under HKEY_CURRENT_USER\Keyboard Layout\Preload.
In the following configuration, there are three values shown in hexadecimal: 409, 807 and 809:
As per language id mappings, these values represent:
The respective keyboard layout for those languages is assigned in HKEY_CURRENT_USER\Keyboard Layout\Substitutes. Here, it contains the following two mappings: 807 -> 409 and 809 -> 407. As per the same table, this maps the language German (Switzerland) (807) to the keyboard layout English (US) (409) and English (UK) (809) to the layout German (Germany) (407).

See also

The value of Active under the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\KeyboardLayout.ini\Keyboard Layout.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

Index