HIDDevice
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
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.
Die HIDDevice-Schnittstelle der WebHID API repräsentiert ein HID-Gerät. Sie stellt Eigenschaften zum Zugriff auf Informationen über das Gerät zur Verfügung, sowie Methoden zum Öffnen und Schließen der Verbindung und zum Senden und Empfangen von Berichten.
Instanz-Eigenschaften
Diese Schnittstelle erbt auch Eigenschaften von EventTarget.
HIDDevice.openedSchreibgeschützt-
Gibt ein
Booleanzurück, dastrueist, wenn das Gerät eine offene Verbindung hat. HIDDevice.vendorIdSchreibgeschützt-
Gibt die
vendorIddes HID-Geräts zurück. HIDDevice.productIdSchreibgeschützt-
Gibt die
productIddes HID-Geräts zurück. HIDDevice.productNameSchreibgeschützt-
Gibt einen String zurück, der den Produktnamen des HID-Geräts enthält.
HIDDevice.collectionsSchreibgeschützt-
Gibt ein Array von Berichtsformaten für das HID-Gerät zurück.
Ereignisse
inputreport-
Wird ausgelöst, wenn ein Bericht vom Gerät gesendet wird.
Instanz-Methoden
Diese Schnittstelle erbt auch Methoden von EventTarget.
HIDDevice.open()-
Öffnet eine Verbindung zu diesem HID-Gerät und gibt ein
Promisezurück, das aufgelöst wird, sobald die Verbindung erfolgreich war. HIDDevice.close()-
Schließt die Verbindung zu diesem HID-Gerät und gibt ein
Promisezurück, das aufgelöst wird, sobald die Verbindung geschlossen wurde. HIDDevice.forget()-
Schließt die Verbindung zu diesem HID-Gerät und setzt die Zugriffsberechtigung zurück, und gibt ein
Promisezurück, das aufgelöst wird, sobald die Berechtigung zurückgesetzt wurde. HIDDevice.sendReport()-
Sendet einen Ausgabebricht an dieses HID-Gerät und gibt ein
Promisezurück, das aufgelöst wird, sobald der Bericht gesendet wurde. HIDDevice.sendFeatureReport()-
Sendet einen Funktionsbericht an dieses HID-Gerät und gibt ein
Promisezurück, das aufgelöst wird, sobald der Bericht gesendet wurde. HIDDevice.receiveFeatureReport()-
Empfängt einen Funktionsbericht von diesem HID-Gerät in Form eines
Promise, das mit einemDataViewaufgelöst wird. Dies ermöglicht den typisierten Zugriff auf den Inhalt dieser Nachricht.
Beispiele
Das folgende Beispiel zeigt, wie ein inputreport-Ereignis überwacht wird, das der Anwendung ermöglicht zu erkennen, welcher Knopf auf einem Joy-Con Right-Gerät gedrückt wurde.
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]}.`);
});
Im folgenden Beispiel wird sendFeatureReport verwendet, um ein Gerät blinken zu lassen.
const reportId = 1;
for (let i = 0; i < 10; i++) {
// Turn off
await device.sendFeatureReport(reportId, Uint32Array.from([0, 0]));
await new Promise((resolve) => setTimeout(resolve, 100));
// Turn on
await device.sendFeatureReport(reportId, Uint32Array.from([512, 0]));
await new Promise((resolve) => setTimeout(resolve, 100));
}
Weitere Beispiele und Live-Demonstrationen finden Sie im Artikel Connecting to uncommon HID devices.
Spezifikationen
| Spezifikation |
|---|
| WebHID API> # dom-hiddevice> |