Partager via


Collections de niveau supérieur HID requises (required-hid-top-level-collections)

Cette rubrique décrit les collections de niveau supérieur IHM requises qui sont utilisées pour la création de rapports sur le stylet dans les systèmes d’exploitation Windows 10 et ultérieurs.

Un appareil de stylet Windows intégré doit exposer, au minimum, la collection de niveau supérieur obligatoire unique pour la création de rapports de stylet. Une collection facultative (mais recommandée) pour les mises à jour du microprogramme peut également être implémentée. Et sur les systèmes d’exploitation antérieurs à Windows 10, une collection facultative (factice) de souris pour la prise en charge du curseur de stylet peut également être implémentée.

Le diagramme suivant montre les collections HID pour un appareil de stylet Windows intégré.

diagramme montrant les collections masquées pour un appareil windows pen intégré. l’image indique la prise en charge d’une collection de mises à jour de microprogramme spécifiques au fournisseur.

Mouse Collection (Dummy)

Un appareil de stylet Windows intégré peut utiliser le protocole HID pour fournir une collection de niveau supérieur qui apparaît en tant que bureau/souris générique (Page 0x01, Utilisation 0x02).

La collection de souris (factice) d’un appareil Windows Pen intégré sert à fournir à l’hôte un appareil de souris compatible HID, à des fins d’affichage d’un curseur sur les systèmes d’exploitation antérieurs à Windows 10. Aucun rapport de souris réel n’est requis à partir de cette collection ; seule la présence de la collection de souris dans le descripteur. Si vous n’avez pas besoin de prendre en charge les systèmes d’exploitation antérieurs à Windows 10, cette collection peut être omise.

Collection de stylets Windows intégrée

Un appareil de stylet Windows intégré doit utiliser le protocole HID sur un système Windows 10 de telle façon que l’appareil fournit une collection de niveau supérieur qui apparaît comme un numériseur/stylet intégré (Page 0x0D, Utilisation 0x02).

La collection de stylets Windows intégrée sert à fournir des rapports de contact, de pression, d’effacement et de bouton enrichis à l’hôte. La collection peut éventuellement prendre en charge un rapport de fonctionnalité pour obtenir l’état de certification de l’appareil. Le rapport d’entrée obligatoire est spécifié en détail dans la section Rapports d’entrée de stylet Windows intégré de cette rubrique. Un rapport de fonctionnalité facultatif (mais fortement recommandé) peut être implémenté pour obtenir des indicateurs de mode de latence de l’hôte. Cette fonctionnalité facultative peut aider à atteindre une consommation d’alimentation minimale sur les périphériques USB armés pour le réveil en mode veille.

Signalement de fonctionnalité sur l’état de certification du périphérique

Si vous implémentez le rapport de fonctionnalité d’état de certification de l’appareil, l’hôte de l’appareil Windows Pen intégré peut l’utiliser pour récupérer l’objet blob de 256 octets de l’appareil.

Les 256 octets doivent être spécifiés via une utilisation HID spécifique au fournisseur, dans une page d’utilisation définie par le fournisseur (Page 0xFF, Utilisation 0xC5) dans le rapport de fonctionnalités d’état de certification de l’appareil.

Avant qu’un appareil reçoive un objet blob de 256 octets qui indique son état de certification, il doit implémenter un objet 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é d’état de certification de l’appareil d’un appareil de stylet Windows intégré à tout moment, après avoir lu le descripteur de rapport.

Signalement de fonctionnalité du mode de latence

Remarque

Les systèmes d’exploitation Windows 10, version 1511 et antérieure n’émettent actuellement pas ce rapport de fonctionnalités HID sur les appareils stylet ou écran tactile qui prennent en charge cette fonctionnalité. Toutefois, l’ajout de la prise en charge du signalement de fonctionnalité du mode de latence à un périphérique permet de s’assurer que celui-ci sera prêt le jour où Windows le prendra en charge sur les périphériques Stylet et Écran tactile.

Le rapport de fonctionnalités du mode de latence est envoyé par l’hôte à un appareil de stylet Windows intégré, pour indiquer quand une latence élevée est souhaitable pour l’économie d’énergie et à l’inverse, lorsque la latence normale est souhaitée pour l’opération. Dans le cas d’un appareil de stylet Windows intégré connecté à USB, cela permet à l’appareil de différencier l’interruption de l’inactivité (runtime INACTIF) et d’être suspendu, car le système entre S3 ou Connecter ed Standby.

