W3cubDocs

/Web APIs

HIDDevice: inputreport event

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.

The inputreport event of the HIDDevice interface fires when a new report is received from the HID device.

Syntax

Use the event name in methods like addEventListener(), or set an event handler property.

js

addEventListener("inputreport", (event) => {});

oninputreport = (event) => {};

Event type

Event properties

This interface also inherits properties from Event.

HIDInputReportEvent.data Read only

A DataView containing the data from the input report, excluding the reportId if the HID interface uses report IDs.

HIDInputReportEvent.device Read only

The HIDDevice instance that represents the HID interface that sent the input report.

HIDInputReportEvent.reportId Read only

The 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 an inputreport 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 article Connecting to uncommon HID devices.

js

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

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
inputreport_event 89 89 No No 75 No No No No No No No

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HIDDevice/inputreport_event