Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.
Experimentell:Dies ist eineexperimentelle Technologie
Überprüfen Sie dieBrowser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Hinweis: This feature is available inWeb Workers, except forShared Web Workers.
DieHIDDevice-Schnittstelle derWebHID 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.
In diesem Artikel
Instanzeigenschaften
Diese Schnittstelle erbt auch Eigenschaften vonEventTarget.
HIDDevice.openedSchreibgeschütztExperimentellGibt einen
booleanzurück, der wahr ist, wenn das Gerät eine offene Verbindung hat.HIDDevice.vendorIdSchreibgeschütztExperimentellGibt die vendorId des HID-Geräts zurück.
HIDDevice.productIdSchreibgeschütztExperimentellGibt die productId des HID-Geräts zurück.
HIDDevice.productNameSchreibgeschütztExperimentellGibt einen String zurück, der den Produktnamen des HID-Geräts enthält.
HIDDevice.collectionsSchreibgeschütztExperimentellGibt ein Array von Berichtsformaten für das HID-Gerät zurück.
Ereignisse
inputreportExperimentellWird ausgelöst, wenn ein Bericht vom Gerät gesendet wird.
Instanzmethoden
Diese Schnittstelle erbt auch Methoden vonEventTarget.
HIDDevice.open()ExperimentellÖffnet eine Verbindung zu diesem HID-Gerät und gibt ein
Promisezurück, das aufgelöst wird, sobald die Verbindung erfolgreich hergestellt wurde.HIDDevice.close()ExperimentellSchließt die Verbindung zu diesem HID-Gerät und gibt ein
Promisezurück, das aufgelöst wird, sobald die Verbindung geschlossen wurde.HIDDevice.forget()ExperimentellSchließt die Verbindung zu diesem HID-Gerät und setzt die Zugriffsberechtigung zurück. Es gibt ein
Promisezurück, das aufgelöst wird, sobald die Berechtigung zurückgesetzt wurde.HIDDevice.sendReport()ExperimentellSendet einen Ausgabebericht an dieses HID-Gerät und gibt ein
Promisezurück, das aufgelöst wird, sobald der Bericht gesendet wurde.HIDDevice.sendFeatureReport()ExperimentellSendet einen Merkmalsbericht an dieses HID-Gerät und gibt ein
Promisezurück, das aufgelöst wird, sobald der Bericht gesendet wurde.HIDDevice.receiveFeatureReport()ExperimentellEmpfängt einen Merkmalsbericht von diesem HID-Gerät in Form eines
Promise, das mit einemDataViewaufgelöst wird. Dies ermöglicht einen typisierten Zugriff auf den Inhalt dieser Nachricht.
Beispiele
Das folgende Beispiel zeigt, wie eininputreport-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 wirdsendFeatureReport 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 ArtikelVerbindung zu ungewöhnlichen HID-Geräten herstellen.
Spezifikationen
| Specification |
|---|
| WebHID API> # dom-hiddevice> |