Sélection des modes de rapport de paquets dans les pilotes multipoint (Windows 7)
Windows prend en charge trois modes de transmission des données multipoint au système : mode série, mode parallèle et mode hybride. Le descripteur de rapport IHM fourni par le fournisseur diffère d’après le mode sélectionné.
Nous recommandons aux fournisseurs d’utiliser le mode hybride ou parallèle, car ces modes peuvent améliorer l’efficacité de la remise des données du composant du système d’exploitation aux applications.
Mode série
Chaque paquet contient des informations qui décrivent un point de contact physique unique. Plusieurs contacts sont diffusés en série.
Dans ce mode, les appareils rapportent toutes les informations de contact dans une série de paquets. Chaque paquet contient des informations qui décrivent un seul contact physique. L’appareil envoie un paquet distinct pour chaque contact simultané.
Par exemple, si deux doigts sont utilisés, un appareil qui utilise le mode série envoie une mise à jour pour le premier contact, puis envoie une mise à jour pour le second contact. Ce processus se répète tant que les deux doigts sont en contact avec le numériseur.
Le mode série peut réduire la vitesse effective de création de rapports pour chaque contact physique sur l'appareil. Par exemple, si un appareil peut envoyer une mise à jour une fois toutes les millisecondes (ms) et que deux contacts physiques sont présents, chaque point de contact ne met à jour que toutes les 2 ms.
Pour obtenir un exemple de descripteur de rapport en mode série, consultez Exemple de descripteur de rapport (mode de création de rapports série).
En comparaison, les modes de génération de rapports hybrides et parallèles bénéficient d'une réduction des frais généraux de livraison des données.
Mode parallèle
En mode parallèle, les appareils signalent toutes les informations de contact dans un seul paquet. Chaque contact physique est représenté par une collection logique incorporée dans la collection de niveau supérieur. Cette collection logique contient tous les usages pris en charge par l’appareil pour chaque contact (par exemple, X, Y et Pression). Étant donné que l’appareil signale généralement moins de contacts que le nombre maximal, le nombre de contacts signalés dans un paquet parallèle doit être communiqué soit dans l’usage Nombre de contacts, soit en définissant des valeurs NULL pour tous les contacts non valides d’un paquet.
Considérez un appareil qui prend en charge trois contacts. Si l'utilisateur n'a actuellement que deux doigts sur le numériseur, le paquet parallèle ne contient que deux données de contact valides dans un paquet pouvant transporter des données pour trois contacts. Dans ce cas, le nombre de contacts doit être défini sur deux pour que l’application cliente sache que les informations sur plus de deux contacts ne sont pas valides.
L’appareil peut également définir les valeurs des usages des contacts au-delà de la deuxième entrée sur des valeurs NULL. L’application cliente peut détecter les contacts réels en examinant la valeur de l’utilisation du nombre de contacts ou en lisant les données jusqu’à ce qu’elles rencontrent une valeur NULL.
Pour obtenir un exemple de descripteur de rapport en mode parallèle, consultez Exemple de descripteur de rapport (mode parallèle/hybride).
Un inconvénient de signaler plusieurs contacts dans un seul paquet est que l'espace est gaspillé par paquet chaque fois qu'il y a moins de contacts à signaler que le nombre maximum de contacts possible. Les appareils peuvent utiliser le mode de création de rapports hybride pour réduire cette inefficacité.
Mode hybride
En mode hybride, le nombre de contacts pouvant être signalés dans un paquet est inférieur au nombre maximal de contacts pris en charge par l'appareil. Par exemple, un appareil qui prend en charge un maximum de 48 contacts physiques simultanés peut configurer sa collecte de niveau supérieur pour signaler un maximum de 12 contacts dans un paquet. Si 48 points de contact sont actuellement valides, l'appareil peut les décomposer en 4 paquets série qui signalent 12 contacts chacun.
Lorsqu'un appareil signale des données de cette manière, la valeur d'utilisation du nombre de contacts dans le premier paquet doit refléter le nombre total de contacts signalés dans les paquets hybrides. Les autres paquets série doivent avoir un nombre de contacts de 0. Dans l'exemple précédent, l'utilisation du nombre de contacts dans le premier paquet a une valeur de 48, tandis que les trois derniers paquets ont un nombre d'utilisations de contacts de 0.
Les modes de création de rapports hybrides et parallèles ont l’avantage de réduire la surcharge de remise des données.
Pour obtenir un exemple de descripteur de rapport en mode hybride, consultez Exemple de descripteur de rapport (mode parallèle/hybride).
Valeurs Null
Les valeurs Null doivent être spécifiées comme indiqué dans la spécification IHM. Le bit NULL doit être défini sur tous les éléments principaux du descripteur de rapport. N’oubliez pas qu’un appareil peut utiliser l’usage Nombre de contacts ou des valeurs NULL pour informer l’hôte du nombre réel de contacts valides dans un paquet.