Übersicht über Windows Touch (Windows 7)
Windows Touch ist der Name für die Touch- und Multitouchfunktionen im Betriebssystem Windows 7. Im Kontext von Windows Touch bezieht sich Touch auf die Unterstützung eines einzelnen physischen Kontaktpunkts, während Multitouch die Unterstützung für zwei oder mehr gleichzeitige physische Kontakte bezeichnet.
Entscheiden über die Bereitstellung eines Treibers
In Windows 7 müssen Anbieter, die Windows Touch unterstützen, möglicherweise einen Treiber bereitstellen. Wenn Ihr Digitalisierergerät HID in der Firmware unterstützt, müssen Sie keinen Treiber bereitstellen. Sollte Ihr Gerät HID nicht in der Firmware unterstützen, müssen Sie einen Treiber mitliefern, der die HID-Unterstützung simuliert.
Es wird empfohlen, USB-HID-Geräte als Touchgeräte zu verwenden. Außerdem sollten Anbieter keinen Treiber bereitstellen. In diesem Szenario werden der Meldedeskriptor und die zugehörigen Informationen in der Firmware bereitgestellt.
Unabhängig davon, ob Sie einen Treiber bereitstellen, müssen Sie das selektive Sperren in Ihrer INF-Datei unterstützen. Weitere Informationen zur Unterstützung selektiver Sperrungen finden Sie unter Aktivieren selektiver Sperrungen von USB-HID-Geräten.
Ein vom Anbieter bereitgestellter Treiber sollte die eigene Verarbeitung einschränken, um die Systemleistung nicht zu beeinträchtigen und die Akkulaufzeit in mobilen Szenarien zu verkürzen. Touchgeräte sollten so viel wie möglich in der Firmware verarbeiten, um eine optimale Benutzererfahrung zu bieten.
Treibermodell
Wenn Sie einen Treiber bereitstellen möchten, sollten Sie einen KMDF-basierten niedrigeren Filtertreiber schreiben. Ihr Treiber sollte dieselbe Funktionalität wie ein HID-Minidriver bereitstellen, aber als Filtertreiber unter einem minimalen WDM-Treiber registriert werden (auch als Shim-Treiber bezeichnet). Ein Shim-Treiber ist erforderlich, da KMDF 1.9 HID-Minidriver nicht nativ unterstützt. In Windows 7 und höheren Versionen von Windows können Sie den vom System bereitgestellten Treiber „Mshidkmdf.sys“ als Shim verwenden.
„Mshidkmdf.sys“ wird in früheren Versionen von Windows nicht vom System bereitgestellt. Wenn Sie Versionen von Windows vor Windows 7 unterstützen, können Sie den Shim-Treiber selbst erstellen. Die MSDN Code Gallery enthält den Quellcode für diesen Treiber im Unterverzeichnis „hidmapper“ des Beispielpakets. Weitere Informationen zum Erstellen des Shim-Treibers finden Sie in der Infodatei zum HIDUSBFX2-Beispiel in der MSDN Code Gallery.
WDM wird nicht für natürliche Eingabetreiber empfohlen, dies gilt auch für Treiber, die Windows Touch unterstützen.
Beispiele
Die Beispieltreiber WacomKMDF und EloMT zeigen, wie Sie „Mshidkmdf.sys“ mit einem vom Anbieter bereitgestellten niedrigeren Filtertreiber koppeln.
EloMT ist ein KMDF-basierter Beispieltreiber für Digitalisierer, der Multitouchunterstützung bietet. WacomKMDF ist ein KMDF-basierter Beispieltreiber für die Stifteingabe.
In beiden Beispielen wird „Mshidkmdf.sys“ als nominaler HID-Minitreiber verwendet, während der vom Hersteller bereitgestellte KMDF-Treiber ein niedriger Filtertreiber unter „Mshidkmdf.sys“ ist. „Mshidkmdf.sys“ leitet IRPs an den vom Anbieter bereitgestellten niedrigeren Filtertreiber weiter.
Das EloMT-Beispiel enthält alle Funktionen, die erforderlich sind, um einen Multitouchtreiber unter Windows 7 auszuführen. Der Elotouch-Treiber kann sowohl als Multitouch- als auch als Maustreiber arbeiten.