Access USB & Bluetooth HID devices through Node.js
Support async usage and keeping the traditional synchronous usage. Thanks to @Julusian for the substantial rewrite work to support this, and for his patience. See #506, #499, #474 for more details.
device.getDeviceInfo()
now returns the same content as provided by HID.devices()
. Thx @Julusian! #499
Use pkg-prebuilds
instead of prebuild
and prebuild-upload
. This means prebuilds are stored in the package for all platforms on npmjs, immediately able to be used, instead of being hosted on Github and pulled down on-demand . Thanks again @Julusian See #507, #490 for details.
Update to hidapi-0.14.0
, which fixes numerous across all the OSes. This update is also in node-hid-v2.2.0
Changes in this release:
hidapi
to hidapi-0.14.0
(PR #513 & #509 thx @dsouza95 & @mcuee !)getDeviceInfo()
to have same info as HID.devices()
(PR #499 thx @Julusian!)prebuild
(should fix node-gyp
errors when compiling)node-hid
is a thin wrapper over the cross-platform C-library hidapi
.
Changes/Fixes in this release:
prebuild
and prebuild-install
Node-hid is a thin wrapper over the cross-platform C-library hidapi. The hidapi used in node-hid has been updated to [email protected], which includes many improvements.
Also, node-hid has been tested in Apple Silicon M1 Macs, and prebuilds are generated for them.
Node-hid now uses N-API instead of NAN to bind to hidapi
.
This is due to node-abi
's continuing issues with reporting the correct ABI for latest Electron & Node releases.
The benefit is only one binary per OS now.
Updates in this release:
node-gyp
(#393)Changes/fixes in this release:
On Windows, device.on('data',...)
event handler now allows process exit if device doesn't send data. This is accomplished by changing the underlying hidapi read from hid_read()
to a looping hid_read_timeout()
. Addresses issue #358 and others.
Node Buffers can now be used in device.write()
and device.sendFeatureReport()
. Allows a >10x speed up for certain types of data sends. See PR #357 (thanks @Julusian!)