free multilingual typing tutor for Mac OS X.
All system keyboard layouts (but not input methods!) as well as a wide variety of non-system keyboard layouts (i.e. Dvorak, Colemak or custom layouts being built using Ukelele) are completely or partially supported.
You have to type a mixed-string of random characters. You can customize a character set at each of the 30 levels, and thus, you can control the learning process. You can also import texts from TextEdit, Mail or Safari. Each session provides two run logs, one in RTFD-format and one in HTML-format. By default, you will find them on your desktop. In the Preferences, you can adjust a host of settings to make your typing exercises to your liking.