In loving, living memory, John Melançon 1928 – 2007
My favorite of what I could find: Klavaro
http://klavaro.sourceforge.net/en/index.html
I disagree with their decision to not show the keyboard on the screen, because from my experience (never learning touch-typing until I switched to Dvorak) it is vital to not look at the actual keyboard to know where the characters are, but on the small netbook-style laptops at Shishur Sevay it is better to print the keyboard layout and mount it next to the monitor.
Review of three available on Ubuntu that ended up favoring Klavaro: http://www.linux.com/archive/feature/146602