Utilisation des descripteurs de rapport pour prendre en charge la découverte de fonctionnalités (Windows 7)
Cette section décrit comment les fournisseurs utilisent le descripteur de rapport pour prendre en charge la découverte des fonctionnalités pour les appareils tactiles et multi-tactiles.
Descripteur de rapport
Un pilote fourni par le fournisseur signale ses fonctionnalités d’appareil au système d’exploitation en fournissant un descripteur de rapport. Pour obtenir un exemple complet de descripteur de rapport, consultez le fichier Elotouch.c, qui fait partie de l’exemple EloMT dans le Kit WDK (Windows Driver Kit).
Pour que Windows 7 détecte la capacité d’un appareil à prendre en charge plusieurs entrées, le pilote doit inclure l’utilisation de l’identificateur de contact (0x51) dans le descripteur de rapport. N’oubliez pas que dans Exemple de descripteur de rapport (mode de création de rapports en série), cette utilisation se trouve dans la seule collection physique de niveau supérieur, tandis que dans Exemple de descripteur de rapport (mode parallèle/hybride), cette utilisation apparaît une fois dans les deux collections logiques qui décrivent les entrées multiples.
Exclusivité du rapport de fonctionnalités
Dans Windows 7, le système ouvre exclusivement la collection de niveau supérieur de configuration qui contient le rapport des fonctionnalités en mode appareil. Étant donné que le système d’exploitation ouvre exclusivement le rapport de fonctionnalités, le rapport n’est pas accessible aux applications tierces.
Étant donné que Windows 7 configure l’appareil pour qu’il signale des données par plusieurs entrées uniquement, la collection de niveau supérieur doit prendre en charge les utilisations multipoint requises. Pour plus d’informations sur les utilisations requises, consultez Prise en charge des utilisations dans les pilotes du numériseur multipoint.
Dans Windows XP et Windows Vista, les applications tierces peuvent utiliser le rapport de fonctionnalités pour sélectionner le mode d’entrée actuellement actif, par exemple l’entrée tactile unique ou l’entrée basée sur la souris. Nous vous recommandons d’utiliser la touche unique pour l’Édition Tablette PC Windows XP et Windows Vista. Nous vous recommandons d’utiliser la souris pour Windows XP et Microsoft Windows 2000.
Exigences relatives aux rapports de fonctionnalités
Le rapport de fonctionnalités doit se trouver dans sa propre collection de niveau supérieur et doit inclure les multiples utilisations de configuration d’entrée.
L’exemple suivant montre un rapport de fonctionnalités d’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
Modèle d’appareil
L’utilisation du mode appareil (0x52) peut avoir l’une des valeurs suivantes :
Mode | Valeur |
---|---|
Souris (valeur par défaut recommandée) |
0x00 |
Entrée unique (touche unique ou stylet) |
0x01 |
Entrée multiple |
0x02 |
Lorsque le mode d’entrée unique est défini, les fournisseurs peuvent effectuer l’une des opérations suivantes :
Envoyez des informations sur le premier contact uniquement. Cela peut être implémenté dans le microprogramme ou le pilote de périphérique.
Supprimez toutes les informations sur les autres contacts dans le minipilote IHM. Cette approche réduit la logique requise dans le microprogramme. Toutefois, il est disponible uniquement pour les implémenteurs qui choisissent d’écrire un pilote de périphérique.
Lorsque le mode souris est défini, le microprogramme ou le pilote de périphérique doit acheminer les données du premier contact détecté à l’aide de la collection de niveau supérieur de la souris.
Choisissez le mode d’appareil par défaut approprié pour votre appareil en fonction des fonctionnalités de votre appareil et des versions du système d’exploitation qu’il prend en charge. Pour assurer la compatibilité descendante avec les versions antérieures de Windows, nous recommandons le mode souris comme mode par défaut. Avec le mode souris défini par défaut, l’appareil peut fonctionner avec n’importe quel système d’exploitation.
Si vous pouvez garantir que votre appareil ne sera utilisé sur aucune version de Windows antérieure à Windows Vista, il est préférable de définir par défaut le mode à entrée unique. Windows 7 reconfigure l’appareil pour plusieurs entrées s’il découvre la fonctionnalité.
Identificateur de l’appareil
L’identificateur d’appareil (0x53) est une valeur statique (SV) lorsqu’il fait partie d’une collection de numériseur ou de souris de niveau supérieur. Il est obligatoire lorsqu’un descripteur de rapport contient plusieurs collections de niveau supérieur du numériseur du même type. Cette utilisation identifie de manière unique la collection de niveau supérieur du numériseur et doit apparaître dans le rapport des fonctionnalités.
Si l’appareil peut fonctionner comme une souris, la collection de souris doit avoir le même identificateur d’appareil que la collection de numériseur correspondante. Les appareils avec une seule collection de niveau supérieur du numériseur ne sont pas nécessaires pour spécifier l’utilisation d’un identificateur d’appareil.
Lorsque l’utilisation fait partie d’une collection logique de paramètres d’appareil, il s’agit d’une valeur dynamique (DV). Dans ce scénario, l’utilisation permet à l’hôte de sélectionner l’appareil qu’il souhaite configurer. Une valeur zéro indique toutes les collections. Une valeur différente de zéro indique la collection de niveau supérieur avec l’identificateur d’appareil correspondant.
Support de fonction tactile et stylet
Si votre appareil inclut un numériseur qui fournit à la fois des fonctionnalités tactiles et stylet Windows, vous devez signaler les collections tactiles et de stylet séparément. Si votre pilote peut être installé sur une Tablette PC ou un autre ordinateur qui n’a pas de souris, vous devez également signaler une collection de souris.