Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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.

EventTarget HIDDevice

Instanzeigenschaften

Diese Schnittstelle erbt außerdem Eigenschaften von EventTarget.

HIDDevice.opened Schreibgeschützt

Gibt einen Boolean zurück, der angibt, ob eine Verbindung zum Gerät geöffnet ist.

HIDDevice.vendorId Schreibgeschützt

Gibt die vendorId des HID-Geräts zurück.

HIDDevice.productId Schreibgeschützt

Gibt die productId des HID-Geräts zurück.

HIDDevice.productName Schreibgeschützt

Gibt einen String mit dem Produktnamen des HID-Geräts zurück.

HIDDevice.collections Schreibgeschü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 Promise zurü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 Promise zurü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 Promise zurü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 Promise zurück, das erfüllt wird, sobald der Report gesendet wurde.

HIDDevice.sendFeatureReport()

Sendet einen Feature-Report an dieses HID-Gerät und gibt ein Promise zurü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 Promise zurück, das mit einer DataView erfü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.

js
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.

js
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

Browser-Kompatibilität