# iohook

[![Build status](https://ci.appveyor.com/api/projects/status/2ntnlh6k953he5is?svg=true)](https://ci.appveyor.com/project/Djiit/iohook)
[![Build Status](https://travis-ci.org/wilix-team/iohook.svg?branch=master)](https://travis-ci.org/wilix-team/iohook)
[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/iohookjs/Lobby)
[![NPM version](https://img.shields.io/npm/v/iohook.svg)](https://www.npmjs.com/package/iohook)

## 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](https://github.com/WilixLead/iohook/issues) or submit a [PR](https://github.com/WilixLead/iohook/pulls).

**Check out the [documentation](https://wilix-team.github.io/iohook).**

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

```bash
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.

## Contributors
Thanks to _kwhat_ for the [libuiohook](https://github.com/kwhat/libuiohook) project and [ayoubserti](https://github.com/ayoubserti) for the first iohook prototype.

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