Menselijke interface-apparaten op internet: een paar snelle voorbeelden

Verbinding maken met ongebruikelijke apparaten vanuit uw app.

Joe Medley
Joe Medley
Matt Reynolds
Matt Reynolds

Wat is de WebHID-API?

Veel Human Interface Devices (HID's) zijn te nieuw, te oud of te ongebruikelijk om toegankelijk te zijn voor de apparaatstuurprogramma's van systemen. De WebHID API lost dit op door een manier te bieden om apparaatspecifieke logica in JavaScript te implementeren.

Voorgestelde gebruiksscenario's voor de WebHID API

Een HID neemt input van of levert output aan mensen. Voorbeelden van apparaten zijn toetsenborden, aanwijsapparaten (muizen, touchscreens, enz.) en gamepads. Het HID-protocol maakt het mogelijk om toegang te krijgen tot deze apparaten op desktopcomputers met behulp van stuurprogramma's voor het besturingssysteem. Het webplatform ondersteunt HID's door op deze stuurprogramma's te vertrouwen.

Het onvermogen om toegang te krijgen tot ongebruikelijke HID-apparaten is bijzonder pijnlijk als het gaat om gamepad-ondersteuning. Gamepads die voor pc zijn ontworpen, gebruiken vaak HID voor gamepad-ingangen (knoppen, joysticks, triggers) en uitgangen (LED's, gerommel). De in- en uitgangen van gamepads zijn echter niet goed gestandaardiseerd en webbrowsers vereisen vaak aangepaste logica voor specifieke apparaten. Dit is onhoudbaar en resulteert in slechte ondersteuning voor de lange staart van oudere en ongebruikelijke apparaten. Het zorgt er ook voor dat de browser afhankelijk is van eigenaardigheden in het gedrag van specifieke apparaten.

Demo's, demo's, demo's

Als je nieuwsgierig bent naar hoe deze voorbeelden werken: de broncode voor al deze voorbeelden is beschikbaar op GitHub. Er staat een barebones-codevoorbeeld in de uitleg.

Toetsenbordverlichting van MacBook Pro

De grootste belemmering voor het uitproberen van deze demo's is het gebrek aan toegang tot het apparaat. Als je een MacBook Pro met TouchBar hebt, hoef je gelukkig niets te kopen. Met deze demo kunt u de API rechtstreeks vanaf uw laptop gebruiken. Het laat ook zien hoe WebHID kan worden gebruikt om de functionaliteit van ingebouwde apparaten te ontgrendelen, niet alleen van randapparatuur.

Auteur: FWeinb
Demo/bron: Toetsenbordverlichting

Spelbesturingen

PlayStation 4 draadloze controller

Het volgende is iets dat waarschijnlijk minder van jullie zullen hebben. Sony's DualShock 4 is een draadloze controller voor PlayStation 4-gameconsoles.

De DualShock 4-demo gebruikt WebHID om de onbewerkte invoerrapporten van de DualShock 4 te ontvangen en biedt een API op hoog niveau voor toegang tot de gyroscoop-, accelerometer-, touchpad-, knop- en thumbstick-invoer van de controller. Het ondersteunt ook rumble en het instellen van de kleur van een RGB-LED in de controller.

Auteur: TheBITLINK
Demo: DualShock 4-demo ( bron )

Nintendo Switch Joy-Con-controllers

Speel de Chrome dino 🦖 offline game door daadwerkelijk met een Nintendo Switch Joy-Con-controller in je broekzakken te springen. Deze demo wordt mogelijk gemaakt door Joy-Con WebHID , een WebHID-stuurprogramma voor de Nintendo Switch Joy-Con-controllers.

Auteur: Thomas Steiner
Demo: Chrome Dino WebHID ( demobron , stuurprogrammabron )

De BlinkStick-strip

BlinkStick Strip is een HID-compatibele lichtstrip met 8 RGB-LED's. Met de demo kan de gebruiker kiezen uit verschillende knipperpatronen, waaronder achtervolging, knipperen en Larson-scanner (ook bekend als Cylon).

Auteur: Robat Williams
Demo: blinkstick-strip ( bron )

Wat doet deze demo? (Wacht erop.) Het knippert. Eigenlijk zijn het drie demo's die het blink(1) USB-meldingslampje gebruiken.

blink(1) is eenvoudig en goed gedocumenteerd, wat het een geweldige optie maakt om aan de slag te gaan met HID.

Auteur: Tod E. Kurt
Demo's: blink(1) ( bron )

Dankbetuigingen

Hartelijk dank aan Pete LePage en Kayce Basques voor de recensies van dit artikel.

Foto door Ugur Akdemir op Unsplash