facebook/react — pull request #607 by syranide (2013-11-25 19:45:37+00:00)
Title: Polyfill and normalize HTML5 "key", deprecates which and keyCode

Implements the HTML5 ```key``` property for all browsers and normalizes behavior of those that already do, only special keys are supported. Non-special keys **cannot** be supported because they depend on the user's keyboard layout which cannot be determined, among other things. IE and FF both support the ```key``` property, but they are broken for anything but special keys.

Deprecates my PR https://github.com/facebook/react/pull/502, while you can listen to other values for which and keyCode, doing so relies on the user having a specific keyboard layout, which is quite simply broken behavior (and quite dangerous as it is not immediately apparent).

So all-in-all, this is as good and reliable as is humanly possible today, in **any browser**.

```
raw gz Sizes
341286 68450 build/JSXTransformer.js
135467 27432 build/jasmine.js
1033330182163 build/react-test.js
495551 103677 build/react-with-addons.js
104155 29310 build/react-with-addons.min.js
461894 96506 build/react.js
97439 27443 build/react.min.js

raw gz Compared to master @ 564c8669f8ef511b9fc59e7006af5c8db30e4585
= = build/JSXTransformer.js
= = build/jasmine.js
= = build/react-test.js
+1761 +744 build/react-with-addons.js
+1017 +566 build/react-with-addons.min.js
+1761 +739 build/react.js
+1018 +559 build/react.min.js
```