Android (f/w 1.5+) on screen keyboard for multiple languages.
Custom SoftKeyboard example.
Basic keyboard application that allows you to insert emojis.