In Safari 3.1 and the latest WebKit nightly (I tested 31132), the keypress event fails to fire for non-printable keys (in other words: arrow keys, function keys, etc.). The only exception I've found so far is the enter key, for which the event fires correctly. In Safari 3.0, keypress worked as expected. See the test page at http://pieisgood.org/safarikeypress/ for a demonstration.
*** This bug has been marked as a duplicate of 16429 ***