linux-uhid

linux-uhid - NodeJS bindings for Linux's UHID interface

npm version License: GNU

linux-uhid is a NodeJS module that provides bindings for Linux's UHID interface. It allows you to create virtual HID devices and send input reports to them.

NOTE: Module has to be used with elevated privileges (root)!

Installation

You can install linux-uhid via npm:

npm install linux-uhid

Usage

const uhid = require('linux-uhid');

var device = new UHIDDevice();

device.open();

device.create( {
name: "node-uhid-device",
data: Buffer.from( hid_descriptor ),
bus: UHIDBusType.USB,
vendor: 0x15d9,
product: 0x0a37,
version: 0x0001,
country: 0x00
} );

// Send input report
device.input( Buffer.from( hid_input_report ));

Look at test.ts for an example of a mouse.

Documentation

TODO

  • Add documentation.
  • Add TypeScript support.
  • Look into adding support for reading /sys/kernel/debug/hid//rdesc

Generated using TypeDoc