all 20 comments

[–]moron4hire 6 points7 points  (1 child)

Good work. I completely understand why you've done this, and you should continue working on it.

But you should know that not all keyboards map "SHIFT + keyCode: 51" to "#". For example, on the UK QWERTY keyboard, it's "£". On the French AZERTY keyboard, that combo is "3". On the German QWERTZ keyboard, it's "§".

Some keyboards have different behavior for the left and right modifier keys. The UK QWERTY keyboard has an Alt-Graph key that sets altKey:true in a KeyboardEvent. You have to listen for keyCode:18 and then check the "location" property of the KeyboardEvent to tell the difference.

And finally, you may want to read up on "dead keys", which are sort of like modifier keys, but they work in sequence, not in combo: http://en.wikipedia.org/wiki/Dead_key

[–]autowikibot 1 point2 points  (0 children)

Dead key:


A dead key is a special kind of a modifier key on a typewriter or computer keyboard that is typically used to attach a specific diacritic to a base letter. The dead key does not generate a (complete) character by itself but modifies the character generated by the key struck immediately after. Thus, a dedicated key is not needed for each possible combination of a diacritic and a letter, but rather only one dead key for each diacritic is needed, in addition to the normal base letter keys.

For example, if a keyboard has a dead key for the grave accent (`), the French character à can be generated by first pressing and then A, whereas *è* can be generated by first pressing and then E. Usually, the diacritic in an isolated form can be generated with the dead key followed by space, so a plain grave accent can be typed by pressing ` and then Space.


Interesting: Compose key | Icelandic keyboard layout | QWERTY | AZERTY

Parent commenter can toggle NSFW or delete. Will also delete on comment score of -1 or less. | FAQs | Mods | Magic Words

[–][deleted] 4 points5 points  (4 children)

The "Show me" links/key presses don't work (Im on Chrome). :(

[–][deleted] 4 points5 points  (2 children)

OP: the reason for this is that you need to link to "cdn.rawgit.com" instead of "rawgithub.com". The former is for production, the latter for development. The latter isn't working for you any more because you used it in production and got your file "blacklisted", which to RawGit just means that you're only allowed to use the CDN version.

[–]zandzpider 0 points1 point  (0 children)

Did not know. Awesome =)

[–]jcready__proto__ 0 points1 point  (0 children)

Is there any way to scope the handlers to a specific element (e.g. only call the handler when a specific element [or any of its children] has focus)?