Multiple Input Language Support (Windows CE 5.0)
Windows CE 5.0 introduces the concept of multiple input languages. You can use multiple input languages on a run-time image with that contains only a single user interface language or on a multilingual user interface (MUI) run-time image. For more information, see Multilingual User Interface (MUI).
The multiple input language support in Windows CE enables the following scenarios:
- Multiple keyboard layouts and Input Method Editors (IMEs) can be installed on a device. By default, the number of preloaded keyboards is set to one, but OEMs can define up to 15 preloaded keyboards and install more than 15 keyboard layouts.
Only one IME preload can be configured on a device, with the exception of Simplified Chinese Pocket IME and Traditional Chinese Pocket IME, both of which include two IME preloads by default.
- Support for dynamic switching of the keyboard layout. The default key combination for switching the keyboard layout is ALT+SHIFT. Windows CE also supports CTRL+SHIFT (left) for the Arabic and Hebrew locales, and CTRL+SHIFT (right) for all other locales to allow users to dynamically change the input direction.
OEMs can customize the key sequencing for toggle or switching between specific keyboard layouts can be customized. The default preload is displayed in the language indicator on the device taskbar. Users can click the indicator to launch a shortcut menu that lists all available preloads. They can change the current preload by selecting another layout from this list.
- OEMs and users can set and change the system default keyboard layout for a device. For example, if a device originally boots with an Arabic keyboard layout but the device owner mainly uses an English keyboard, the user can set the default keyboard layout to English and dynamically switch to Arabic on an as-needed basis. Changing the default keyboard layout at device run-time requires a soft reset. Any changes in the selection or deselection of an IME as default or preload require a soft reset.
- Users can select and clear input languages for a device to determine which keyboard layouts are preloaded and listed for toggling.
To configure the OS design of a device to support multiple input languages
- In Platform Builder, add the appropriate Catalog item for the additional keyboard to your OS design. For more information, see Driver Catalog Items.
Note The following keyboards have no corresponding Catalog items. To include one of these keyboard layouts in your OS design, you need to add the Sysgen variable manually. For more information, see Setting or Clearing an Environment Variable.
Keyboard Description SYSGEN_KBD_US English (U.S.) keyboard layout SYSGEN_KBD_JAPANESE Japanese keyboard layout SYSGEN_KBD_KOREAN Korean keyboard layout
- In your OS design, modify the platform.reg file and add an additional entry under the [HKEY_CURRENT_USER\Keyboard Layout\Preload key as shown in the following example:
For more information on platform.reg, see Run-Time Image Configuration Files.
Additional Considerations for Multiple Input Language
You can change the default input language for a target device so that it does not match the system locale. You can also localize an OS to a language for which there is no localization structure. To accomplish these tasks, complete the following steps:
- In the %_WINCEROOT%\PUBLIC\COMMON\OAK\FILES\INTLTRNS directory, navigate to the folder for your default system locale, and open the common.str file. For example, if English (U.S.) is your default system locale, navigate to the 0409 folder.
- Using a text editor, open common.str.
- Add the following string at the bottom of the file:
#define LOC_HKL_DEFAULT "<HKL - Keyboard layout value>"
Adding this string populates Handle to the Keyboard Layout (HKL) to the preload defined as 1.
- Save common.str.
Send Feedback on this topic to the authors