Input Method Editor (IME) (Compact 2013)


An Input Method Editor (IME) is a control embedded in an application. The control facilitates text input especially for a language that contains hundreds or thousands of characters. Instead of a single keyboard that contains all possible characters, the IME processes and translates keystrokes while the user types. The IME transforms the keystrokes into the desired character.

The Input Method system includes the following parts:

  • The IME kernel, which contains the knowledge of the input language.
  • The IME user interface, which consists of a Status window, a default Composition window, and a Candidate window.
  • The Input Method Manager (IMM), which coordinates interaction between the window system, the application, and the IME.
  • An input context, which maintains the current state of user interaction with the IME. In particular, the input context maintains the composition string, which consists of the characters that the user inputs.
  • An IME Control window, which routes unhandled IME messages to the IME.

When the user presses keys on a keyboard, the IMM routes keystrokes to the IME. The IME interprets keystrokes as commands or as characters in the composition string. While the IME operates, the IME sends notification messages to the window that currently has the focus.

If the window that currently has the focus is not IME-aware and the window does not process the messages, the IME Control window handles the messages by routing the messages back to the IME for default processing.

A window that intercepts and processes IME messages is an IME-aware window. By intercepting IME messages, an IME-aware window can provide a customized user interface and use IMM functions to communicate with the IME.

To add this feature to your OS, see Input Method Editor (IME) Catalog Items and Sysgen Variables.

For reference information, see Input Method Editor Reference.

See Also

Other Resources

Shell and UI