node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »

shortcut

Shortcut

Assign functions to keypress events

Usage

var shortcut = require('../shortcut')(process.stdin)
 
process.stdin.setRawMode(true)
process.stdin.resume()
 
// shortcut assignment 
shortcut('ctrl+c', process.exit)
 
// multiple shortcuts bound to one function 
shortcut('alt+a, shift+a, ctrl+a', function() { 
  console.log('awesome') 
})
 
// get event and handler data 
shortcut('b, ⇧+b, ^+b, ⌥+b', function(e, handler) {
  console.log(handler.shortcut+': fired!')
})

Installation

npm install shortcut

require('shortcut')(ReadableStream)

If the ReadableStream is not emiting keypress events then the stream will be passed into keypress

Returns the shortcut library listening to ReadableStream

shortcut(string, fn)

  • string: A combination of Modifiers joined by + and terminated with a single key. You can join shortcuts with a comma , to assign multiple to one function.
  • fn: Will be called with the keypress event and the shortcut handler

Modifiers

  • shift: , shift
  • ctrl : ^, ctrl, control
  • meta : , meta, alt, option

Inspiration

This module is heavily inspired by Thomas Fuchs' keymaster library.

License

MIT