Input Method Registry Settings (Compact 2013)
3/28/2014
When you create a Component Object Model (COM) component that implements IInputMethod, you add the new component to Windows Embedded Compact by creating standard COM registry keys in the key HKEY_CLASSES_ROOT\CLSID. For more information, see CLSID Registry Key.
We recommend that your setup application self-register the new component by calling the DllRegisterServer and DllUnregisterServer functions. Implement these functions in the input-method server dynamic-link library (DLL). Optionally, you can set the registry values directly.
You can configure settings for your new input method by using the following registry values in the HKEY_CLASSES_ROOT\CLSID\{<CLSID>} key that you create.
Name |
Type |
Description |
Default value |
---|---|---|---|
IsSIPInputMethod |
REG_SZ |
Indicates whether the COM component is a software-based input panel (SIP) (if so, set to 1). |
None |
InprocServer32 |
REG_SZ |
Provides the DLL name for the input method; for example, \\Windows\\msim.dll. |
None |
DefaultIcon |
REG_SZ |
Provides the DLL location of the default icon; for example, \\Windows\\msim.dll,0. |
None |
KBMode |
REG_DWORD |
Indicates the keyboard mode associated with the input method. |
None |
Remarks
To define a shortcut that allows the user to choose from a list of input methods without having to load and query each object for IInputMethod in your source code, set the IsSIPInputMethod registry key to 1. To use the input method with the SIP, you must also register the input method as shown in the following example.
[HKEY_CURRENT_USER\ControlPanel\Sip\Installed]
"{4a4a96d7-ae04-11d0-a4f8-00aa00a749b9}"=dword:1
Your input method might implement a different keyboard layout for each input language that it supports, so you must define the default input language for the input method. The following example shows a registry entry in which the default input language of the input method is English-United States (0409).
[HKEY_CLASSES_ROOT\CLSID\{089bd213-d56d-4d5f-ad7e-41eafefa8ed4}\DefaultInputLanguage]
@="0409"
The registry must list all of the input languages that your input method supports. The following example shows a registry entry for an input method that supports English-United States (0409) and Simplified Chinese (0804) as input languages.
HKEY_CLASSES_ROOT\CLSID\{4a4a96d7-ae04-11d0-a4f8-00aa00a749b9}\InputLanguages]
"0409"=1
"0804"=1
Code Example
The following example shows a .reg file that sets input-method registry values.
[HKEY_CURRENT_USER\ControlPanel\Sip\Installed]
"{4a4a96d7-ae04-11d0-a4f8-00aa00a749b9}"=dword:1
[HKEY_CLASSES_ROOT\CLSID\{4a4a96d7-ae04-11d0-a4f8-00aa00a749b9}]
@="RemoteKbd"
[HKEY_CLASSES_ROOT\CLSID\{4a4a96d7-ae04-11d0-a4f8-00aa00a749b9}\InprocServer32]
@="\\windows\\alphanum.dll"
[HKEY_CLASSES_ROOT\CLSID\{4a4a96d7-ae04-11d0-a4f8-00aa00a749b9}\IsSIPInputMethod]
@="1"
[HKEY_CLASSES_ROOT\CLSID\{4a4a96d7-ae04-11d0-a4f8-00aa00a749b9}\DefaultInputLanguage]
@="0409"
[HKEY_CLASSES_ROOT\CLSID\{4a4a96d7-ae04-11d0-a4f8-00aa00a749b9}\InputLanguages]
"0409"=1
"0804"=1