Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

Windows Embedded CE–based devices that do not have a keyboard require an input method to simulate keyboard input. For this purpose, Windows Embedded CE implements a software-based input panel architecture that functions using a touch screen. This software-based input panel architecture is an input method that enables your application to accommodate input in multiple forms.

The Windows Embedded CE input method requires two parts: the software-based input panel subsystem and the input methods. The primary difference between Windows Embedded CE input methods and typical keyboard input is that an additional level of interpretation is necessary in Windows Embedded CE to convert non-keyboard input into a keyboard event. This conversion is handled by the software-based input panel subsystem in the operating system, which also manages software input methods.

Note:
Windows phones require a standard full-keyboard input panel. OEMs who replace the Windows phone default panel are required to ensure that the replacement includes all keys found on a typical keyboard. Required keys include the following: [ ] { } \ | # ^ ~ `< > ! @ # $ % & * ’ ( ) - _ : ; ? / , .

The input method can display the software-based input panel window in a specific state by using the IIMCallback::SetImInfomethod. This method also changes the icon appearing on the Input  Panelbutton. To adjust to user-initiated changes in the software-based input panel window, applications can query the SIPINFOstructure for data on the window size, state, and visible client area of the software-based input panel.

The software-based input panel creates the input method through the IInputMethodinterface. After the input method is created, the input method receives user input and passes this data to the software-based input panel through the IIMCallbackinterface. After the software-based input panel receives data from the input method, the software-based input panel passes the data to the Graphics, Windowing, and Events Subsystem (GWES) module. Usually, this data is a keyboard event. GWES passes the message to your application through the standard delivery system for keyboard events. The following illustration shows how an input method, a software-based input panel, GWES, and an application communicate.

If the software-based input panel is altered, the operating system sends out a WM_SETTINGCHANGEmessage to all of the active applications. The application can modify the software-based input panel and the input method through the SipGetInfoand SipSetInfofunctions.

Note:
To use software-based input panel technology, your target device must include the Coresip.lib file. This component enables any application to initialize an input method. Call the SipStatusfunction to be sure that Coresip.lib is present before you implement input methods.

In This Section

Programming Input Methods

Provides an overview of the implementation details and best practices for input methods generally.

Programming a Software-Based Input Panel

Provides an overview of the implementation details and best practices for input methods generally and the software–based input panel specifically.

Related Sections

Software-based Input Panel

Provides information on the software-based input panel, which enables target devices that do not have a keyboard to simulate keyboard input by using an input method.