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

The main parts of the Input Method system are the following:

  • The IME kernel contains the knowledge of the specific language that a user is inputting.

  • The IME user interface (UI) consists of a Status window, a default Composition window, a Candidate window, and a Guideline window.

  • The Input Method Manager (IMM) coordinates the interaction among the window system, the application, and the IME.

  • An input context maintains the current state of user interaction with the IME. In particular, it maintains the composition string, which consists of the characters that a user is in the process of inputting.

  • An IME Control window routes unhandled IME messages to the IME.

The basic operation is as follows.

A user presses keys on a keyboard. These keystrokes are routed to the IME by the IMM. The IME uses the keys either as commands or to generate characters in the composition string. As the IME carries out its operations, it sends notification messages to the window that currently has the focus. If this window does not process the messages, the messages are sent to the IME Control window, which then routes them back to the IME for default processing. Windows that do not process IME messages are called IME-unaware windows. The IME provides the entire user interface, and the window is completely unaware that an IME is operational. Windows that intercept and process IME messages are called IME-aware windows. By intercepting IME messages, these windows may provide their own UI. By using IMM functions, these windows communicate with the IME.

See Also