Secure context

This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The oninputreport EventHandler of the HIDDevice interface is an EventHandler that processes inputreport events.

The event fires when a new report is received from the HID device.


HIDDevice.oninputreport = function;
HIDDevice.addEventListener('inputreport', function);


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.

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]}.`);


# dom-hiddevice-oninputreport

Browser compatibility

BCD tables only load in the browser