Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
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> |
Browser-Kompatibilität
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.