Connessione a dispositivi insoliti dalla tua app.
Che cos'è l'API WebHID?
Molti dispositivi di interfaccia umana (HID) sono troppo nuovi, troppo vecchi o troppo insoliti per essere accessibili dai driver di dispositivo di sistema. L'API WebHID risolve il problema fornendo un modo per implementare la logica specifica del dispositivo in JavaScript.
Casi d'uso suggeriti per l'API WebHID
Un dispositivo HID riceve input o fornisce output a persone. Esempi di dispositivi includenti tastiere, dispositivi di puntamento (mouse, touchscreen e così via) e gamepad. Il protocollo HID consente di accedere a questi dispositivi su computer desktop utilizzando i driver del sistema operativo. La piattaforma web supporta gli HID facendo affidamento su questi driver.
L'impossibilità di accedere a dispositivi HID insoliti è particolarmente spiacevole quando si tratta di supportare i gamepad. I gamepad progettati per PC spesso utilizzano HID per gli input (pulsanti, joystick, trigger) e le uscite (LED, vibrazione) del gamepad. Tuttavia, gli input e le uscite dei gamepad non sono ben standardizzati e i browser web spesso richiedono una logica personalizzata per dispositivi specifici. Questo approccio non è sostenibile e comporta un'assistenza limitata per la coda lunga di dispositivi meno recenti e non comuni. Inoltre, fa sì che il browser dipenda da peculiarità presenti nel comportamento di dispositivi specifici.
Demo, demo, demo
Se vuoi scoprire come funzionano questi esempi, il codice sorgente di tutti è disponibile su GitHub. Nella spiegazione è presente un esempio di codice di base.
Retroilluminazione della tastiera del MacBook Pro
Il principale ostacolo per provare una di queste demo è la mancanza di accesso al dispositivo. Fortunatamente, se hai un MacBook Pro con Touch Bar, non devi acquistare nulla. Questa demo ti consente di utilizzare l'API direttamente dal tuo laptop. Inoltre, mostra come WebHID può essere utilizzato per sbloccare la funzionalità dei dispositivi integrati, non solo delle periferiche.
Autore: FWeinb
Demo/sorgente: Retroilluminazione tastiera
Controller di gioco
Controller wireless per PlayStation 4
Ora vediamo qualcosa che è meno probabile che tu abbia. DualShock 4 di Sony è un controller wireless per le console di gioco PlayStation 4.
La demo DualShock 4 utilizza WebHID per ricevere i report sugli input non elaborati del DualShock 4 e fornisce un'API di alto livello per accedere ai dati del giroscopio, dell'accelerometro, del touchpad, dei pulsanti e dei tasti del controller. Supporta anche il feedback aptico e l'impostazione del colore di un LED RGB all'interno del controller.
Autore: TheBITLINK
Demo: DualShock 4 Demo (sorgente)
Controller Joy-Con per Nintendo Switch
Gioca al gioco offline Dino di Chrome 🦖 saltando con un joy-con di Nintendo Switch nelle tasche dei pantaloni. Questa demo è basata su Joy-Con WebHID, un driver WebHID per i controller Joy-Con di Nintendo Switch.
Autore: Thomas Steiner
Demo: Chrome Dino WebHID
(demo source,
driver source)
BlinkStick Strip
BlinkStick Strip è una striscia luminosa compatibile con HID con 8 LED RGB. La demo consente all'utente di scegliere tra diversi pattern di intermittenza, tra cui chase, blink e Larson scanner (noto anche come Cylon).
Autore: Robat Williams
Demo: blinkstick-strip (source)
Lampeggia, lampeggia, lampeggia
Che cosa fa questa demo? (Attendi.) Lampeggia. In realtà sono tre demo che utilizzano la spia di notifica USB di blink(1).
blink(1) è semplice e ben documentato, il che lo rende un'ottima opzione per iniziare a utilizzare HID.
Autore: Tod E. Kurt
Demo: blink(1) (source)
Ringraziamenti
Grazie a Pete LePage e Kayce Basques per le revisioni di questo articolo.
Foto di Ugur Akdemir su Unsplash