This library attempts to follow the libudev where it makes sense. I only needed some usb input device detection so I was happy with quite few features.
Requires node-v10.0.0, nan and libudev.
npm install udev
sudo apt-get install libudev-dev
npm install udev
The example below lists devices and monitors udev events on the ipnut subsystem until receiving an add event. The code is separately listed in samples/howto.js
.
var udev = require("udev");
console.log(udev.list()); // this is a long list :)
var monitor = udev.monitor("input");
monitor.on('add', function (device) {
console.log('added ' + device);
monitor.close() // this closes the monitor.
});
monitor.on('remove', function (device) {
console.log('removed ' + device);
});
monitor.on('change', function (device) {
console.log('changed ' + device);
});
The example below lists devices belonging to subsystem "tty" i.e. various serial ports.
var udev = require('udev');
console.log(udev.list('tty'));