If you look at the keyboard in front of you, chances are good that you'll see a bunch of keys that look something like : QWERTYUIOP, ASDFGHJKL, ZXCVBNM. Of course, those keys aren't the same everywhere. For example, in France some of the keys are swapped around slightly. (check your french key map, to see)
The areas where input methods usually come up are with respect to LocalizationIssues, and in particular, input for most asian languages. In these cases there is a mapping between a keyboard key or sequence of keyboard keys to a character or set of characters in the language. BeOS came with an optional input method for Japanese. There are various 3rd-party input methods available such as BeChinput or HanBe.
I think that GE has an opportunity to distinguish itself by supporting input methods for languages. We should make this easy by having more infrastructure for input methods. I think this area could use a lot of improvements but one which I think is readily apparent is the idea of a virtual keyboard. Something similar to the Keymap application, but able to handle switches in the current input method intelligently. Keymaps could even be considered an extremely trivial instance of an input method, although most people aren't going to want to flip through Azerty, Belgian, Bulgarian, etc. to get to Japanese. :-)
A number of the asian input methods use a similar system that we could provide infrastructure for. This system is one by which keys are typed and then a set of characters is displayed. As more keys are typed, the set is narrowed until a particular character is chosen or a key(s) signaling "move to the next character" is hit. Supporting this common input method interface element could enable people to write input methods faster. Input methods would also have greater consistency and (hopefully) greater usability.