For text input on the go, Ubuntu mobile and embedded edition features a highly configurable on-screen keyboard.
The following mock-ups are examples of what can be done with the onBoard code, not direct suggestions for final layouts.
QWERTY As boring and inefficient as it is, Qwerty is something people will expect. To reduce the space requirements numbers and symbols should be moved to a separate layer. Qwerty keyboards on small devices are usually best used with the stylus as the keys tend to be small.
Mobile phone inspirate A keyboard that looks and works like a mobile phone keypad takes up much less space but is also less efficient in use. As on a mobile phone, there are several letters on each key. Press a key several times in a row or for a certain interval to get the second and third letters. The advantage is many people are already highly skilled at this form of text input.
Full sidepad This 5x7 key keypad contains all the letters in a typical alphabet plus some symbols and modifier keys. As with Qwerty this keypad will likely require use of the stylus.
Frequency optimised sidepad This 4x5 keypad only has the 20 most commonly used letters of a given language in this case English. The remaining 6 letters combined are only needed once every 5 keystrokes. These can be found on the 'sym' layer along with numbers and punctuation. Combinations of sym and shift yields 4 layers with 80 characters (of which 52+ are lower and upper case alphabet). The advantage of this keyboard is that it is small but can still be operated efficiently with the thumb on one hand.