That's a start, however it's important to handle all the language localisation stuff. It's pretty simple for Latin based input, even handling the extra umlauts, accents, etc.
But I can't imagine knowing how to combine say Japanese hiragana input and mapping that to Kanji. Then there's cultures that write right->left, etc. etc. Once you scratch the surface, it's a big can-o-worms.
I guess we could start an open-source input module.
Honestly, I expected there to be a widget/control for this already.