node package manager



An event based, Global Keyboard and Mouse listener.

Tested on Windows 7, but should work on Linux and 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 You will also find JNativeHook.jar, which source you can find at

Getting started

Install gkm via node.js package manager:

npm install gkm --save

Then require the package in your code:

var gkm = require('gkm');
// Listen to all key events (pressed, released, typed)'key.*', function(data) {
    console.log(this.event + ' ' + data);
// Listen to all mouse events (click, pressed, released, moved, dragged)'mouse.*', function(data) {
    console.log(this.event + ' ' + data);


The code is licensed under the MIT license ( See license.txt.