HIDDevice: inputreport-Ereignis

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Hinweis: Dieses Feature ist verfügbar in Web Workers, außer in Shared Web Workers.

Das inputreport-Ereignis der HIDDevice-Schnittstelle wird ausgelöst, wenn ein neuer Bericht vom HID-Gerät empfangen wird.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignishandler-Eigenschaft.

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

oninputreport = (event) => {};

Ereignistyp

Eigenschaften des Ereignisses

Diese Schnittstelle erbt auch Eigenschaften von Event.

HIDInputReportEvent.data Nur lesbar

Ein DataView, der die Daten aus dem Eingabereport enthält, ohne die reportId, falls die HID-Schnittstelle Report-IDs verwendet.

HIDInputReportEvent.device Nur lesbar

Die HIDDevice-Instanz, die die HID-Schnittstelle darstellt, die den Eingabereport gesendet hat.

HIDInputReportEvent.reportId Nur lesbar

Das einbyte-Identifikationspräfix für diesen Bericht oder 0, wenn die HID-Schnittstelle keine Report-IDs verwendet.

Beispiel

Das folgende Beispiel zeigt, wie Sie ein inputreport-Ereignis überwachen, um der Anwendung zu ermöglichen, zu erkennen, welcher Knopf auf einem Joy-Con-Rechts-Gerät gedrückt wird. Weitere Beispiele und Live-Demos finden Sie im Artikel 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]}.`);
});

Spezifikationen

Specification
WebHID API
# dom-hiddevice-oninputreport

Browser-Kompatibilität

BCD tables only load in the browser