1.0.0 • Published 1 year ago

node-rdev v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

node-rdev

Overview

node-rdev is a Node.js native addon that listens to system-wide keyboard and mouse events. It leverages the rdev Rust crate for event handling and provides the events to Node.js through a callback function.

Installation

To install the module, use npm:

npm install node-rdev

Usage

The primary function provided by this module is start_listener. This function starts listening to keyboard and mouse events and passes them to the provided callback function.

Example

Here's a simple example of how to use node-rdev:

const { start_listener } = require('node-rdev');

start_listener((event) => {
  console.log('Event received:', event);
});

Platforms Supported

The following platforms are supported:

PlatformFilename
macOS (ARM64)node-rdev.darwin-arm64.node
macOS (x64)node-rdev.darwin-x64.node
Windows (ARM64, MSVC)node-rdev.win32-arm64-msvc.node
Windows (x64, MSVC)node-rdev.win32-x64-msvc.node

Function Documentation

start_listener(callback: JsFunction) -> Result<()>

Starts listening to system-wide keyboard and mouse events.

  • callback: A JavaScript function that will be called with the event data as its argument.

The event data is provided as a JSON string with the following structure:

{
  "event_type": "EventType",
  "name": "OptionalName",
  "time": "EventTime",
  "data": "EventData"
}

Event Types

The following event types are supported:

  • KeyPress: A key was pressed.
  • KeyRelease: A key was released.
  • MouseMove: The mouse was moved.
  • ButtonPress: A mouse button was pressed.
  • ButtonRelease: A mouse button was released.
  • Wheel: The mouse wheel was scrolled.

Example

const { start_listener } = require('node-rdev');

start_listener((event) => {
  console.log('Event received:', event);
});

License

This project is licensed under the MIT License.