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 biedt hiervoor een oplossing door apparaatspecifieke logica in JavaScript te implementeren.

Voorgestelde gebruiksscenario's voor de WebHID API

Een HID verwerkt 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 deze apparaten op desktopcomputers te benaderen met behulp van drivers van het besturingssysteem. Het webplatform ondersteunt HID's door gebruik te maken van deze drivers.

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-invoer (knoppen, joysticks, triggers) en -uitvoer (leds, trilfunctie). De invoer en uitvoer 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 'long tail' 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

Ben je benieuwd hoe deze voorbeelden werken? De broncode is beschikbaar op GitHub. Een basiscodevoorbeeld vind je in de uitleg.

Achtergrondverlichting van het MacBook Pro-toetsenbord

De grootste drempel om een ​​van deze demo's uit te proberen, is het gebrek aan toegang tot het apparaat. Gelukkig hoef je, als je een MacBook Pro met TouchBar hebt, niets te kopen. Met deze demo kun je de API direct vanaf je laptop gebruiken. Hij 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

Spelcontrollers

PlayStation 4 draadloze controller

De volgende is iets wat waarschijnlijk minder mensen hebben: Sony's DualShock 4 is een draadloze controller voor PlayStation 4-spelcomputers.

De DualShock 4 Demo gebruikt WebHID om de ruwe invoerrapporten van de DualShock 4 te ontvangen en biedt een geavanceerde API voor toegang tot de gyroscoop, accelerometer, touchpad, knoppen en thumbsticks van de controller. De controller 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 door te springen met een Nintendo Switch Joy-Con-controller in je broekzakken. Deze demo wordt aangestuurd door Joy-Con WebHID , een WebHID-driver voor de Nintendo Switch Joy-Con-controllers.

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

De BlinkStick Strip

BlinkStick Strip is een HID-compatibele lichtstrip met 8 RGB-leds. In de demo kan de gebruiker kiezen uit verschillende knipperpatronen, waaronder chase, blink en Larson Scanner (ook bekend als Cylon).

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

Wat doet deze demo? (Wacht even.) Hij knippert. Eigenlijk zijn het drie demo's die het knipperende (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

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

Foto door Ugur Akdemir op Unsplash