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

See Also

Reference

Software-based Input Panel Registry Settings