Entwickeln von Windows-Gerätetreibern für Human Interface Devices (HID)
Erfahren Sie, wie Sie Windows-Gerätetreiber für Human Interface Devices (HID) entwickeln. HID ist eine Geräteklassendefinition für generische USB-Treiber zur Unterstützung von HID-Geräten wie Tastaturen, Mäusen, Gamecontrollern usw. Vor HID konnten Geräte nur streng definierte Protokolle für Mäuse und Tastaturen verwenden. Hardwareinnovation erforderte entweder die Überladung von Daten in einem vorhandenen Protokoll oder das Erstellen von nicht standardmäßiger Hardware mit einem eigenen speziellen Treiber. HID bietet Unterstützung für Startmodusgeräte und bietet Unterstützung für Innovationen durch erweiterbare, standardisierte und einfach programmierbare Schnittstellen.
HID-Geräte umfassen alphanumerische Displays, Barcodeleser, Lautsprecher, Headsets, Hilfsanzeigen, Sensoren und viele andere. Hardwareanbieter verwenden auch HID für ihre proprietären Geräte.
HID begann mit USB, wurde aber als busagnostisch konzipiert. Es wurde für Geräte mit geringer Latenz, geringer Bandbreite, aber mit Flexibilität entwickelt, um die Rate im zugrunde liegenden Transport anzugeben. Die USB-IF hat die Spezifikation für HID über USB im Jahr 1996 ratifiziert. Die Unterstützung für HID über andere Transporte folgte bald. Details zu derzeit unterstützten Transporten finden Sie unter HID-Transporte, die in Windows unterstützt werden. Anbieterspezifische Transporte sind auch über benutzerdefinierte Transporttreiber zulässig.
HID-Konzepte
HID besteht aus zwei grundlegenden Konzepten, einem Berichtsdeskriptor und Berichten. Berichte sind die tatsächlichen Daten, die zwischen einem Gerät und einem Softwareclient ausgetauscht werden. Der Berichtdeskriptor beschreibt das Format und die Bedeutung der Daten, die das Gerät unterstützt.
Berichte
Anwendungen und HID-Geräte tauschen Daten über Berichte aus. Es gibt drei Berichtstypen:
Berichtstyp | Beschreibung |
---|---|
Eingabebericht | Daten, die vom HID-Gerät an die Anwendung gesendet werden, in der Regel, wenn sich der Zustand eines Steuerelements ändert. |
Ausgabebericht | Daten, die von der Anwendung an das HID-Gerät gesendet werden, z. B. an die LEDs auf einer Tastatur. |
Featurebericht | Daten, die manuell gelesen und geschrieben werden können und in der Regel mit Konfigurationsinformationen zusammenhängen. |
Jede in einem Berichtsdeskriptor definierte Auflistung auf oberster Ebene kann null oder mehr Berichte jedes Typs enthalten.
Verwendungstabellen
Die ARBEITSGRUPPE USB-WENN veröffentlicht HID-Verwendungstabellen, die Teil der Berichtsdeskriptoren sind, die beschreiben, was HID-Geräte tun dürfen. Diese HID-Verwendungstabellen enthalten eine Liste mit Beschreibungen von Verwendungen , die die beabsichtigte Bedeutung und Verwendung eines bestimmten Elements im Berichtsdeskriptor beschreiben. Beispielsweise wird eine Verwendung für die linke Maustaste definiert. Der Berichtsdeskriptor kann definieren, wo in einem Bericht eine Anwendung den aktuellen Zustand der linken Maustaste finden kann. Die Verwendungstabellen sind in mehrere Namenszeichen unterteilt, die als Verwendungsseiten bezeichnet werden. Jede Verwendungsseite beschreibt eine Reihe verwandter Verwendungen, um das Dokument zu organisieren. Die Kombination aus einer Verwendungs- und einer Verwendungsseite definiert die Verwendungs-ID, die eine bestimmte Verwendung in den Verwendungstabellen eindeutig identifiziert.