Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

iohook-openb3

openbnet12MIT0.6.5TypeScript support: included

Node.js global keyboard and mouse hook

hook, electron, nw.js, listener, mousemove, keypress, keyup, global keypress, shortcut

readme

iohook

Build status Build Status Gitter chat NPM version

About

Node.js global native keyboard and mouse listener.

This module can handle keyboard and mouse events via native hooks inside and outside your JavaScript/TypeScript application.

Found a bug? Have an idea? Feel free to post an issue or submit a PR.

Check out the documentation.

Platform support

  • Versions >= 0.6.0 support only officially supported platforms versions.
  • Versions 0.5.X are the last to support Electron < 4.0.0
  • Versions 0.4.X are the last to support for Node < 8.0 and Electron < 2.0.0

Installation

iohook provides prebuilt version for a bunch of OSes and platforms.

npm install iohook --save # or yarn add iohook

FAQ

Q. Does this module require Java ?

A. No, this module doesn't require Java (like jnativehook) or any other runtimes.

Q. Is iohook compatible with Node/Electron version X.Y.Z ?

A. We try to match the currently supported version of both Node and Electron.

Apps

Are you using iohook in your project ? Please tell us in a PR so we an add it to the list !

Contributors

Thanks to kwhat for the libuiohook project and ayoubserti for the first iohook prototype.

  • vespakoen (prebuild system implementation)
  • matthewshirley (Windows prebuild fix)
  • djiit (project & community help)
  • ezain (add feature enable/disable mouse click propagation)
  • anoadragon453 (electron 4+ support)
  • All the other contributors. Feel free to extend this list !

changelog

CHANGELOG

v0.6.5

  • feat: Add support for Electron 8.

v0.6.4

  • feat: Add support for Node 13.
  • chore: Fix npm vulnerabilities with audit.

v0.6.3

  • fix: depreacated use of objc_msgSend.
  • fix: Update start() types.
  • feat: improve x11 use.

v0.6.2

  • feat: Add support for Electron 7.

v0.6.1

  • fix: Update repo name.

v0.6.0

  • feat: Add support for Electron 6.
  • deprecation: Drop support for electron < 4.X.X .

v0.5.1

  • chore: Use SSL options when dealing with prebuilts.

v0.5.0

  • deprecation: Drop support for node < 8, electron < 1.8

v0.4.6

  • fix: fix Win32 builds

v0.4.5

  • feat: add support for Electron 5, Node 12

v0.4.4

  • hotfix: fix corrupted 0.4.3 release.

v0.4.3

  • feat: ability to build for a single platform/target.

v0.4.2

  • fix: use cmake-js fork to support Electron 4+ on Windows.

v0.4.1

  • fix: use VS C++ for Electron >= v4.

v0.4.0

  • feat: add support for Electron 4.

v0.3.1

  • fix: allow use of iohook.registerShortcut without a 3rd releaseCallback argument.

v0.3.0

  • feat: drop segfault-handler dependency.

v0.2.6

  • feat: add support for Node 10

v0.2.5

  • feat: git@github.com:wilix-team/iohook.git
  • fix: fix documentation link.
  • chore : repo transfered to wilix-team org.

v0.2.4

  • feat: ability to listen for when a keyboard shortcut has been released
  • feat: ability to unregister a shortcut via the shortcut's keys

v0.2.3

  • feat: Bump libuiohook version
  • chore: many travis build improvements

v0.2.2

  • feat: Add support for Node 10 (for real this time...)

v0.2.1

  • feat: Add support for Electron 2.0
  • feat: Drop support for node < 6, electron < 1.2

v0.2.0

  • feat: Add modifier keys support
  • feat: Add online documentation
  • feat: Add tests (reverted for now)

v0.1.16

  • feat: Add support for Electron 2.0
  • feat: Add support for NodeJS 10.x
  • deprecation: Drop support for Linux ia32 (like NodeJS itself)

v0.1.15

  • feat: Bump libiohook to version 1.1