http://www.greywyvern.com/code/javascript/keyboard