HIDDevice: inputreport event
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only insecure contexts (HTTPS), in some or allsupporting browsers.
Experimental:This is anexperimental technology
Check theBrowser compatibility table carefully before using this in production.
Note: This feature is available inWeb Workers, except forShared Web Workers.
Theinputreport event of theHIDDevice interface fires when a new report is received from the HID device.
In this article
Syntax
Use the event name in methods likeaddEventListener(), or set an event handler property.
addEventListener("inputreport", (event) => { })oninputreport = (event) => { }Event type
AnHIDInputReportEvent. Inherits fromEvent.
Event properties
This interface also inherits properties fromEvent.
HIDInputReportEvent.dataRead onlyA
DataViewcontaining the data from the input report, excluding thereportIdif the HID interface uses report IDs.HIDInputReportEvent.deviceRead onlyThe
HIDDeviceinstance that represents the HID interface that sent the input report.HIDInputReportEvent.reportIdRead onlyThe one-byte identification prefix for this report, or 0 if the HID interface does not use report IDs.
Example
The following example demonstrates listening for aninputreport event that will allow the application to detect which button is pressed on a Joy-Con Right device. You can see more examples, and live demos in the articleConnecting to uncommon HID devices.
device.addEventListener("inputreport", (event) => { const { data, device, reportId } = event; // Handle only the Joy-Con Right device and a specific report ID. if (device.productId !== 0x2007 && reportId !== 0x3f) return; const value = data.getUint8(0); if (value === 0) return; const someButtons = { 1: "A", 2: "X", 4: "B", 8: "Y" }; console.log(`User pressed button ${someButtons[value]}.`);});Specifications
| Specification |
|---|
| WebHID API> # dom-hiddevice-oninputreport> |