But be prepared. Javascript keystrokes are insane. If anyone tells you that you can provide thick functionality in a browser, they're right, but there match a desktop app's ease when guiding user input? Impossible.

JavaScript - Detecting keystrokes:

Punctuation keys

I decided not to test the punctuation keys. I suspect that these keys are dependant not only on browser and operating system, but also on keyboard configuration and the official system language. I work on a Dutch Windows, but with a US 101 keyboard configuration, and I wouldn't be surprised if that matters a lot in punctuation keys experiments.

For instance, shift +, causes a < character to appear in my applications, but the ASCII value returned by my test script belongs to the ?. When I discovered that I decided not to risk my sanity by performing further punctuation character experiments. [emph mine -mfn]

Another favorite, this time for the number lock.

Chaos on Mac. Mozilla and Safari give 12, Opera 27.

Safari gives 63289 onkeypress.