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 natively available on their input devices. 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.
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.
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.