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 behaviour 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.

See also
Internationalization and localization
CJK characters

Related techniques
Alt codes
Keyboard layout, in particular dead keys

Input methods versus language
Chinese input methods for computers
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

References

External links

Microsoft Input Method Editors (IMEs) for Chinese, Japanese and Korean
BhashaIndia, the Microsoft portal for Indic languages, which has Indic IME for download.
Google Transliteration IMEs

 
Input/output
User interface techniques
Natural language and computing
Articles containing video clips