shortway

0.5.0 • Public • Published

Shortway

Travis Coveralls npm (scoped) David XO code style

Tiny to 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.

Try shortway live on codepen!

Install

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.

Usage

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)

Supported Keys

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: /

API

shortway(command, callback)

command

A sequence of keys to be watched.

Examples:
shortway('r', callback)
shortway('ctrl+9', callback)
shortway('alt+a', callback)
shortway('shift+space', callback)

callback

A callback to be executed when a sequence of keys is predded.

Examples:
const callback = e => {
  console.log(e)
}
 
shortway('r', callback)

Contributing

See the contributing file.

License

MIT License © Gustavo P Borges

/shortway/

    Package Sidebar

    Install

    npm i shortway

    Weekly Downloads

    18

    Version

    0.5.0

    License

    MIT

    Unpacked Size

    9.32 kB

    Total Files

    9

    Last publish

    Collaborators

    • thiamsantos
    • gugutz