Roughly, keymaster.js is focused on being small, while shortcut.js has been through a few iterations and is focused on being feature-rich. But they are both fairly small and they have many of the same features.
I have a question about the way keyboard shortcuts are implemented: are the keys mostly chosen for their value or their position?
For example (and please correct me if I'm mistaken), "Copy" is "C" because it's the first letter, and "X" is "Cut" because it looks like scissors. But "V" was chosen because it's next to the two others, despite not hinting at "Paste" at all.
The reason I come up with that question is that I use a French keyboard (AZERTY) which modifies a dozen of key positions, and it makes some shortcuts hard to execute. Sometimes, they're even impossible to execute. For example, the numbers row needs SHIFT to type a number. In QWERTY, to get a "1" you just type "1" but on AZERTY you type "SHIFT+&".
I'm sure other international keyboard layouts have the same issue and wondered how those who implement those shortcuts deal with that.
I have tested this technique with several layouts (azerty, dvorak, bepo) and it seems to be working fine. For special keys such as enter, esc or backspace you will have to listen for 'keydown' event instead.
it's been a long time but I seem to recall some software actually had localized shortcuts, e.g. find&replace dialog was ctrl+T in the italian version of MS Word, which I think makes sense for the naming "trova" but I'd expect to be different in the original version.
But maybe MS Office is special (cfr: localized VBA syntax)
Sadly, checking now on my girlfriends' QWERTZ+Hungarian version of MS Office it seems it's ctrl+F notwithstanding the sheer lack of an F in "Keresés".
Someone should make a JS framework to easily integrate 'Next page' / 'previous page' and map it to a universal keyboard shortcut that isn't used for other things.
It's not as easy as it should be to go from page to page on some sites and would be cool if there was a way to do it via the keyboard!
We are using it without complaints so far. We just changed one line (#62) so it would work inside inputs and textareas. It's just 150 lines of code, so there's no reason not to read the source before using it!
http://www.openjs.com/scripts/events/keyboard_shortcuts/