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 Abrufen von Informationen über das Gerät, Methoden zum Öffnen und Schließen der Verbindung sowie zum Senden und Empfangen von Reports bereit.
Instanzeigenschaften
Diese Schnittstelle erbt außerdem Eigenschaften von EventTarget.
HIDDevice.openedSchreibgeschützt-
Gibt einen
Booleanzurück, der angibt, ob eine Verbindung zum Gerät geöffnet ist. HIDDevice.vendorIdSchreibgeschützt-
Gibt die vendorId des HID-Geräts zurück.
HIDDevice.productIdSchreibgeschützt-
Gibt die productId des HID-Geräts zurück.
HIDDevice.productNameSchreibgeschützt-
Gibt einen String mit dem Produktnamen des HID-Geräts zurück.
HIDDevice.collectionsSchreibgeschützt-
Gibt ein Array mit Reportformaten für das HID-Gerät zurück.
Instanzmethoden
Diese Schnittstelle erbt außerdem Methoden von EventTarget.
HIDDevice.open()-
Öffnet eine Verbindung zu diesem HID-Gerät und gibt ein
Promisezurück, das erfüllt wird, sobald die Verbindung erfolgreich hergestellt wurde. HIDDevice.close()-
Schließt die Verbindung zu diesem HID-Gerät und gibt ein
Promisezurück, das erfüllt wird, sobald die Verbindung geschlossen wurde. HIDDevice.forget()-
Schließt die Verbindung zu diesem HID-Gerät, setzt die Zugriffsberechtigung zurück und gibt ein
Promisezurück, das erfüllt wird, sobald die Berechtigung zurückgesetzt wurde. HIDDevice.sendReport()-
Sendet einen Output-Report an dieses HID-Gerät und gibt ein
Promisezurück, das erfüllt wird, sobald der Report gesendet wurde. HIDDevice.sendFeatureReport()-
Sendet einen Feature-Report an dieses HID-Gerät und gibt ein
Promisezurück, das erfüllt wird, sobald der Report gesendet wurde. HIDDevice.receiveFeatureReport()-
Empfängt einen Feature-Report von diesem HID-Gerät und gibt ein
Promisezurück, das mit einerDataViewerfüllt wird. Dies ermöglicht typisierten Zugriff auf den Inhalt der Nachricht.
Ereignisse
inputreport-
Wird ausgelöst, wenn das Gerät einen Report sendet.
Beispiele
Das folgende Beispiel zeigt, wie Sie auf ein inputreport-Ereignis reagieren können, damit die Anwendung erkennt, welche Taste auf einem Joy-Con-Right-Gerät gedrückt wird.
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 interaktive Demos finden Sie im Artikel Verbindung zu weniger verbreiteten HID-Geräten herstellen.
Spezifikationen
| Spezifikation |
|---|
| WebHID> # dom-hiddevice> |