sproutcore/sproutcore — pull request #895 by fairbanksg (2013-01-11 15:41:34+00:00)
Title: Fix keypress handling in IE8 and Opera.

evt.charCode which was used to determine if the key was nonprintable
is always undefined on IE <= 8 and Opera. Instead we should look at
the original value of evt.which (before normalization) and see if it is
undefined or non-zero. In this case, we know it is a printable key.

There is one additional check necessary because some browsers send
both keydown and keypress events for backspace/tab/enter/escape.