hotcakey
TypeScript icon, indicating that this package has built-in type declarations

0.8.0 • Public • Published

🥞 hotcakey 🥞

hotcaKey is the global shortcut (aka hotkey) module for node.js and electron.

hotcakey is now actively under deploment, so api may have breaking changes even in a short term.

motivation

i need to detect global shortcut keydown and keyup events on electron platform. i found a few solution such as iohook. iohook is the excellent module but too powerfull for me. i want to know only key events which has the predetermined combination.

feature

  • detecting key combination globally even if your application does not have a focus.
  • using web-standard physical keycodes
  • working with node.js and electron.
  • working on macOS, windows. (and linux for near future)

install

npm i hotcakey

if you use hotcakey with electron, you may need to run electron-rebuild.

usage

import hotcakey from 'hotcakey'

async function main() {
  await hotcakey.activate()

  hotcakey.register(['Shift', 'Space'], (event) => {
    console.log('%s event at %d', event.type, event.time)
  })
}

main()

examples

please check out the ./examples directory. you can find some examples for node.js and electron there. if you would like to run examples on your computer, please clone this repository, open your terminal, and then input the commands below.

# run node.js example
npm run examples:node

# run electron example
npm run examples:electron

available physical keycodes

hotcakey uses physical keycodes defiend in web standard. see type definitions here for detail.

supported os

  • [x] macOS 10.7 or higher
  • [x] windows 10 or higher
  • [ ] linux

supported platform

  • [x] node.js 14.14 or higher
  • [x] electron 14 or higher

Package Sidebar

Install

npm i hotcakey

Weekly Downloads

8

Version

0.8.0

License

MIT

Unpacked Size

81.7 kB

Total Files

20

Last publish

Collaborators

  • daylilyfield