1 | # iohook
|
2 |
|
3 | [![NPM version](https://img.shields.io/npm/v/iohook?color=%230088FF)](https://www.npmjs.com/package/iohook)
|
4 | [![Release date](https://img.shields.io/github/release-date/wilix-team/iohook?color=%230088FF)](https://github.com/wilix-team/iohook/releases/latest)
|
5 | [![GitHub Super-Linter](https://github.com/wilix-team/iohook/workflows/Lint%20Code%20Base/badge.svg)](https://github.com/marketplace/actions/super-linter)
|
6 | [![CI](https://github.com/wilix-team/iohook/actions/workflows/ci.yml/badge.svg)](https://github.com/wilix-team/iohook/actions/workflows/ci.yml)
|
7 | [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?color=%23008880)](https://github.com/prettier/prettier)
|
8 | [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/iohookjs/Lobby)
|
9 | [![Issues](https://img.shields.io/github/issues-raw/wilix-team/iohook)](https://github.com/wilix-team/iohook/issues)
|
10 |
|
11 | ## About
|
12 |
|
13 | Node.js global native keyboard and mouse listener.
|
14 |
|
15 | This module can handle keyboard and mouse events via native hooks inside and outside your JavaScript/TypeScript application.
|
16 |
|
17 | Found a bug? Have an idea? Feel free to post an [issue](https://github.com/wilix-team/iohook/issues) or submit a [PR](https://github.com/wilix-team/iohook/pulls).
|
18 |
|
19 | **Check out the [documentation](https://wilix-team.github.io/iohook).**
|
20 |
|
21 | ## Platform support
|
22 |
|
23 | - Versions >= 0.6.0 support only officially supported platforms versions.
|
24 | - Versions 0.5.X are the last to support Electron < 4.0.0
|
25 | - Versions 0.4.X are the last to support for Node < 8.0 and Electron < 2.0.0
|
26 |
|
27 | ## Installation
|
28 |
|
29 | iohook provides prebuilt version for a bunch of OSes and platforms.
|
30 |
|
31 | ### Linux (including WSL)
|
32 |
|
33 | ```bash
|
34 | # On Linux (including WSL) platform, you will need libxkbcommon-x11 installed
|
35 | sudo apt-get install -y libxkbcommon-x11-0
|
36 | ```
|
37 |
|
38 | ### All platforms
|
39 |
|
40 | ```bash
|
41 | npm install iohook --save # or yarn add iohook
|
42 | ```
|
43 |
|
44 | ## FAQ
|
45 |
|
46 | Q. _Does this module require Java ?_
|
47 |
|
48 | A. No, this module doesn't require Java (like jnativehook) or any other runtimes.
|
49 |
|
50 | Q. _Is iohook compatible with Node/Electron version X.Y.Z ?_
|
51 |
|
52 | A. We try to match the currently supported version of both [Node](https://nodejs.org/en/about/releases/) and [Electron](https://electronjs.org/docs/tutorial/support#currently-supported-versions).
|
53 |
|
54 | ## Apps
|
55 |
|
56 | Are you using iohook in your project ? Please tell us in a [PR](https://github.com/wilix-team/iohook/pulls) so we an add it to the list !
|
57 |
|
58 | - [Cortex](https://crtx.gg/)
|
59 | - [Tracklify](https://tracklify.com/)
|
60 | - [CrewLink](https://github.com/ottomated/CrewLink)
|
61 | - [Runtime](https://github.com/yikuansun/desktopspeedruntools#runtime-speedrun-tools)
|
62 |
|
63 | ## Contributors
|
64 |
|
65 | Thanks to _kwhat_ for the [libuiohook](https://github.com/kwhat/libuiohook) project and [ayoubserti](https://github.com/ayoubserti) for the first iohook prototype.
|
66 |
|
67 | - [vespakoen](https://github.com/vespakoen) (prebuild system implementation)
|
68 | - [matthewshirley](https://github.com/matthewshirley) (Windows prebuild fix)
|
69 | - [djiit](https://github.com/djiit) (project & community help)
|
70 | - [ezain](https://github.com/eboukamza) (add feature enable/disable mouse click propagation)
|
71 | - [anoadragon453](https://github.com/anoadragon453) (electron 4+ support)
|
72 | - [ykhwong](https://github.com/ykhwong) (node-gyp usage, electron 9+ support)
|
73 | - All the other contributors. Feel free to extend this list !
|
74 |
|
\ | No newline at end of file |