UNPKG

3.35 kBMarkdownView Raw
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
13Node.js global native keyboard and mouse listener.
14
15This module can handle keyboard and mouse events via native hooks inside and outside your JavaScript/TypeScript application.
16
17Found 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
29iohook 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
35sudo apt-get install -y libxkbcommon-x11-0
36```
37
38### All platforms
39
40```bash
41npm install iohook --save # or yarn add iohook
42```
43
44## FAQ
45
46Q. _Does this module require Java ?_
47
48A. No, this module doesn't require Java (like jnativehook) or any other runtimes.
49
50Q. _Is iohook compatible with Node/Electron version X.Y.Z ?_
51
52A. 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
56Are 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
65Thanks 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