Connexion à des appareils inhabituels depuis votre application
Qu'est-ce que l'API WebHID ?
De nombreux périphériques d'interface humaine (HID) sont trop récents, trop anciens ou trop inhabituels pour être accessibles par les pilotes d'appareils 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 appareil HID reçoit des entrées ou fournit des sorties à des humains. 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 de pilotes de système d'exploitation. La plate-forme Web est compatible avec les HID en s'appuyant sur ces pilotes.
L'impossibilité d'accéder aux périphériques HID inhabituels est particulièrement pénible en ce qui concerne la prise en charge des manettes de jeu. Les manettes de jeu conçues pour PC utilisent souvent HID pour les entrées (boutons, joysticks, déclencheurs) et les sorties (LED, retour haptique). Toutefois, les entrées et sorties des manettes 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 situation n'est pas viable et entraîne une mauvaise prise en charge de la longue traîne d'appareils plus anciens et inhabituels. Le navigateur dépend également des particularités présentes dans le comportement d'appareils spécifiques.
Démonstrations, démonstrations, démonstrations
Si vous souhaitez savoir comment fonctionnent ces exemples, le code source de chacun d'eux est disponible sur GitHub. Un exemple de code basique est fourni dans la vidéo explicative.
Rétroéclairage du clavier du MacBook Pro
Le plus grand obstacle à l'essai de l'une de ces démonstrations est le manque d'accès à l'appareil. Heureusement, si vous possédez un MacBook Pro avec Touch Bar, vous n'avez rien à acheter. Cette démonstration 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émo/Source:Rétroéclairage du clavier
Manettes de jeu
Manette sans fil PlayStation 4
Voici une autre question que vous êtes moins susceptible d'avoir. 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 sticks analogiques du contrôleur. Il est également compatible avec le retour haptique et la définition de la couleur d'une LED RVB intégrée au contrôleur.
Auteur:TheBITLINK
Démonstration:Démonstration DualShock 4 (Source)
Manettes Joy-Con Nintendo Switch
Jouez au jeu hors connexion du dinosaure Chrome 🦖 en sautant avec un contrôleur Joy-Con Nintendo Switch dans les poches de votre pantalon. Cette démonstration est fournie par Joy-Con WebHID, un pilote WebHID pour les contrôleurs Joy-Con de la Nintendo Switch.
Auteur:Thomas Steiner
Démo:WebHID Chrome Dino
(source de la démo,
source du pilote)
La bande BlinkStick
Le BlinkStick Strip est un ruban lumineux conforme à la norme HID doté de huit LED RVB. La démonstration permet à l'utilisateur de choisir parmi plusieurs modèles de clignotement, y compris le clignotement, le clignotement et le scanner Larson (également appelé "Cylon").
Auteur:Robat Williams
Démo:blinkstick-strip (source)
Clignotement, clignotement, clignotement
À quoi sert cette démonstration ? (Attendez.) Il clignote. En fait, il s'agit de trois démonstrations qui utilisent la lumière de notification USB de blink(1).
blink(1) est simple et bien documenté, ce qui en fait une excellente option pour se lancer avec HID.
Auteur:Tod E. Kurt
Démonstrations:blink(1) (source)
Remerciements
Merci à Pete LePage et Kayce Basques d'avoir examiné cet article.
Photo par Ugur Akdemir, publiée sur Unsplash