Prise en charge de périphériques d’interface utilisateur (HTML)
[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]
L’API Windows.Devices.HumanInterfaceDevice permet à votre application Windows Runtime d’accéder aux périphériques qui prennent en charge le protocole HID.
Initialement, le protocole ciblait les périphériques tels que les claviers, les souris et les manettes de jeu et était conçu pour s’exécuter sur le transport USB. De nos jours, le protocole prend en charge un ensemble de périphériques beaucoup plus large. En outre, pour Windows 8.1, Microsoft inclut la prise en charge des USB, Bluetooth, Bluetooth LE et I2C.
La nouvelle API cible deux publics distincts :
- Les fournisseurs de matériel partenaires qui créent un périphérique HID et qui ont besoin d’une application Windows Runtime pour leur périphérique. (Les fabricants de matériel peuvent déclarer une application comme étant automatiquement acquise quand un utilisateur se connecte à leur périphérique.)
- Les développeurs d’application qui souhaitent créer des applications pour ces périphériques.
Le fournisseur de matériel partenaire est déjà familiarisé avec le protocole HID, mais doit comprendre les contraintes liées aux applications Windows Runtime. En règle générale, le développeur d’application est appelé à étudier le protocole. Si vous ne connaissez pas le protocole HID et les concepts tels que les rapports sur la fonctionnalité, les rapports sur l’entrée et les rapports de sortie, vous pouvez trouver davantage d’informations ici.
Avant d’utiliser cette API, consultez la section Limitations ci-après pour déterminer si vous pouvez atteindre tous vos objectifs.
Limitations de l’API HID
L’API Windows.Devices.HumanInterfaceDevice prend en charge la plupart des périphériques d’interface utilisateur. Toutefois, elle bloque la collection d’applications de niveau supérieur représentée par les pages d’utilisation suivantes pour éviter les conflits avec d’autres API Windows et le système d’exploitation :
- HID_USAGE_PAGE_UNDEFINED
- HID_USAGE_PAGE_GENERIC
- HID_USAGE_GENERIC_KEYBOARD
- HID_USAGE_GENERIC_KEYPAD
- HID_USAGE_GENERIC_SYSTEM_CTL
- HID_USAGE_PAGE_KEYBOARD
- HID_USAGE_PAGE_CONSUMER
- HID_USAGE_PAGE_DIGITIZER
- HID_USAGE_PAGE_SENSOR
- HID_USAGE_PAGE_BARCODE_SCANNER
- HID_USAGE_PAGE_WEIGHING_DEVICE
- HID_USAGE_PAGE_MAGNETIC_STRIPE_READER
- HID_USAGE_PAGE_TELEPHONY
En plus de bloquer la prise en charge de la liste de pages d’utilisation précédente, l’API nécessite que votre application s’exécute sur les pilotes fournis avec Windows 8.1. L’API ne prend pas en charge les pilotes de périphérique de fournisseurs tiers.
Conçue pour les périphériques externes
L’API HID est essentiellement conçue pour l’accès aux périphériques externes. Le scénario de développement d’application décrit précédemment ne fonctionne que pour ces périphériques.
Les fabricants d’ordinateurs OEM peuvent utiliser l’API pour accéder aux périphériques HID internes du PC. Toutefois, cet accès est limité à une application privilégiée explicitement déclarée par le fabricant du périphérique.
Incompatible avec les scénarios d’application de Panneau de configuration
L’API Windows Runtime HID est essentiellement destinée aux applications Windows Runtime qui sont des applications par utilisateur. Ces applications peuvent communiquer avec un périphérique HID à l’aide de cette API, mais elles ne peuvent pas enregistrer de paramètres en dehors de leur propre portée qui soient reconnus par Windows, ce qui est nécessaire pour de nombreuses applications de Panneau de configuration.
Contraintes liées aux applications du Windows Phone Store
Les applications du Windows Phone Store peuvent accéder à l’API Windows.Devices.HumanInterfaceDevice si le fabricant a pris en charge le protocole HID de périphériques spécifiques et fourni les données du périphérique aux développeurs d’application. Reportez-vous à la documentation de votre fabricant pour obtenir la liste de périphériques HID ainsi que des données dont vous allez avoir besoin pour implémenter la découverte de périphériques.