Skip to content
Node.js global keyboard and mouse listener.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


Build status Build Status Gitter chat NPM version


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.


iohook provides prebuilt version for a bunch of OSes and runtime versions.

npm install iohook --save # or yarn add iohook


Q. Does this module require Java ?

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


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 !
You can’t perform that action at this time.