Input Language Data (Windows Embedded CE 6.0)
1/6/2010
You can include input languages in the OS design or load them dynamically at run time.
Including Keyboard Device Layouts in an OS Design
You can include multiple input languages in an OS design. To minimize the number of DLLs, these layouts compile into the keyboard driver DLL by default. Entry points generated from the registry identify the input languages to Layout Manager.
The low word of the input locale is used to generate each input language's entry point. The following registry key shows the entry points as IL_00000409 and IL_00000411.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Layouts\00000409]
"Layout File"="kbdmouse.dll"
"Layout Text"="United States-Dvorak"
"PS2_AT"="kbdmouse.dll"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Layouts\00000411]
"Layout File"="kbdmouse.dll"
"Layout Text"="Japanese"
"PS2_AT"="kbdmouse.dll"
Loading Keyboard Device Layouts at Run Time
You can load an input language at run time from a DLL. When you install the DLL on the device, you must add the DLL's name and layout entry points to the registry in the same places described for including layouts in the OS design. Additionally, you are responsible for adding the input locale to the next slot in the Preload registry key.
The following registry key shows a way to add additional device layouts:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000412]
"Layout File"="kbdmouse.dll"
"Layout File"="KbdKor.dll"
"Layout Text"="Korean"
[HKEY_CURRENT_USER\Keyboard Layout\Preload\3]
@="00000412"
Note
An error occurs if you ask Layout Manager to switch to an input locale that does not exist in the Preload registry subkey.