Développer des pilotes de périphériques Windows pour les appareils d’interface humaine (HID)
Découvrez comment développer des pilotes de périphériques Windows pour les appareils d’interface humaine (HID). HID est une définition de classe d’appareil pour les pilotes USB génériques pour prendre en charge les périphériques HID tels que les claviers, les souris, les contrôleurs de jeu, etc. Avant HID, les appareils ne pouvaient utiliser que des protocoles strictement définis pour les souris et les claviers. L’innovation matérielle exige la surcharge des données dans un protocole existant ou la création d’un matériel non standard avec son propre pilote spécialisé. HID prend en charge les appareils en mode de démarrage tout en ajoutant la prise en charge de l’innovation par le biais d’interfaces extensibles, standardisées et facilement programmables.
Les appareils HID incluent des affichages alphanumériques, des lecteurs de code barres, des haut-parleurs, des casques, des écrans auxiliaires, des capteurs et bien d’autres. Les fournisseurs de matériel utilisent également HID pour leurs appareils propriétaires.
HID a commencé avec USB mais a été conçu pour être indépendant du bus. Il a été conçu pour une faible latence, des appareils à faible bande passante, mais avec la flexibilité nécessaire pour spécifier le débit dans le transport sous-jacent. L’USB-IF a ratifié la spécification de HID sur USB en 1996. Prise en charge de HID sur d’autres transports bientôt suivi. Vous trouverez plus d’informations sur les transports actuellement pris en charge dans HID Transports pris en charge dans Windows. Les transports spécifiques au fournisseur sont également autorisés via des pilotes de transport personnalisés.
Concepts HID
HID comprend deux concepts fondamentaux, un descripteur de rapport et des rapports. Les rapports sont les données réelles échangées entre un appareil et un client logiciel. Le descripteur de rapport décrit le format et la signification des données que l’appareil prend en charge.
Rapports
Les applications et les appareils HID échangent des données via des rapports. Il existe trois types de rapports :
Type de rapport | Description |
---|---|
Rapport d’entrée | Données envoyées de l’appareil HID à l’application, généralement lorsque l’état d’un contrôle change. |
Rapport de sortie | Données envoyées de l’application à l’appareil HID, par exemple aux LED sur un clavier. |
Rapport de fonctionnalités | Les données qui peuvent être lues et écrites manuellement et sont généralement liées aux informations de configuration. |
Chaque collection de niveau supérieur définie dans un descripteur de rapport peut contenir zéro ou plusieurs rapports de chaque type.
Tables d’utilisation
Le groupe de travail USB-IF publie des tables d’utilisation HID qui font partie des descripteurs de rapport qui décrivent ce que les appareils HID sont autorisés à faire. Ces tables d’utilisation HID contiennent une liste contenant des descriptions des utilisations décrivant la signification prévue et l’utilisation d’un élément particulier dans le descripteur de rapport. Par exemple, une utilisation est définie pour le bouton gauche d’une souris. Le descripteur de rapport peut définir où, dans un rapport, une application peut trouver l’état actuel du bouton gauche de la souris. Les tables d’utilisation sont divisées en plusieurs espaces de noms, appelés pages d’utilisation. Chaque page d’utilisation décrit un ensemble d’utilisations associées pour faciliter l’organisation du document. La combinaison d’une utilisation et d’une page d’utilisation définit l’ID d’utilisation qui identifie de manière unique une utilisation spécifique dans les tables d’utilisation.