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.

It is fully compatible with Electron.

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


This work is an open-sourced software licensed under the MIT license.


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)
  • All the other contributors. Feel free to extend this list !