Input method

An input method (or input method editor, commonly abbreviated IME) is an operating system component or program that enables users to generate characters not natively available on their input devices by using sequences of characters (or mouse operations) that are available to them. Using an input method is usually necessary for languages that have more graphemes than there are keys on the keyboard.

For instance, on the computer, this allows the user of Latin keyboards to input Chinese, Japanese, Korean and Indic characters. On hand-held devices, it enables the user to type on the numeric keypad to enter Latin alphabet characters (or any other alphabet characters) or touch a screen display to input text. On some operating systems, an input method is also used to define the behavior of the dead keys.

Implementations


Although originally coined for CJK (Chinese, Japanese and Korean) computing, the term is now sometimes used generically to refer to a program to support the input of any language. To illustrate, in the X Window System, the facility to allow the input of Latin characters with diacritics is also called an input method.

On Windows XP or later Windows, Input method, or IME, are also called Text Input Processor, which are implemented by the Text Services Framework API.

Relationship between the methodology and implementation
While the term input method editor was originally used for Microsoft Windows, its use has now gained acceptance in other operating systems, especially when it is important to distinguish between the computer interface and implementation of input methods, or among the input methods themselves, the editing functionality of the program or operating system component providing the input method, and the general support of input methods in an operating system. This term has, for example, gained general acceptance on the Linux operating system; it is also used on the Mac OS.
 * The term input method generally refers to a particular way to use the keyboard to input a particular language, for example the Cangjie method, the pinyin method, or the use of dead keys.
 * On the other hand, the term input method editor on Microsoft products refers to the actual program that allows an input method to be used (for example MS New Pinyin). PRIME or SCIM prefer the term of Input Method Engine, Input Method platform or Input Method environment, or the actual editing area that allows the user to do the input. It can also refer to a character palette, which allows any Unicode character to be input individually. One might also interpret IME to refer to the editor used for creating or modifying the data files upon which an input method relies.

Related techniques

 * Alt codes
 * Keyboard layout, in particular dead keys

Input methods versus language

 * Chinese input methods
 * Japanese language and computers and Japanese input methods
 * Korean language and computers
 * Vietnamese language and computers
 * Indic scripts input methods for languages used in South Asia, Southeast Asia, and parts of Central Asia and East Asia.

Specific input methods

 * List of input methods for Unix platforms
 * ATOK, and MS IME for Windows
 * Tise—Tibetan IM for Windows
 * Wnn

Input methods for handheld devices

 * Multi-tap—Used on many mobile telephones—hit the (combined alphanumeric) key for the letter you want until it comes up, then wait or proceed with a different key.
 * T9/XT9—Type the key for every letter once, then, if needed, type Next until the right word comes up. May also correct misspellings and regional typos (if an adjacent key is pressed incorrectly).
 * iTap—Similar to first-generation T9, with word autocomplete.
 * LetterWise—Hit the key with the letter you want, if it doesn't come up, hit Next until it does.
 * FITALY An array, almost square, which minimizes distance traveled from one letter to another.
 * MessagEase, an input method optimized for the most common letters, that can enter hundreds of characters with single hand motions
 * 8pen, an input method using circular swipes in an attempt to mimic hand movements
 * Graffiti, the Palm OS input method, entered using a stylus
 * Pouces, an input method using touches and swipes

Virtual keyboards

 * Fleksy—Eyes-free touch typing for touchscreen devices, also used by blind / visually impaired people.
 * SwiftKey—context-sensitive word-prediction
 * Swype, an input method that uses swiping gestures instead of tapping to quickly enter text
 * Gboard, the keyboard that comes bundled with the Android operating system