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 vor der Verwendung auf produktiven Webseiten.

Hinweis: This feature is available in Web Workers, except for 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 Schreibgeschützt

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

HIDInputReportEvent.device Schreibgeschützt

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

HIDInputReportEvent.reportId Schreibgeschützt

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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
inputreport event
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.