Collection de pavé tactile de précision Windows (touchpad-windows-precision-touchpad-collection)

Cette rubrique décrit la collection de premier niveau d’un pavé tactile de précision Windows et explique comment la collection fournit un rapportage de pavé tactile compatible avec HID à l’hôte Windows.

Un périphérique pavé tactile Precision Windows peut utiliser le protocole HID 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 vise à fournir à l'hôte des rapports riches sur plusieurs contacts et boutons, ainsi que des informations sur l'appareil 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.

Pavés tactiles haptiques

Un pavé tactile haptique est un pavé tactile de précision Windows qui utilise un actionneur haptique (tel qu’un actionneur résonant linéaire ou moteur piezoélectrique) pour simuler la sensation d’un clic mécanique, plutôt que de s’appuyer sur un mécanisme de charnière physiquement mobile. Étant donné qu'il n'y a pas de plaque à ressort mécanique ou d'ensemble de bouton à charnière, la surface du pavé tactile reste stationnaire ; le retour tactile du clic est fourni entièrement grâce à des vibrations contrôlées avec précision.

Principales différences par rapport aux pavés tactiles mécaniques :

  • Aucune pièce mobile : les pavés tactiles mécaniques utilisent une surface de charnière ou un commutateur de dôme qui se déprime physiquement lorsque l’utilisateur clique. Les pavés tactiles haptiques ont une surface rigide et non mobile et produisent une réponse tactile de clic par vibration.
  • Sensation de clic uniforme : Sur un pavé tactile mécanique, la force de clic et la sensation varie en fonction de l’endroit où l’utilisateur appuie (généralement plus raide près de la charnière en haut). Les pavés tactiles haptiques fournissent des retours cohérents, quel que soit l’emplacement de la pression.
  • Commentaires configurables par logiciel : l’intensité et le caractère de la réponse de clic haptique peuvent être ajustés par l’hôte, ce qui permet la force de clic configurable par l’utilisateur et la prise en charge de différents modèles de forme d’onde.
  • Facteur de forme plus mince : l’élimination de l’assemblage de charnière mécanique permet des conceptions d’appareils plus minces.

Les pavés tactiles haptiques prennent en charge deux modes de commentaires haptiques :

  • Commentaires haptiques initiés par l’appareil : le pavé tactile déclenche de manière autonome des commentaires haptiques lorsqu’il détermine que l’utilisateur a appuyé ou libéré le bouton surface. Ce dispositif remplace la sensation de clic mécanique d’un pavé tactile. L'appareil peut éventuellement accepter des rapports SET_FEATURE de l'hôte pour permettre à l'utilisateur de personnaliser l'intensité des rétroactions et la force nécessaire pour déclencher l'appui sur un bouton.
  • Commentaires haptiques initiés par l’hôte : l’hôte Windows envoie des rapports de sortie au pavé tactile pour déclencher des commentaires haptiques à la demande, indépendamment des appuis sur les boutons. Cela permet des expériences plus riches basées sur les applications, telles que les pulsations au survol, la rétroaction d’alignement et les confirmations de pas à l’aide d’un ensemble défini de formes d’ondes.

Pour plus d’informations sur le protocole, les définitions de formes d’onde, les exemples de descripteurs et les instructions d’implémentation matérielle, consultez le Guide d’implémentation des haptics d’appareil d’entrée.

Rapport de fonctionnalités d’appareil

Le rapport des fonctionnalités du dispositif 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 dispositif et le type de bouton du dispositif.

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 indiquer cette valeur via le nombre maximum de contacts (Page 0x0D, Utilisation 0x55) dans le rapport des capacités du périphérique. Lors du rapport de données, un périphérique ne doit pas signaler plus de contacts que le nombre maximal de contacts autorisés. 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 enfonçable (coussinet 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 sur l'état de certification de l'appareil

Le rapport d'état de certification de l'appareil est demandé par l'hôte du pavé tactile de précision de Windows pour récupérer des informations sur le bloc 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 encore indiquer 256 octets, comme le blob d'exemple 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 le pavé tactile HID et qui n'exposent pas d'état de certification dans le rapport sur les 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 celui-ci (Page 0xFF, Usage 0xC5) dans le rapport sur l'état de certification de l'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 de fonctionnalité sur le statut de certification 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 la fonctionnalité Mode de latence est envoyé par l’hôte à un pavé tactile de précision Windows pour indiquer quand une haute latence est souhaitable pour économiser l’énergie et, à l'inverse, quand une latence normale est désiré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 S3 ou veille connectée.

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

Rapports d'entrée de Windows Precision Touchpad

L'hôte utilise les données d'utilisation dans le tableau suivant pour extraire les 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 identifiant Obligatoire/facultatif
Identifiant de contact 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 de la boîte englobante autour d’un contact. 0x0D 0x48 Facultatif
Hauteur Hauteur de la boîte englobante d’un contact. 0x0D 0x49 Facultatif
Pression Quantité de pression appliquée par l’utilisateur au point de contact. 0x0D 0x30 Facultatif
Azimuth Rotation antihoraire 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 identifiant Obligatoire/facultatif
Durée 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 de pavé tactile intégré au numériseur. 0x09 0x01 Facultatif
Bouton 2 Indique l'état du bouton externe pour le clic principal (gauche par défaut). 0x09 0x02 Facultatif
Bouton 3 Indique l'état du bouton externe utilisé pour le clic secondaire (par défaut à droite). 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 de Bouton, consultez Boutons, Utilisations au niveau du rapport.

Contact ID

Identifie de manière unique un contact dans un rapport dans le cadre de 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 Precision de 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 d'un 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é.

Diagramme montrant deux contacts interagissant avec un pavé tactile de précision Windows, et avec les contacts qui se lèvent, pour quitter la surface du pavé tactile à des moments différents.

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 pavés tactiles Windows Precision ne doivent pas masquer les contacts lors du traitement du microprogramme, mais doivent transférer tous les contacts à l'hôte et indiquer le niveau de 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.

Largeur et Hauteur

Les usages Largeur et Hauteur représentent la largeur et la hauteur du rectangle englobant le point de contact sur le 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 sens anti-horaire du curseur autour de l’axe Z sur 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 identiques pour la pression et la force mécanique, et la valeur de la force mécanique doit être égale à SOMME(Pression pour Contact 1 + Pression pour Contact 2 + .... etc) quel que soit le bit de confiance pour chacun de ces contacts.

Boutons, Utilisations au niveau du rapport

Exemples de descripteurs de rapport