Le mode de latence doit être indiqué par le biais de la valeur de l’usage du mode de latence (Page 0x0D, Usage 0x60) dans le signalement de fonctionnalité du mode de latence.

Valeur du mode de latence Mode de latence
0 Normal
1 Forte

Rapports d’entrée Windows Pen intégrés

Les utilisations du tableau suivant sont utilisées par l’hôte pour extraire des données de stylet à partir d’un rapport d’entrée, via la collection de stylets Windows intégrée. Le tableau affiche toutes les utilisations obligatoires et les utilisations facultatives prises en charge par Windows pour la création de rapports sur le stylet.

Membre Description Page id Obligatoire/facultatif Obligatoire pour HLK
X Coordonnée X de la position de contact 0x01 0x30 Obligatoire Oui
O Coordonnée Y de la position de contact 0x01 0x31 Obligatoire Oui
Conseil Définir si le stylet se trouve sur la surface du numériseur 0x0D 0x42 Obligatoire Oui
Dans la plage Indique si le stylet est dans la plage du numériseur 0x0D 0x32 Obligatoire Oui
Bouton barillet État du bouton situé sur le côté du stylet 0x0D 0x44 Obligatoire Oui
Inverser Indique que l’orientation du stylet implique une intention d’effacer 0x0D 0x3C Facultatif Oui
Gomme Indique que le stylet est en cours d’effacement 0x0D 0x45 Facultatif Oui
Pression sur la pointe Pression exercée sur l’extrémité du stylet 0x0D 0x30 Facultatif Oui
Temps d’analyse Temps d’analyse relatif par frame 0x0D 0x56 Facultatif Non
X-Tilt Angle d’inclinaison du stylet le long de l’axe x 0x0D 0x3D Facultatif Non
Y-Tilt Angle d’inclinaison du stylet le long de l’axe y 0x0D 0x3E Facultatif Non
Tournant Rotation dans le sens des aiguilles d’une montre du stylet 0x0D 0x41 Facultatif Non
Numéro de série du transducteur Identificateur persistant unique pour le transducteur 0x0D 0x5B Facultatif Non
Numéro de série du transducteur - Partie 2 Utilisé pour étendre le numéro de série du transducteur par un nombre supplémentaire de 32 bits 0x0D 0x6E Facultatif Non
ID du fournisseur du transducteur Identificateur attribué pour le fournisseur du transducteur 0x0D 0x91 Facultatif Non

Le tableau suivant présente les utilisations obligatoires au niveau du rapport pour les rapports d’entrée de stylet Windows intégrés.

Membre Description Page id Obligatoire/facultatif
ID du rapport ID de rapport Windows Pen intégré 0x0D 0x02 Obligatoire

Utilisations facultatives obligatoires et prises en charge par Windows

Tout appareil qui ne signale pas toutes les utilisations obligatoires au niveau du contact ou du rapport sera non fonctionnel en tant qu’appareil de stylet Windows intégré. Les utilisations obligatoires sont strictement appliquées par l’hôte Windows. Lorsqu’une valeur maximale logique n’a pas été définie, la valeur peut être optimisée pour réduire la taille du descripteur.

Les sections suivantes fournissent plus d’informations sur les utilisations facultatives obligatoires et prises en charge par Windows qui ont été présentées dans un tableau précédent.

X, Y

X et Y signalent les coordonnées du stylet intégré. Les éléments globaux suivants doivent être spécifiés pour les utilisations X et Y :

  • Minimum physique & Maximum physique

  • Exposant d’unité &unité

  • Minimum logique & Maximum logique (garantissant une résolution >d’entrée = 150DPI)

    Notez que l’ensemble de la plage de coordonnées logiques doit être reportable sur l’axe X et Y .

Conseil du stylet

Utilisé pour indiquer quand la pointe du stylet est sur la surface ou a laissé 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 d’entrée, le bit doit être défini lorsque le stylet se trouve sur la surface du numériseur et effacé lorsque le stylet a quitté la surface.

Lorsqu’un stylet est signalé pour la première fois dans un flux de rapports avec le commutateur de conseil clair, l’emplacement X/Y signalé doit être identique à la dernière position signalée avec le jeu de commutateurs de conseil.

