Use an on-screen keyboard on touch screens with customizable interface.
Allows you to use the mouse pointer or the touch-screen to type.
It is a powerful set of tools to build and use on screen keyboards.