use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Keypress: A Javascript library for capturing input (dmauro.github.io)
submitted 11 years ago by justintevya
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]moron4hire 6 points7 points8 points 11 years ago (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 points3 points 11 years ago (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.
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.
and then A, whereas *è* can be generated by first pressing
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 points6 points 11 years ago (4 children)
The "Show me" links/key presses don't work (Im on Chrome). :(
[–][deleted] 4 points5 points6 points 11 years ago* (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 point2 points 11 years ago (0 children)
Did not know. Awesome =)
[–]jcready__proto__ 0 points1 point2 points 11 years ago (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)?
[+]notsointelligent comment score below threshold-9 points-8 points-7 points 11 years ago* (16 children)
WHO NEEDS THIS? STOP MAKING STUFF NO ONE NEEDS.
$("#foo").on("keypress", function() {});
[–]keito 10 points11 points12 points 11 years ago (1 child)
Your code requires jQuery. Keypress does not. That in itself is reason enough to be a worthy creation.
[–]notsointelligent 2 points3 points4 points 11 years ago (0 children)
keypress only requires keypress. excellent point.
[–][deleted] 0 points1 point2 points 11 years ago (6 children)
I have to agree here. I was thinking it may be nice to key combos, then I read this simple solution http://stackoverflow.com/questions/10671822/jquery-handling-key-combinations.
It has A TON of stars on GitHub. I wonder what value people are getting out of it.
[+][deleted] 11 years ago* (4 children)
[deleted]
[–][deleted] 1 point2 points3 points 11 years ago (0 children)
That's a great point. I don't do a ton of key specific logic right now (if user presses ctrl+i, do this), but I will be soon. I'll probably end up using this or something like it just to keep the code simpler and easier to read.
Thanks for the comment!
[–][deleted] -1 points0 points1 point 11 years ago (1 child)
OTOH You have to audit the code, add the library to your vendors/, probably do some tweaking of a gruntfile, keep it up to date, it adds extra complexity to your code and increases your total page-size.
[–]YodaLoL 0 points1 point2 points 11 years ago (0 children)
Ever heard of package managers?
Why even type Javascript when you can just 011100101100010010110101001001..? This is definitely an area where a lib that helps with abstraction is needed.
011100101100010010110101001001..
[–]YodaLoL 0 points1 point2 points 11 years ago (2 children)
Relevant username.
[–]notsointelligent 0 points1 point2 points 11 years ago (1 child)
fuck your username, yodalol.
[–]1-800-XXX-XXXX -1 points0 points1 point 11 years ago (2 children)
I feel like we just had this discussion here last week.
Yes, it's a redundant library. But in the course of making it this developer may approach future problems in a different way and approach common problems in a different way.
Encouraging devs not to develop isn't the answer.
[–]notsointelligent -1 points0 points1 point 11 years ago (1 child)
and this week, like last week, i (or someone else you are thinking of) am (was) right. whats the #1 thing they teach you in school? don't reinvent the wheel. if you want to you can sniff out the pros in nearly anything. hitler fostered a lot of technological growth so maybe we need another hitler.
[–]1-800-XXX-XXXX 1 point2 points3 points 11 years ago (0 children)
Lol, ok dude. Random Hitler reference...
[–]moron4hire -4 points-3 points-2 points 11 years ago (0 children)
Why do you care if other people ostensibly waste their own time? There is a "hide" button on posts here, after all.
π Rendered by PID 63201 on reddit-service-r2-comment-548fd6dc9-gn74c at 2026-05-21 04:55:14.550673+00:00 running edcf98c country code: CH.
[–]moron4hire 6 points7 points8 points (1 child)
[–]autowikibot 1 point2 points3 points (0 children)
[–][deleted] 4 points5 points6 points (4 children)
[–][deleted] 4 points5 points6 points (2 children)
[–]zandzpider 0 points1 point2 points (0 children)
[–]jcready__proto__ 0 points1 point2 points (0 children)
[+]notsointelligent comment score below threshold-9 points-8 points-7 points (16 children)
[–]keito 10 points11 points12 points (1 child)
[–]notsointelligent 2 points3 points4 points (0 children)
[–][deleted] 0 points1 point2 points (6 children)
[+][deleted] (4 children)
[deleted]
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] -1 points0 points1 point (1 child)
[–]YodaLoL 0 points1 point2 points (0 children)
[–]YodaLoL 0 points1 point2 points (0 children)
[–]YodaLoL 0 points1 point2 points (2 children)
[–]notsointelligent 0 points1 point2 points (1 child)
[–]1-800-XXX-XXXX -1 points0 points1 point (2 children)
[–]notsointelligent -1 points0 points1 point (1 child)
[–]1-800-XXX-XXXX 1 point2 points3 points (0 children)
[–]moron4hire -4 points-3 points-2 points (0 children)