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.
addEventListener("inputreport", (event) => {});
oninputreport = (event) => {};
Ereignistyp
Ein HIDInputReportEvent
. Erbt von Event
.
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 diereportId
, 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.
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