A keyboard input capturing utility in which any key can be a modifier key.
Filed under miscellaneousShow All
If you're using Keypress with Meteor, see the Meteor notes.
Copyright 2016 David Mauro
released under the Apache License, version 2.0
- Fixed a bug that would prevent unregistering meta combos by name rather than reference. Thanks to bichotll, aubincleme, and mhuebert for help spotting and fixing the issue.
- Remove unexpected debugger
- Backup to e.key if there is no e.keyCode. Thanks kvantetore. Pull request #107
- Added some simple jQuery proofing so you can pass in the result of a jQuery selector into the Listener's constructor. Thanks to mallocator for the request. Issue #89
- Changed the default behavior of how sequence combos behavior. Most people probably would have considered this a bug, so I'm not considering this API breaking. Thanks to ronnyek for pointing the problem out in Issue #68.
- Bower file cleaned up thanks to kkirsche. Pull request #97
- Keys in FF/Gecko - and = fixed thanks to deanputney. Pull request #95
- Another fix for unregistering combos using an array of keys
- Added a destroy method to cleanup a listener. Thanks to smerickson for submitting. Pull request #51
- Fixed compatibility for '-'/'_' and '='/'+' keys in FireFox. Thanks to simonsarris for spotting the bug. Issue #50
- Added spm support. Thanks to sorrycc. Pull request #52
- Fixed a bug unregistering combos using arrays of keys
- Added ie8 compatibility shim. Thanks to barrkel. Issue #41
- Fixed a bug targetting the semicolon key in Firefox. Thanks to mikekuehn.
- Added commonJS module support. Issue #45
- Fixed a bug that prevented combos from unregistering, and updated the docs for how to unregister properly. Thanks to pelly and g00fy-. Issue # 34.
- Added AMD support. Issue #37.
- Fixed a big ole bug with meta/cmd combos. Thanks to lexey111. Issue #29.
- Fixed a bug with the Windows key being released on Windows systems. Issue #27.
- Keypress now has a listener class that must be instantiated. The functions that were previously in the global window.keypress object are now public methods of the window.keypress.Listener class.
- Each instance of a Keypress listener can be bound to a DOM element by passing in the element to the listener's constructor.
- Combos now default to being ordered (the property is now called is_unordered and is false by default).
- Combos' handlers preventDefault unless the handler returns true.
- The "combo" public method is now called "simple_combo".
- The basic combo helpers for simple, counting and sequence combos no longer have a third prevent_default optional parameter.
- Debugging console logs can be enabled by setting keypress.debug to true.
- All key event callbacks send a third argument specifying whether the event is firing again automatically because the key has remained pressed down.
- Fix escape key bug. Issue #17.
- Fix unregister bug. Issue #24.
- Ensure that on_release is called for all combos, not just counting combos.
- Fix bug that was causing is_ordered to be ignored.
- Fixed an edge case for a counting combo's count not being reset.
- Improve how key events are bound
- Fixed combo matching to prevent performance issues as more keys are pressed.
- Fixed a bug with exclusive combos not properly excluding each other in some cases.
- Feature added to allow for combos that do not fire if unrelated keys are also pressed ("is_solitary" boolean).
- Put negative edge in sequences.
- See if we can do away with keyup_fired and count properties.