Dans la plage

Utilisé pour indiquer quand la pointe du stylet (ou gomme de fin) est comprise dans la plage 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 d’entrée, le bit doit être défini lorsque la pointe du stylet (ou gomme de fin) se trouve sur la surface du numériseur ou dans la plage détectable du numériseur, et effacée lorsque le stylet n’est plus détectable. Il convient de noter que dans la plage ne doit être signalé que lorsque l’emplacement X/Y du stylet peut être signalé de manière fiable et dans les paramètres définis par les exigences du HLK de stylet pour Windows 10.

Lorsqu’un stylet est signalé avec le commutateur en plage effacé, l’emplacement X/Y signalé doit être identique à la dernière position signalée lorsque le commutateur dans la plage a été défini.

Bouton barillet

Utilisé pour indiquer quand le bouton sur le côté du stylet est enfoncé. Cela est indiqué par un élément principal avec une taille de rapport de 1 bit. Lors de la remise d’un rapport d’entrée, le bit doit être défini lorsque ce bouton est enfoncé et effacé lorsque le bouton est relâché.

Inverser

Utilisé pour indiquer quand l’orientation du stylet implique une intention d’effacement. Cela est indiqué par un élément principal avec une taille de rapport de 1 bit. Voici quelques instructions de création de rapports d’entrée pour les différentes implémentations de gomme :

  • Implémentations de gomme de fin

    Lors de la remise d’un rapport d’entrée, le bit doit être défini chaque fois que le stylet est inversé et effacé lorsque le stylet n’est pas inversé.

  • Implémentations de boutons de gomme

    Lors de la remise d’un rapport d’entrée, le bit doit être défini chaque fois que le bouton gomme est enfoncé et que le stylet est dans la plage du numériseur et effacé autrement.

Gomme

Permet d’indiquer quand le stylet est en cours d’effacement. Cela est indiqué par un élément principal avec une taille de rapport de 1 bit. Voici quelques instructions de création de rapports d’entrée pour les différentes implémentations de gomme :

  • Implémentations de gomme de fin

    Lors de la remise d’un rapport d’entrée, le bit doit être défini chaque fois que le stylet est inversé et en contact avec l’écran, et effacé autrement.

  • Implémentations de boutons de gomme

    Lors de la remise d’un rapport d’entrée, le bit doit être défini chaque fois que le bouton gomme est enfoncé et que la pointe du stylet est en contact avec l’écran, et effacée autrement.

    Pour éviter d’activer ou d’annuler accidentellement la fonctionnalité d’effacement dans cette implémentation, il est vivement recommandé qu’une fois que la pointe du stylet est en contact avec l’écran, la décompression ou la libération du bouton effacer ne doit pas avoir d’impact sur la création de rapports du bit de gomme.

Lorsqu’un stylet est signalé pour la première fois dans un flux de rapports avec le commutateur d’effacement effacé, l’emplacement X/Y signalé doit être identique à la dernière position signalée lorsque le commutateur d’effacement a été défini.

Temps d’analyse

Le temps d’analyse indique le temps relatif du numériseur en unités de 100 μs. Lorsqu’un appareil commence à signaler des données par la suite d’une période d’inactivité, l’heure d’analyse représente l’intervalle de temps entre la première image signalée jusqu’au moment du rapport. L’heure de la première analyse reçue est traitée comme une heure de base pour les heures signalées suivantes. Le temps écoulé entre les heures d’analyse signalées doit refléter la fréquence d’analyse du numériseur. Il est important de noter que contrairement à d’autres utilisations, l’hôte n’autorise aucune flexibilité pour l’unité pour l’utilisation du temps d’analyse, s’il est implémenté. 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.

Pression sur la pointe

Utilisé pour indiquer la pression appliquée à la pointe du stylet. Cela est indiqué par un élément principal avec une taille de rapport d’au moins 8 bits, pour prendre en charge un minimum de 256 niveaux de pression distincts. Pour signaler une granularité supplémentaire, vous devez utiliser une plus grande taille de rapport.

Les valeurs logiques de la pression signalée doivent adhérer aussi étroitement que possible à la courbe logarithmique idéale indiquée dans le diagramme suivant. Les tests de pression fournis par la suite de tests Pen HLK pour Windows 10 sont conçus pour garantir que la courbe de pression signalée se situe dans les limites supérieures et inférieures indiquées dans le diagramme. Bien que la courbe idéale dans le diagramme et ses équations associées soient décrites pour un appareil signalant 256 niveaux, elles peuvent être mises à l’échelle pour prendre en charge un nombre quelconque de niveaux discrets.

