HIDDevice
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, bevor Sie diese produktiv verwenden.
Hinweis: Dieses Feature ist verfügbar in Web Workers, außer in Shared Web Workers.
Die HIDDevice
-Schnittstelle der WebHID API repräsentiert ein HID-Gerät. Sie bietet Eigenschaften zum Zugriff auf Informationen über das Gerät, Methoden zum Öffnen und Schließen der Verbindung sowie zum Senden und Empfangen von Berichten.
Instanzeigenschaften
Diese Schnittstelle erbt auch Eigenschaften von EventTarget
.
HIDDevice.opened
Nur lesbar Experimentell-
Gibt einen
boolean
zurück, der wahr ist, wenn das Gerät eine offene Verbindung hat. HIDDevice.vendorId
Nur lesbar Experimentell-
Gibt die vendorId des HID-Geräts zurück.
HIDDevice.productId
Nur lesbar Experimentell-
Gibt die productId des HID-Geräts zurück.
HIDDevice.productName
Nur lesbar Experimentell-
Gibt einen String zurück, der den Produktnamen des HID-Geräts enthält.
HIDDevice.collections
Nur lesbar Experimentell-
Gibt ein Array von Berichtsformaten für das HID-Gerät zurück.
Ereignisse
inputreport
Experimentell-
Wird ausgelöst, wenn ein Bericht vom Gerät gesendet wird.
Instanzmethoden
Diese Schnittstelle erbt auch Methoden von EventTarget
.
HIDDevice.open()
Experimentell-
Öffnet eine Verbindung zu diesem HID-Gerät und gibt ein
Promise
zurück, das aufgelöst wird, sobald die Verbindung erfolgreich hergestellt wurde. HIDDevice.close()
Experimentell-
Schließt die Verbindung zu diesem HID-Gerät und gibt ein
Promise
zurück, das aufgelöst wird, sobald die Verbindung geschlossen wurde. HIDDevice.forget()
Experimentell-
Schließt die Verbindung zu diesem HID-Gerät und setzt die Zugriffsberechtigung zurück. Es gibt ein
Promise
zurück, das aufgelöst wird, sobald die Berechtigung zurückgesetzt wurde. HIDDevice.sendReport()
Experimentell-
Sendet einen Ausgabebericht an dieses HID-Gerät und gibt ein
Promise
zurück, das aufgelöst wird, sobald der Bericht gesendet wurde. HIDDevice.sendFeatureReport()
Experimentell-
Sendet einen Merkmalsbericht an dieses HID-Gerät und gibt ein
Promise
zurück, das aufgelöst wird, sobald der Bericht gesendet wurde. HIDDevice.receiveFeatureReport()
Experimentell-
Empfängt einen Merkmalsbericht von diesem HID-Gerät in Form eines
Promise
, das mit einemDataView
aufgelöst wird. Dies ermöglicht einen typisierten Zugriff auf den Inhalt dieser Nachricht.
Beispiele
Das folgende Beispiel zeigt, wie ein inputreport
-Ereignis überwacht wird, um zu erkennen, welcher Knopf 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 zum Blinken zu bringen.
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-Demos finden Sie in dem Artikel Verbindung zu ungewöhnlichen HID-Geräten herstellen.
Spezifikationen
Specification |
---|
WebHID API # dom-hiddevice |
Browser-Kompatibilität
BCD tables only load in the browser