A high-performance Node.js native addon for listening to system-wide keyboard and mouse events. Built with Rust.
npm install rdev-nodeconst { startListener } = require('rdev-node');
startListener((event) => {
console.log(event);
});- Node.js >= 10
- Rust (required to build from source) - Install from rustup.rs
- Linux:
libgtk-3-dev libxtst-dev
npm install
npm run buildListen to keyboard and mouse events.
startListener((event) => {
console.log('Type:', event.eventType);
if (event.keyPress) console.log('Key:', event.keyPress.key);
if (event.mouseMove) console.log('Position:', event.mouseMove.x, event.mouseMove.y);
});Simulate keyboard/mouse events.
simulateEvent({
eventType: 'KeyPress',
keyPress: { key: 'KeyA' },
time: Date.now()
});Get main display dimensions.
const { width, height } = getDisplaySize();- macOS (x64, arm64)
- Windows (x64, ia32, arm64)
- Linux (x64, arm64, armv7)
- Android (arm64, armv7)
MIT