currently we allow people to bind keys based on KeyboardEvent.keyCode (a number), or based on a static list of identifiers we maintain [1]. this largely works, but there's some scenarios where this doesn't work as well: if two different keys generate the same keyCode (such as the keys on the numpad like Enter/NumpadEnter and 7/Numpad7 and all the rest), there's no way to bind them separately.
KeyboardEvent.code provides a human readable string that is different: "Enter" vs "NumpadEnter". we should allow people to bind to that like Ctrl-Shift-NumpadEnter.
https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code
this probably will take a bit of reworking, and make sure that we don't end up with ambiguous grammar between our existing parser identifiers and the browser table of "code" values.
Comment 1 by vapier@chromium.org
, Dec 13 2017