1. A computer-readable medium having computer-executable instructions for performing steps to provide a virtual keyboard for user interface, the steps comprising: displaying a semi-transparent keyboard image on a touch sensitive screen over a background image, the keyboard image comprising a plurality of key images corresponding to individual keys for at least a complete set of letters in an alphabet arranged in a layout and size suitable for “ten-finger” touch-typing, each key image having at least one shaded edge; receiving a signal indicating a detected touch on the touch sensitive screen; determining whether the detected touch is on one of the key images of the keyboard image; if the detected touch is on a key image, generating a sound indicating that a keystroke is received; and altering a look of the touched key image to indicate that the keystroke is for the key corresponding to the touched key image.