code: function isCharKey(keycode) {
  		var k = keycode;
  		// ref1: http://www.javascripter.net/faq/keycodes.htm
  		// ref2: http://www.asquare.net/javascript/tests/KeyCode.html
  		// in order of frequency
  		return (
  			(k >= 65 && k <= 90) ||		// 65-90 (alpha)
  			(k == 32) ||				// space
  			(k >= 48 && k <= 61) ||		// 48-57 (nums) + 58 (unused?) + 59 (FF/Opera ; :) + 60 (unused?) + 61 (Opera = +)
  			(k >= 186 && k <= 192) ||	// 186-192 (webkit/ie ; : = + - _) overlaps 188-192
  			(k >= 219 && k <= 222) ||	// 219-222 (symb)
  			(k >= 96 && k <= 111) ||	// 96-111 (numpad * + - . /) all but opera + (FF 107 = + and 109 - _)
  			(window.opera && (k == 42 || k == 43 || k == 45 || k == 47))    // (Opera numpad * + - /) (78 . is covered by other checks)
  		);
  	}
docs: use for keydown/keyup NOT keypress