Skip to content

OnesAndZer0s/linux-uhid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

import { UHIDDevice } from '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

https://onesandzer0s.github.io/linux-uhid/

TODO

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