8000 GitHub - orhan/iohook: Node.js global keyboard and mouse listener.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

orhan/iohook

 
 

Repository files navigation

My notes

Building on Intel MAC

To get the build to progress using C++17, instead use this build command: CXXFLAGS="--std=c++17" node build.js --runtime electron --version 11.1.0 --abi 85 --upload=false

See more: https://wilix-team.github.io/iohook/manual-build.html#macos

Tweaks to support M2 build

First off, to get things working on arm64, had to update build.js as per: nodejs/node-gyp#2673 (comment)

Next, my node was for some reason running as x64. If you could get it to run as arm64, you could probably just run the build script as above. Personally I couldn't get that working, so instead I overwrote build.js and manually included let arch = 'arm64', after which the build seemed to work.

After building

The output will be put into prebuilds folder. Open up the zip and copy paste the relevant build files over to the node_modules/iohook of your project.

Publishing a new version

  1. Make your change
  2. Commit your change
  3. yarn publish and bump version number
  4. git push and check that the build github action completes succesfully

iohook

NPM version Release date GitHub Super-Linter CI code style: prettier Gitter chat Issues

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 or submit a PR.

Check out the documentation.

Platform support

  • Versions >= 0.6.0 support only officially supported platforms versions.
  • Versions 0.5.X are the last to support Electron < 4.0.0
  • Versions 0.4.X are the last to support for Node < 8.0 and Electron < 2.0.0

Installation

iohook provides prebuilt version for a bunch of OSes and platforms.

Linux (including WSL)

# On Linux (including WSL) platform, you will need libxkbcommon-x11 installed
sudo apt-get install -y libxkbcommon-x11-0

All platforms

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.

Q. Is iohook compatible with Node/Electron version X.Y.Z ?

A. We try to match the currently supported version of both Node and Electron.

Apps

Are you using iohook in your project ? Please tell us in a PR so we an add it to the list !

Contributors

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)
  • ykhwong (node-gyp usage, electron 9+ support)
  • All the other contributors. Feel free to extend this list !

About

Node.js global keyboard and mouse listener.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 80.2%
  • JavaScript 6.1%
  • M4 5.2%
  • C++ 4.0%
  • Roff 1.5%
  • CMake 1.5%
  • Other 1.5%
0