VisiBone Touch-Typing Tutor

A free online public service. And JavaScript Example.
        js

Keyboard image (I am hoping will be) generously contributed by Polyphony Software makers of Keyboard Manager.