![Create React App Officially Deprecated Amid React 19 Compatibility Issues](https://cdn.sanity.io/images/cgdhsj6q/production/04fa08cf844d798abc0e1a6391c129363cc7e2ab-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Create React App Officially Deprecated Amid React 19 Compatibility Issues
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
combokeys-capture
Advanced tools
Combokeys is a JavaScript library for handling keyboard shortcuts in the browser.
It is licensed under the Apache 2.0 license.
It is around 1.9kb minified and gzipped and 3.5kb minified, has no external dependencies, and has been tested in the following browsers:
It has support for keypress
, keydown
, and keyup
events on specific keys, keyboard combinations, or key sequences.
This project was forked from ccampbell/mousetrap.
It was forked because pull–requests were not being reviewed.
This fork's author intends to review pull–requests.
Main changes are
document
. Instead, it is now a constructor and the element on which to listen must be provided on instantiation. Multiple instances possible.Get it on your page:
var Combokeys;
Combokeys = require("combokeys");
Instantiate it for the entire page:
var combokeys = new Combokeys(document);
Or, instantiate it for one or more specific elements:
var firstCombokeys = new Combokeys(document.getElementById("first"));
var secondCombokeys = new Combokeys(document.getElementById("second"));
Add some combos!
// single keys
combokeys.bind('4', function() { console.log('4'); });
firstCombokeys.bind("?", function() { console.log('show shortcuts!'); });
secondCombokeys.bind('esc', function() { console.log('escape'); }, 'keyup');
// combinations
combokeys.bind('command+shift+k', function() { console.log('command shift k'); });
// map multiple combinations to the same callback
combokeys.bind(['command+k', 'ctrl+k'], function() {
console.log('command k or control k');
// return false to prevent default browser behavior
// and stop event from bubbling
return false;
});
// gmail style sequences
Combokeys.bind('g i', function() { console.log('go to inbox'); });
Combokeys.bind('* a', function() { console.log('select all'); });
// konami code!
Combokeys.bind('up up down down left right left right b a enter', function() {
console.log('konami code');
});
You can also bind the plus (and minus) keys conveniently:
Combokeys.bind(['mod+plus', 'mod+minus'], function(e) {
e.preventDefault();
console.log("Override browser zoom!");
});
There are a number of other similar libraries out there so what makes this one different?
keydown
events (You can specify keypress
, keydown
, or keyup
or let Combokeys choose for you).?
or *
without having to specify shift+/
or shift+8
which are not consistent across all keyboardstrigger()
methodYou can also build an AMD-compatible version by running npm run build
. This creates a universally compatible dist/combokeys.js
which, you can use via RequireJS, or include directly in a <script>
tag with the global variable Combokeys
.
The most complete documentation is currently at Mousetrap, the original project's website. At the time of this writing, the only differences are in how you get it in your page (It is now a CommonJS module which does not define a global for itself) and that you must instantiate it before binding keys.
The public API consists of .bind
, .unbind
, .trigger
, .stopCallback
and .reset
.
Since this project was forked from ccampbell/mousetrap and was converted to CommonJS, the plugins were not converted to CommonJS, so they don't work yet.
Allows you to make multiple bindings in a single Combokeys.bind
call.
Allows you to set global bindings that work even inside of input fields.
Allows you to temporarily prevent Combokeys events from firing.
Allows you to capture a keyboard shortcut or sequence defined by a user.
FAQs
JavaScript library for handling keyboard shortcuts in the browser
The npm package combokeys-capture receives a total of 0 weekly downloads. As such, combokeys-capture popularity was classified as not popular.
We found that combokeys-capture demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.