Collection de pavé tactile de précision Windows (touchpad-windows-precision-touchpad-collection)
Cette rubrique décrit la collection de niveau supérieur d’un pavé tactile de précision Windows et explique comment la collection fournit des rapports de pavé tactile compatible IHM à l’hôte Windows.
Un périphérique pavé tactile de précision Windows peut utiliser le protocole IHM pour fournir une collection de niveau supérieur qui apparaît sous la forme d’un numériseur/pavé tactile (Page 0x0D, Utilisation 0x05).
La collection de pavés tactiles de précision Windows a pour but de fournir à l'hôte des rapports riches sur plusieurs contacts et boutons, ainsi que des informations sur les appareils liées à ces rapports. La collection doit prendre en charge deux rapports de fonctionnalités : un qui permet à l'hôte d'obtenir les fonctionnalités du périphérique et un autre rapport pour obtenir l'état de certification du périphérique. Pour obtenir un exemple de rapport d’entrée obligatoire, consultez Exemples de descripteurs de rapport.
Un rapport de fonctionnalité facultatif (mais fortement recommandé) peut être implémenté pour obtenir des indications sur le mode de latence de l'hôte, afin d'atteindre la consommation d'énergie requise sur les périphériques USB en mode veille. Les sections suivantes fournissent plus d'informations sur les rapports contenus dans la collection de niveau supérieur pour le pavé tactile de précision Windows.
Rapport de fonctionnalités d’appareil
Le rapport de fonctionnalités d’appareil est demandé par l’hôte du pavé tactile de précision Windows afin de récupérer des informations sur les capacités de rapport de contact du périphérique et le type de bouton du périphérique.
La fonctionnalité de création de rapports de contacts de l’appareil est définie par le nombre maximal de contacts de surface simultanés qu’il peut signaler. Un pavé tactile de précision Windows doit prendre en charge un minimum de 3 contacts simultanés et un maximum de 5 contacts simultanés. Le pavé tactile doit signaler cette valeur via le nombre maximum de contacts (Page 0x0D, Utilisation 0x55) dans le rapport de fonctionnalité des fonctionnalités du périphérique. Lors de la création de rapports de données, un périphérique ne doit pas signaler plus de contacts que le Nombre maximal de contacts. Si une trame d’entrée contient plus de contacts que le maximum, l’hôte rejettera la trame entière, y compris les données de tout contact précédemment signalé. Pour une meilleure expérience utilisateur, le dispositif doit supprimer la notification de tout nouveau contact détecté après que le nombre maximum a été atteint, pour la durée de vie du nouveau contact, même si certains contacts existants se retirent. Les contacts existants peuvent continuer à être signalés, et si certains se retirent, les nouveaux contacts entrants peuvent prendre leur place.
Le type de bouton de l’appareil est défini comme une implémentation dépressible (également appelée type pavé de clic) ou une implémentation non dépressible (également appelée pavé de pression). Il est également acceptable qu'un pavé tactile de précision Windows ait une surface de numériseur de rapport sans bouton et des boutons externes à la place.
Le type d'implémentation du bouton doit être spécifié via la valeur du type de bouton (Page 0x0D, Utilisation 0x59) dans le rapport de fonctionnalité des fonctionnalités du périphérique. Si l’appareil dispose d’une surface de numérisation de rapports sans bouton et s’appuie plutôt sur des boutons externes uniquement pour les clics de souris, cette utilisation peut éventuellement être signalée.
Le tableau suivant montre les valeurs d’utilisation du type de bouton.
Valeur du type de bouton | Implémentation |
---|---|
0 | Dépressible (pavé de clic) |
1 | Non dépressible (pavé de pression) |
2 | Non cliquable (pavé discret) |
L’hôte peut demander le rapport de fonctionnalités d’appareil d’un pavé tactile de précision Windows à tout moment après avoir lu le descripteur de rapport.
Rapport de fonctionnalités d’état de certification d’appareil
Le rapport des fonctionnalités de certification de l’appareil est demandé par l’hôte du Pavé tactile de précision Windows pour récupérer des informations sur l’objet blob de 256 octets de l’appareil.
Le signalement d'un blob valide et certifié à l'hôte est facultatif sur Windows 10, mais est nécessaire pour la compatibilité descendante avec Windows 8.1. Un périphérique qui ne communique pas un blob PTPHQA signé doit toujours signaler (tout) 256 octets, comme l'exemple de blob ci-dessous. Les appareils qui ne signalent pas un blob de certification valide ne fonctionneront pas sous Windows 8.1. Windows n'interagira pas avec les appareils qui utilisent l'utilisation du pavé tactile IHM, mais n'exposeront pas d'état de certification dans leur rapport de fonctionnalité des capacités du périphérique.
Les 256 octets doivent être spécifiés via l’utilisation spécifique du fournisseur dans une page d’utilisation définie par ce dernier (Page 0xFF, Utilisation 0xC5) dans le rapport de fonctionnalités d’état de certification d’appareil.
Avant qu'un périphérique reçoive un blob de 256 octets indiquant son statut de certification, il doit implémenter un blob par défaut comme suit :
0xfc, 0x28, 0xfe, 0x84, 0x40, 0xcb, 0x9a, 0x87, 0x0d, 0xbe, 0x57, 0x3c, 0xb6, 0x70, 0x09, 0x88, 0x07,
0x97, 0x2d, 0x2b, 0xe3, 0x38, 0x34, 0xb6, 0x6c, 0xed, 0xb0, 0xf7, 0xe5, 0x9c, 0xf6, 0xc2, 0x2e, 0x84,
0x1b, 0xe8, 0xb4, 0x51, 0x78, 0x43, 0x1f, 0x28, 0x4b, 0x7c, 0x2d, 0x53, 0xaf, 0xfc, 0x47, 0x70, 0x1b,
0x59, 0x6f, 0x74, 0x43, 0xc4, 0xf3, 0x47, 0x18, 0x53, 0x1a, 0xa2, 0xa1, 0x71, 0xc7, 0x95, 0x0e, 0x31,
0x55, 0x21, 0xd3, 0xb5, 0x1e, 0xe9, 0x0c, 0xba, 0xec, 0xb8, 0x89, 0x19, 0x3e, 0xb3, 0xaf, 0x75, 0x81,
0x9d, 0x53, 0xb9, 0x41, 0x57, 0xf4, 0x6d, 0x39, 0x25, 0x29, 0x7c, 0x87, 0xd9, 0xb4, 0x98, 0x45, 0x7d,
0xa7, 0x26, 0x9c, 0x65, 0x3b, 0x85, 0x68, 0x89, 0xd7, 0x3b, 0xbd, 0xff, 0x14, 0x67, 0xf2, 0x2b, 0xf0,
0x2a, 0x41, 0x54, 0xf0, 0xfd, 0x2c, 0x66, 0x7c, 0xf8, 0xc0, 0x8f, 0x33, 0x13, 0x03, 0xf1, 0xd3, 0xc1, 0x0b,
0x89, 0xd9, 0x1b, 0x62, 0xcd, 0x51, 0xb7, 0x80, 0xb8, 0xaf, 0x3a, 0x10, 0xc1, 0x8a, 0x5b, 0xe8, 0x8a,
0x56, 0xf0, 0x8c, 0xaa, 0xfa, 0x35, 0xe9, 0x42, 0xc4, 0xd8, 0x55, 0xc3, 0x38, 0xcc, 0x2b, 0x53, 0x5c,
0x69, 0x52, 0xd5, 0xc8, 0x73, 0x02, 0x38, 0x7c, 0x73, 0xb6, 0x41, 0xe7, 0xff, 0x05, 0xd8, 0x2b, 0x79,
0x9a, 0xe2, 0x34, 0x60, 0x8f, 0xa3, 0x32, 0x1f, 0x09, 0x78, 0x62, 0xbc, 0x80, 0xe3, 0x0f, 0xbd, 0x65,
0x20, 0x08, 0x13, 0xc1, 0xe2, 0xee, 0x53, 0x2d, 0x86, 0x7e, 0xa7, 0x5a, 0xc5, 0xd3, 0x7d, 0x98, 0xbe,
0x31, 0x48, 0x1f, 0xfb, 0xda, 0xaf, 0xa2, 0xa8, 0x6a, 0x89, 0xd6, 0xbf, 0xf2, 0xd3, 0x32, 0x2a, 0x9a,
0xe4, 0xcf, 0x17, 0xb7, 0xb8, 0xf4, 0xe1, 0x33, 0x08, 0x24, 0x8b, 0xc4, 0x43, 0xa5, 0xe5, 0x24, 0xc2
L’hôte peut demander le rapport d’état de certification d’appareil d’un pavé tactile de précision Windows à tout moment après avoir lu le descripteur de rapport.
Rapport de fonctionnalités du Mode de latence
Le rapport de fonctionnalités du Mode de latence est envoyé par l’hôte à un pavé tactile de précision Windows pour indiquer quand une latence élevée est souhaitable à des fins d’économies d’énergie et, à l’inverse, quand une latence normale est souhaitée pour le fonctionnement. Pour les pavés tactiles de précision Windows connectés par USB, cela permet à l’appareil de faire la différence entre la suspension pour inactivité (runtime IDLE) et la suspension parce que le système est en veille connectée ou S3.
Le mode de latence doit être indiqué à l’aide de la valeur de l’utilisation du mode de latence (Page 0x0D, Utilisation 0x60) dans le rapport de fonctionnalités du mode de latence. Le tableau suivant montre les valeurs d’utilisation du mode de latence.
Valeur du mode de latence | Mode de latence |
---|---|
0 | Latence normale |
1 | Latence élevée |
Rapport de fonctionnalité d’intensité haptique (facultatif)
Dans Windows 11, un rapport de fonctionnalités d’intensité haptique a été implémenté pour fournir une fonctionnalité supplémentaire qui s’appuie sur les PTP actuels avec des actionneurs haptiques. Le rapport de fonctionnalités d’intensité haptique est envoyé par l’hôte à un pavé tactile de précision Windows pour définir l’intensité des retours haptiques pour le pavé tactile. Ce rapport de fonctionnalités facultatif nécessite qu’un appareil signale un SimpleHapticsController (Page 0x09, Utilisation 0x01) qui expose un SET_FEATURE avec une seule intensité globale (Page 0x09, Utilisation 0x23).
Pour un exemple de descripteur, voir Exemples de descripteurs de rapport.
Pression sur le bouton Rapport de fonctionnalité de seuil (facultatif)
Dans Windows 11, build 26027+, la prise en charge de la force de clic configurable par l’utilisateur via les paramètres du pavé tactile Windows a été ajoutée (par exemple, seuil de pression sur le bouton, seuil de force appliquée sur le pavé tactile pour générer un clic/bouton enfoncé). Pour qu’un pavé tactile de précision soit pris en charge, il doit inclure la gestion du rapport SET_FEATURE pour le seuil de pression sur le bouton d’usage unique (page 0x0D, utilisation 0xB0). Pendant l’énumération, l’hôte évalue la plage logique et physique prise en charge à partir du descripteur et calcule les options exposées pour l’interface utilisateur des paramètres, notamment les valeurs par défaut. L’hôte émet la fonction SET_FEATURE pour communiquer le seuil de pression sur le bouton spécifié par l’utilisateur sur l’appareil. Cette émission peut se produire à tout moment, mais doit se produire chaque fois que le paramètre est modifié, qu’un basculement de l’utilisateur se produit et que le périphérique est énuméré ou réinitialisé.
La plage logique doit être mappée de manière linéaire à la plage physique de valeurs, et être uniformément espacée et centrée autour de la valeur par défaut. Lors de l’acquisition de la plage logique, la valeur par défaut est calculée en utilisant formule suivante :
Le minimum logique, la valeur par défaut et le maximum logique correspondent à 3 niveaux distincts de la force de pression sur le bouton qui est exposée à un utilisateur via l’interface utilisateur des paramètres Windows (prenant en charge respectivement « Faible », « Moyen » et « Élevé »).
La plage physique recommandée pour le seuil de pression sur le bouton consiste à couvrir au moins la plage comprise entre 110 g et 190 g, correspondant respectivement aux valeurs minimales et maximales. Pour un exemple de descripteur utilisant un maximum physique de 190 g et un minimum physique de 110 g (par conséquent, selon la formule ci-dessus, la valeur par défaut sera 150 g) consultez Exemples de descripteurs de rapport.
Rapports d’entrée de pavé tactile de précision Windows
L'hôte utilise les utilisations du tableau suivant lors de l'extraction des données de contact à partir d'un rapport d'entrée via la collection de pavés tactiles de précision Windows. Le tableau inclut toutes les utilisations obligatoires et les utilisations facultatives prises en charge liées à chaque contact unique du numériseur signalé.
Membre | Description | Page | id | Obligatoire/facultatif |
---|---|---|---|---|
Contact ID | Identifie de manière unique le contact dans un cadre donné. | 0x0D | 0x51 | Obligatoire |
X | Coordonnée X de la position du contact. | 0x01 | 0x30 | Obligatoire |
O | Coordonnée Y de la position de contact. | 0x01 | 0x31 | Obligatoire |
Conseil | Défini si le contact se trouve sur la surface du numériseur. | 0x0D | 0x42 | Obligatoire |
Confiance | Défini lorsqu’un contact est trop grand pour être un doigt. | 0x0D | 0x47 | Obligatoire |
Largeur | Largeur du rectangle englobant autour d’un contact. | 0x0D | 0x48 | Facultatif |
Hauteur | Hauteur du rectangle englobant autour d’un contact. | 0x0D | 0x49 | Facultatif |
Pression | Quantité de pression appliquée par l’utilisateur au point de contact. | 0x0D | 0x30 | Facultatif |
Azimuth | Rotation dans le sens inverse des aiguilles d’une montre du contact autour de l’axe Z. | 0x0D | 0x3F | Facultatif |
Le tableau suivant inclut toutes les utilisations de premier niveau qui doivent être présentes dans tous les rapports d’entrée du pavé tactile de précision Windows.
Membre | Description | Page | id | Obligatoire/facultatif |
---|---|---|---|---|
Heure de l’analyse | Temps d’analyse relatif. | 0x0D | 0x56 | Obligatoire |
Nombre de contacts | Nombre total de contacts à signaler dans un rapport donné. | 0x0D | 0x54 | Obligatoire |
Force mécanique | Force totale appliquée sur le capteur du pavé tactile. | 0x20 | 0x494 | Facultatif |
Bouton 1 | Indique l'état du bouton pour le bouton du pavé tactile intégré au numériseur. | 0x09 | 0x01 | Facultatif |
Bouton 2 | Indique l'état du bouton pour le bouton externe pour le clic principal (gauche par défaut). | 0x09 | 0x02 | Facultatif |
Bouton 3 | Indique l'état du bouton pour le bouton externe pour le clic secondaire (droit par défaut). | 0x09 | 0x03 | Facultatif |
Tout appareil qui ne signale pas toutes les utilisations obligatoires au niveau du contact ou du rapport ne sera pas fonctionnel en tant que pavé tactile de précision Windows. Les utilisations obligatoires sont strictement appliquées par l’hôte Windows. Lorsqu’une valeur maximale logique n’a pas été restreinte, elle peut être optimisée pour réduire la taille du descripteur.
Les sections suivantes fournissent des informations sur les membres dans les rapports. Pour plus d’informations sur les membres Boutons, consultez Boutons, Utilisations au niveau du rapport.
Contact ID
Identifie de manière unique un contact dans un rapport pour son cycle de vie. L’ID de contact doit rester constant pendant que le contact est détecté et signalé par l’appareil. Chaque contact simultané distinct doit avoir un identificateur unique. Les identificateurs peuvent être réutilisés une fois que le contact précédemment associé n’est plus détecté ou signalé. Il n’y a pas de plage numérique attendue, et les valeurs utilisées sont uniquement limitées par le maximum logique spécifié dans le descripteur.
X/Y
Les valeurs X et Y indiquent les coordonnées d’un contact donné. Un pavé tactile de précision Windows doit signaler un point pour chaque contact. Les éléments globaux suivants doivent être spécifiés pour les utilisations X et Y :
Minimum logique et maximum logique (en veillant à ce que la résolution d’entrée soit supérieure ou égale à 300DPI).
Remarque L’ensemble de la plage de coordonnées logiques doit être reportable sur les axes X et Y.
Minimum physique et maximum physique (voir Intégration des appareils – Taille).
Unité et exposant d’unité.
La coordonnée 0,0 (valeurs x, y) indique le coin supérieur gauche du pavé tactile.
Conseil
Utilisé pour indiquer quand le contact est sur la surface ou a quitté la surface du numériseur. Cela est indiqué par un élément principal avec une taille de rapport de 1 bit. Lors de la remise d’un rapport de contact, le bit doit être défini lorsque le contact se trouve sur la surface du numériseur et effacé lorsque le contact a quitté la surface.
Lorsqu'un contact est signalé alors que le commutateur de pointe est dégagé, l'emplacement (X, Y) signalé doit être le même que la dernière position signalée avec l'interrupteur de pointe activé.
En référence à l'exemple décrit dans le schéma précédent, deux contacts sont placés sur un pavé tactile de précision Windows, puis, à un moment donné, le premier contact est levé tandis que le second reste sur la surface pendant un certain temps. Cela serait signalé comme décrit dans le tableau suivant.
Rapport | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
---|---|---|---|---|---|---|---|---|---|---|---|
Nombre de contacts | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 1 | 1 |
Contact 1 : commutateur de pointe | 1 | 1 | 1 | 1 | 1 | 0 | NR | NR | NR | NR | NR |
Contact 1 : X,Y | X₁, Y₁ | X₂,Y₂ | X₃, Y₃ | X₄, Y₄ | X₅, Y₅ | X₆, Y₆ | NR | NR | NR | NR | NR |
Contact 2 : commutateur de pointe | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
Contact 2 : X,Y | X₁, Y₁ | X₂,Y₂ | X₃, Y₃ | X₄, Y₄ | X₅, Y₅ | X₆, Y₆ | X₇, Y₇ | X₈, Y₈ | X₉, Y₉ | X₁₀, Y₁₀ | X₁₁, Y₁₁ |
Confidence
Utilisé pour indiquer que le contact est intentionnel. Testez les exigences de compatibilité pour vérifier que ce bit est défini sur « Désactivé » lorsqu’un contact a des dimensions (hauteur ou largeur) supérieures à 25 mm, ce qui implique qu’il ne s’agit pas d’un contact involontaire. Les périphériques pavé tactile de précision Windows ne doivent pas masquer les contacts dans le traitement du microprogramme, mais doivent transférer tous les contacts à l’hôte et indiquer la confiance. L'hôte utilisera alors la confiance pour suivre le contact comme accidentel.
Une fois qu'un périphérique a déterminé qu'un contact n'est pas intentionnel, il doit effacer le bit de confiance pour ce rapport de contact et tous les rapports ultérieurs. Jusqu'à ce qu'un contact ait été classé comme non intentionnel, le périphérique doit définir le bit de confiance pour ce contact dans le rapport.
Width et Height
Les usages Largeur et Hauteur représentent la largeur et la hauteur du rectangle englobant autour du contact de pavé tactile. Les valeurs signalées ne doivent jamais être égales à zéro (0), sauf lorsqu’un événement « HAUT » est signalé, auquel cas elles doivent être égales à zéro (0).
Pression
La pression est une mesure de la force exercée par le doigt sur la surface du numériseur. Il n’y a aucune restriction concernant la plage autorisée pour la pression.
Azimuth
Azimuth spécifie la rotation dans le sens inverse des aiguilles d’une montre du curseur autour de l’axe Z à travers une plage circulaire complète. La plage physique et la plage logique doivent être spécifiées. La plage physique doit être comprise entre 0 et 360 ou l’équivalent en radians, mais le périphérique peut signaler la plage complète ou la moitié de la plage en supposant que l’ellipse de contact soit symétrique en fonction des fonctionnalités matérielles. La plage logique doit être suffisamment grande pour fournir des données précises, à au moins deux décimales.
Temps d’analyse
Le temps d’analyse indique le temps relatif du numériseur en unités de 100 μs. Le temps d'analyse représente le delta à partir de la première trame qui a été signalée après qu'un périphérique a commencé à signaler des données après une période d'inactivité. L’heure de la première analyse reçue est traitée comme une heure de base pour les heures signalées suivantes. Les deltas entre les heures d’analyse signalées doivent refléter la fréquence d’analyse du numériseur. Il est important de noter que contrairement à d’autres utilisations, l’hôte n’offre aucune flexibilité pour l’unité pour l’utilisation du temps d’analyse. Il doit être en unités de 100 μs. La valeur est censée être remplacée, car seuls 2 octets sont alloués au compteur.
La valeur de temps d’analyse doit être la même pour tous les contacts au sein d’une trame.
Nombre de contacts
Cette valeur est utilisée pour indiquer le nombre de contacts signalés dans une trame donnée, quel que soit le commutateur de pointe associé.
Force mécanique
Elle est utilisée pour signaler la force totale appliquée sur le capteur du pavé tactile, indépendamment de la pression facultative qui peut être signalée pour chaque doigt. Si la pression est également signalée pour les contacts individuels, les unités, l’exposant d’unités, la plage physique et la plage logique doivent être en retrait pour la pression et la force mécanique, et la valeur de la force mécanique doit être = SUM(Pression pour Contact 1 + Pression pour Contact 2 + .... etc) quel que soit le chiffre binaire de confiance pour chacun de ces contacts.