A very small and dependency-free library to handle keyboard shortcuts in the browser. Feel free to use it with any kind of keyboard events and attach them to any element that you want.
This project uses node and npm. Go check them out if you don't have them locally installed.
$ npm install --dev shortway
Then with a module bundler like rollup or webpack, use as you would anything else:
// using ES6 modules
import shortway from 'shortway'
// using CommonJS modules
var shortway = require('shortway')
The UMD build is also available on unpkg:
<script src="https://unpkg.com/shortway/lib/shortway.umd.js"></script>
You can find the library on window.shortway
.
import shortway from 'shortway'
const callback = (e) => {console.log(e)}
const spaceShortcut = shortway('ctrl+space', callback)
document.addEventListener('keyup', spaceShortcut)
const customShortcut = shortway('ctrl+shift+left', callback)
document.querySelector('input').addEventListener('keypress', customShortcut)
Shortway current supports ctrl, alt and shift along with the following shortcuts:
- backspace
- tab
- enter
- esc
- space
- pageup
- pagedown
- end
- home
- 0-9
- a-z
- f1-f12
- Arrows: left, top, right, down
- insert
- delete
- slash: /
A sequence of keys to be watched.
shortway('r', callback)
shortway('ctrl+9', callback)
shortway('alt+a', callback)
shortway('shift+space', callback)
A callback to be executed when a sequence of keys is predded.
const callback = e => {
console.log(e)
}
shortway('r', callback)
See the contributing file.