An input method (or input method editor, commonly abbreviated IME) is an operating system component or program that allows any data, such as keyboard strokes or mouse movements, to be received as input. In this way users can enter characters and symbols not found on their input devices. Using an input method is obligatory for any language that has 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 many hand-held devices, such as mobile phones, it enables using the numeric keypad to enter Latin alphabet characters (or any other alphabet characters) or a screen display to be touched to do so. 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 GNU/Linux operating system; it is also used on the Mac OS.