Freigeben über


Verwenden von Berichtsdeskriptoren zur Unterstützung der Capability Discovery (Windows 7)

In diesem Abschnitt wird beschrieben, wie Anbieter den Berichtsdeskriptor verwenden, um die Fähigkeitserkennung für Touch- und Multi-Touch-Geräte zu unterstützen.

Berichtsbeschreibung

Ein vom Hersteller bereitgestellter Treiber meldet seine Gerätefunktionen an das Betriebssystem, indem er einen Berichtsdeskriptor bereitstellt. Ein vollständiges Beispiel für einen Berichtsdeskriptor finden Sie in der Datei Elotouch.c, die Teil des EloMT-Beispiels im Windows Driver Kit (WDK) ist.

Damit Windows 7 die Fähigkeit eines Geräts erkennen kann, mehrere Eingaben zu unterstützen, muss der Treiber die Verwendung der Kontaktkennung (0x51) in den Berichtsdeskriptor aufnehmen. Beachten Sie, dass sich diese Verwendung im Beispielberichtsdeskriptor (serieller Berichtsmodus) in der einzelnen physischen Sammlung der obersten Ebene befindet, während diese Verwendung im Beispielberichtsdeskriptor (Parallel-/Hybridmodus) einmal in beiden logischen Sammlungen erscheint, die die beschreiben mehrere Eingänge.

Exklusivität des Feature-Berichts

In Windows 7 öffnet das System ausschließlich die Sammlung der obersten Konfigurationsebene, die den Gerätemodus-Funktionsbericht enthält. Da das Betriebssystem ausschließlich den Funktionsbericht öffnet, ist der Bericht für Anwendungen von Drittanbietern nicht zugänglich.

Da Windows 7 das Gerät so konfiguriert, dass Daten nur durch Mehrfacheingabe gemeldet werden, muss die Sammlung der obersten Ebene die erforderliche Multi-Touch-Nutzung unterstützen. Informationen zu erforderlichen Verwendungen finden Sie unter Unterstützung von Verwendungen in Multi-Touch-Digitizer-Treibern.

In Windows XP und Windows Vista können Anwendungen von Drittanbietern den Feature-Bericht verwenden, um den aktuell aktiven Eingabemodus auszuwählen, z. B. Single-Touch- oder Maus-basierte Eingabe. Wir empfehlen Single Touch für Windows XP Tablet PC Edition und Windows Vista. Wir empfehlen die Maus für Windows XP und Microsoft Windows 2000.

Anforderungen an Feature-Berichte

Der Featurebericht muss sich in einer eigenen Sammlung der obersten Ebene befinden und die Verwendung mehrerer Eingabekonfigurationen enthalten.

Das folgende Beispiel zeigt einen Feature-Bericht von Elotouch.c:

    0x09, 0x0E,                         // USAGE (Device Configuration)
    0xa1, 0x01,                         // COLLECTION (Application)
    0x85, REPORTID_FEATURE,             //   REPORT_ID (Configuration)
    0x09, 0x23,                         //   USAGE (Device Settings)
    0xa1, 0x02,                         //   COLLECTION (logical)    
    0x09, 0x52,                         //    USAGE (Device Mode)         
    0x09, 0x53,                         //    USAGE (Device Identifier)
    0x15, 0x00,                         //    LOGICAL_MINIMUM (0)      
    0x25, 0x0a,                         //    LOGICAL_MAXIMUM (10)
    0x75, 0x08,                         //    REPORT_SIZE (8)         
    0x95, 0x02,                         //    REPORT_COUNT (2)         
    0xb1, 0x02,                         //   FEATURE (Data,Var,Abs    
    0xc0,                               //   END_COLLECTION
    0xc0,                               // END_COLLECTION

Gerätemodus

Die Verwendung des Gerätemodus (0x52) kann einen der folgenden Werte haben:

Modus Wert

Maus (empfohlene Standardeinstellung)

0x00

Single-Input (Single-Touch oder Stylus)

0x01

Mehrfache Eingabe

0x02

Wenn der Single-Input-Modus eingestellt ist, können Anbieter einen der folgenden Schritte ausführen:

  • Senden Sie nur Informationen über den ersten Kontakt. Dies kann in der Firmware oder im Gerätetreiber implementiert werden.

  • Löschen Sie alle Informationen über andere Kontakte im HID-Minitreiber. Dieser Ansatz reduziert die in der Firmware erforderliche Logik. Es ist jedoch nur für Implementierer verfügbar, die sich dafür entscheiden, einen Gerätetreiber zu schreiben.

Wenn der Mausmodus eingestellt ist, sollte die Firmware oder der Gerätetreiber die Daten vom ersten Kontakt weiterleiten, der mithilfe der Sammlung der obersten Ebene der Maus erkannt wurde.

Wählen Sie basierend auf den Fähigkeiten Ihres Geräts und den unterstützten Betriebssystemversionen den geeigneten Standardgerätemodus für Ihr Gerät aus. Aus Gründen der Abwärtskompatibilität mit früheren Windows-Versionen empfehlen wir den Mausmodus als Standardeinstellung. Wenn der Mausmodus standardmäßig eingestellt ist, kann das Gerät mit jedem Betriebssystem arbeiten.

Wenn Sie garantieren können, dass Ihr Gerät nicht mit einer früheren Windows-Version als Windows Vista verwendet wird, ist es besser, die Standardeinstellung auf den Einzeleingabemodus einzustellen. Windows 7 konfiguriert das Gerät für die Mehrfacheingabe neu, wenn es die Funktion erkennt.

Gerätebezeichner

Die Gerätekennung (0x53) ist ein statischer Wert (SV), wenn er Teil einer Sammlung von Digitizern oder Mäusen der obersten Ebene ist. Es ist erforderlich, wenn ein Berichtsdeskriptor mehrere Sammlungen der obersten Ebene des Digitizers derselben Art enthält. Diese Verwendung identifiziert die Digitizer-Sammlung der obersten Ebene eindeutig und sollte im Funktionsbericht erscheinen.

Wenn das Gerät als Maus fungieren kann, sollte die Maussammlung dieselbe Gerätekennung haben wie die entsprechende Digitalisierersammlung. Geräte mit nur einer Digitizer-Sammlung der obersten Ebene müssen keine Geräte-ID-Nutzung angeben.

Wenn die Nutzung Teil einer logischen Sammlung von Geräteeinstellungen ist, handelt es sich um einen dynamischen Wert (DV). In diesem Szenario ermöglicht die Verwendung dem Host, das Gerät auszuwählen, das er konfigurieren möchte. Ein Wert von Null gibt alle Sammlungen an. Ein Wert ungleich Null gibt die Sammlung der obersten Ebene mit übereinstimmender Gerätekennung an.

Touch-und Stiftunterstützung

Wenn Ihr Gerät über einen Digitizer verfügt, der sowohl Windows Touch- als auch Stiftfunktionen bereitstellt, müssen Sie Touch- und Stiftsammlungen separat melden. Wenn Ihr Treiber möglicherweise auf einem Slate-Tablet-PC oder einem anderen Computer ohne Maus installiert ist, sollten Sie auch eine Maussammlung melden.