Bien que le commutateur de gomme soit actif sur les stylos avec des gommes de fin de fin sans capacités de détection de pression, la pression de l’extrémité du stylet doit signaler 127 (50 % de la pression maximale). Cette valeur a été choisie pour prendre en charge les stylos et les applications qui peuvent consommer une pression réelle du stylet de fin de fin pendant que le commutateur de gomme est actif.

diagramme montrant la courbe de pression idéale de pointe de stylet pour un appareil qui signale 256 niveaux distincts de pression.

X-Tilt

X-Tilt représente l’angle du plan entre le plan Y-Z, le plan contenant l’axe du transducteur du stylet et l’axe Y.

illustration d’un stylet avec une inclinaison x positive

La plage physique et la plage logique doivent être spécifiées. La plage physique peut être d’un maximum de -90 à 90 deg, mais le minimum/maximum physique signalé dans le descripteur doit correspondre au minimum/maximum réalisable X-Tilt réel du stylet, dans l’unité correcte (0x14, Degrés). La plage logique doit être suffisamment grande pour fournir des données précises, à au moins deux décimales. Radians peut également être utilisé pour la plage physique. X-Tilt est positif à droite de l’utilisateur dans l’orientation native du numériseur.

Y-Tilt

Y-Tilt représente l’angle du plan entre le plan X-Z, le plan contenant l’axe du transducteur du stylet et l’axe Y.

illustration d’un stylet avec une inclinaison y négative

La plage physique et la plage logique doivent être spécifiées. La plage physique peut être d’un maximum de -90 à 90g, mais le minimum/maximum physique signalé dans le descripteur doit correspondre à la valeur Y-Tilt minimale/maximale réalisable réelle du stylet dans l’unité correcte (0x14, Degrés). La plage logique doit être suffisamment grande pour fournir des données précises, à au moins deux décimales. Radians peut également être utilisé pour la plage physique. Y-Tilt est positif pour l’utilisateur dans l’orientation native du numériseur.

Tournant

Twist spécifie la rotation au niveau de l’horloge du stylet autour de son propre axe principal.

La plage physique et la plage logique doivent être spécifiées. La plage physique doit être comprise entre 0 et 360. La plage logique doit être suffisamment grande pour fournir des données précises, à au moins deux décimales. Radians peut également être utilisé pour la plage physique. Dans ce cas, la plage logique doit être suffisamment grande pour signaler des valeurs exactes à au moins quatre décimales.

Numéro de série du transducteur

Le numéro de série du transducteur est un identificateur persistant unique pour le transducteur utilisé dans l’accessoire de stylet qui communique avec le numériseur de stylet. Il doit être de 32 bits et il est défini par le fournisseur ou l’entité identifié par l’ID du fournisseur du transducteur. Dans les circonstances où le numéro de série transducteur est inconnu du numériseur, soit parce que l’accessoire de stylet ne prend pas en charge la transmission de cette valeur ou que la transmission n’a pas été reçue en intégralité, le numériseur doit signaler 0 à l’hôte. La position Null n’est pas prise en charge par l’hôte.

Numéro de série du transducteur – Partie 2

Numéro de série du transducteur : la partie 2 permet de spécifier un nombre supplémentaire de 32 bits dans le cadre de l’identificateur persistant unique du transducteur utilisé dans un accessoire de stylet. Dans les circonstances où le numéro de série transducteur – La partie 2 est inconnue du numériseur, soit parce que l’accessoire de stylet ne prend pas en charge la transmission de cette valeur ou que la transmission n’a pas été reçue en intégralité, le numériseur doit signaler 0 à l’hôte. La position Null n’est pas prise en charge par l’hôte.

ID du fournisseur du transducteur

L’ID du fournisseur du transducteur est un champ permettant de communiquer le fabricant du transducteur utilisé dans l’accessoire de stylet qui communique avec le numériseur de stylet. Il doit s’agir d’un ID de fournisseur USB-IF de 2 octets attribué par le fabricant ou celui de l’IHV/OEM autorisant l’utilisation de leur ID de fournisseur USB-IF à cette fin.