Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
WebHID API
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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.
Ein Human Interface Device (HID) ist ein Gerätetyp, der Eingaben von oder Ausgaben an Menschen liefert. Es bezieht sich auch auf das HID-Protokoll, einen Standard für die bidirektionale Kommunikation zwischen einem Host und einem Gerät, das entwickelt wurde, um das Installationsverfahren zu vereinfachen. Das HID-Protokoll wurde ursprünglich für USB-Geräte entwickelt, aber es wurde seitdem über viele andere Protokolle hinaus implementiert, einschließlich Bluetooth.
In diesem Artikel
Schnittstellen
HIDBietet Methoden zum Verbinden mit HID-Geräten, zum Auflisten angehängter HID-Geräte und Ereignishandlern für verbundene HID-Geräte.
HIDDeviceRepräsentiert ein HID-Gerät. Es ist möglich, dass ein physisches Gerät durch mehrere
HIDDevice-Objekte repräsentiert wird.HIDInputReportEventWird an das
HIDDevice-inputreportEreignis übergeben, wenn ein Eingabebericht von einem zugeordneten HID-Gerät empfangen wird.HIDConnectionEventWird an
HID-connectunddisconnectEreignisse übergeben, wenn ein Gerät verbunden oder getrennt wird.
Beispiele
Sie können mit der MethoderequestDevice() eine Verbindung zu einem Gerät herstellen. In diesem Fall wählen wir aus allen verfügbaren Geräten aus.
const device = await navigator.hid.requestDevice({ filters: [] });// A popup titled `... wants to connect to a HID Device` with `Cancel` and `Connect` buttons will show up with a device list to select from.// Select one and click on `Connect` button. Then the device will be an array with the selected device in it.Wir können alle Geräte abrufen, für die der Website zuvor Zugriff gewährt wurde, und die Gerätenamen in der Konsole protokollieren.
let devices = await navigator.hid.getDevices();devices.forEach((device) => { console.log(`HID: ${device.productName}`);});Wir können Ereignislistener für die Trennung von HID-Geräten registrieren.
navigator.hid.addEventListener("disconnect", (event) => { console.log(`HID disconnected: ${event.device.productName}`); console.dir(event);});// For example, when my connected keyboard gets disconnected, the log in the console will show:// HID disconnected: USB Keyboard// {// bubbles: false// cancelBubble: false// cancelable: false// composed: false// currentTarget: HID {onconnect: null, ondisconnect: null}// defaultPrevented: false// device: HIDDevice {oninputreport: null, opened: false, vendorId: 6700, productId: 11555, productName: "USB Keyboard", …}// eventPhase: 0// isTrusted: true// path: []// returnValue: true// srcElement: HID {onconnect: null, ondisconnect: null}// target: HID {onconnect: null, ondisconnect: null}// timeStamp: 18176.600000023842// type: "disconnect"// }// The event above is an instance of the HIDConnectionEvent interface.Spezifikationen
| Specification |
|---|
| WebHID API> # dom-hid> |