An event based, Global Keyboard and Mouse listener.
Tested on Windows 7 (and Linux), but should work on Mac OS X as well (untested).
Node didn't have any global keyboard and mouse listener available at the time.
GKM depends on JNativeHook, which runs on Java. Thus you will need to have a JVM available and more importantly, java availble on your PATH.
In the lib
folder, you will find gkm.jar
, which source you can find at https://github.com/tomzx/gkm-java.
You will also find JNativeHook.jar
, which source you can find at https://github.com/kwhat/jnativehook.
Install gkm via node.js package manager:
npm i gkm-class
Then require the package in your code.
import GKM from 'gkm-class';
const gkm = new GKM();
// Listen to all key events (pressed, released, typed)
gkm.on('key.*', function(data) {
console.log(this.event + ' ' + data);
});
// Listen to all mouse events (click, pressed, released, moved, dragged)
gkm.on('mouse.*', function(data) {
console.log(this.event + ' ' + data);
});
// Close gkm in 10 seconds
setTimeout(() => {
gkm.quit(); // Close java and remove listeners
}, 10000);
The code is licensed under the MIT license (http://opensource.org/licenses/MIT). See license.txt.