Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
Note: This feature is available in Web Workers, except for Shared Web Workers.
The sendFeatureReport() method of the HIDDevice interface sends a feature report to the HID device. Feature reports are a way for HID devices and applications to exchange non-standardized HID data.
The reportId for each of the report formats that this device supports can be retrieved from HIDDevice.collections.
sendFeatureReport(reportId, data)reportIdAn 8-bit report ID. If the HID device does not use report IDs, send 0.
dataBytes as an ArrayBuffer, a TypedArray, or a DataView.
A Promise that resolves with undefined once the report has been sent.
NotAllowedError DOMExceptionThrown if sending the report fails for any reason.
In the following example sendFeatureReport() makes a device blink. You can see more examples and live demos in the article Connecting to uncommon HID devices.
const reportId = 1;
for (let i = 0; i < 10; i++) {
// Turn off
await device.sendFeatureReport(reportId, Uint32Array.from([0, 0]));
await new Promise((resolve) => setTimeout(resolve, 100));
// Turn on
await device.sendFeatureReport(reportId, Uint32Array.from([512, 0]));
await new Promise((resolve) => setTimeout(resolve, 100));
}