Appareils avec interface humaine sur le Web: quelques exemples rapides

Se connecter à des appareils peu courants depuis votre application.

Joe Medley
Joe Medley
Matt Reynolds
Matt Reynolds

Qu'est-ce que l'API WebHID ?

De nombreux périphériques d'interface humaine (HID) sont trop récents, trop anciens ou trop rares pour être accessibles par les pilotes de périphériques des systèmes. L'API WebHID résout ce problème en fournissant un moyen d'implémenter une logique spécifique à l'appareil en JavaScript.

Cas d'utilisation suggérés pour l'API WebHID

Un HID reçoit des informations de l'utilisateur ou lui en fournit. Les claviers, les dispositifs de pointage (souris, écrans tactiles, etc.) et les manettes de jeu en sont des exemples. Le protocole HID permet d'accéder à ces appareils sur les ordinateurs de bureau à l'aide des pilotes du système d'exploitation. La plate-forme Web prend en charge les HID en s'appuyant sur ces pilotes.

L'impossibilité d'accéder aux périphériques HID peu courants est particulièrement problématique en ce qui concerne la compatibilité avec les manettes de jeu. Les manettes de jeu conçues pour PC utilisent souvent HID pour les entrées (boutons, joysticks, gâchettes) et les sorties (LED, vibrations). Toutefois, les entrées et sorties de la manette de jeu ne sont pas bien standardisées, et les navigateurs Web nécessitent souvent une logique personnalisée pour des appareils spécifiques. Cette approche n'est pas viable et entraîne une mauvaise prise en charge des appareils anciens et peu courants. Il oblige également le navigateur à dépendre des spécificités du comportement de certains appareils.

Des démos, des démos, des démos

Si vous souhaitez en savoir plus sur le fonctionnement de ces exemples, le code source de chacun d'eux est disponible sur GitHub. Un exemple de code minimaliste est disponible dans l'explication.

Rétroéclairage du clavier du MacBook Pro

Le principal obstacle à l'essai de ces démos est le manque d'accès à l'appareil. Heureusement, si vous possédez un MacBook Pro avec une Touch Bar, vous n'avez rien à acheter. Cette démo vous permet d'utiliser l'API directement depuis votre ordinateur portable. Il montre également comment WebHID peut être utilisé pour déverrouiller les fonctionnalités des appareils intégrés, et pas seulement des périphériques.

Auteur : FWeinb
Démonstration/Source : Rétroéclairage du clavier

Manettes de jeu

Manette sans fil PlayStation 4

Ensuite, nous allons aborder un élément que peu d'entre vous possèdent probablement. La DualShock 4 de Sony est une manette sans fil pour les consoles de jeu PlayStation 4.

La démo DualShock 4 utilise WebHID pour recevoir les rapports d'entrée bruts du DualShock 4 et fournit une API de haut niveau pour accéder aux entrées du gyroscope, de l'accéléromètre, du pavé tactile, des boutons et des joysticks de la manette. Il prend également en charge les vibrations et la définition de la couleur d'une LED RVB située dans la manette.

Auteur : TheBITLINK
Démonstration : Démonstration DualShock 4 (Source)

Manettes Joy-Con Nintendo Switch

Jouez au jeu hors connexion du dino Chrome 🦖 en sautant réellement avec une manette Joy-Con Nintendo Switch dans la poche de votre pantalon. Cette démo est optimisée par Joy-Con WebHID, un pilote WebHID pour les manettes Joy-Con de la Nintendo Switch.

Auteur : Thomas Steiner
Démonstration : Chrome Dino WebHID (source de la démonstration, source du pilote)

Bande BlinkStick

BlinkStick Strip est une bande lumineuse conforme à la norme HID et dotée de huit LED RVB. La démo permet à l'utilisateur de choisir parmi plusieurs motifs de clignotement, y compris la poursuite, le clignotement et le scanner Larson (alias Cylon).

Auteur : Robat Williams
Démonstration : blinkstick-strip (source)

Que fait cette démo ? (Attendez la suite.) Il clignote. En fait, il s'agit de trois démonstrations qui utilisent le voyant de notification USB blink(1).

blink(1) est simple et bien documenté, ce qui en fait une excellente option pour commencer avec HID.

Auteur : Tod E. Kurt
Démos : blink(1) (source)

Remerciements

Merci à Pete LePage et Kayce Basques.