Dispositivi con interfaccia umana sul Web: brevi esempi

Connessione a dispositivi insoliti dalla tua app.

Mario Medley
Mario Medley
Matt Reynolds
Matt Reynolds

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 dei sistemi. L'API WebHID risolve questo problema offrendo un modo per implementare una logica specifica per il dispositivo in JavaScript.

Casi d'uso suggeriti per l'API WebHID

Un HID prende input dagli esseri umani o fornisce output. Alcuni esempi di dispositivi sono le tastiere, i dispositivi di puntamento (mopi, touchscreen e così via) e i gamepad. Il protocollo HID consente di accedere a questi dispositivi su computer desktop utilizzando driver del sistema operativo. La piattaforma web supporta gli HID affidandosi a questi driver.

L'impossibilità di accedere a dispositivi HID insoliti è particolarmente grave quando si tratta del supporto del gamepad. I gamepad progettati per PC spesso utilizzano HID per gli input del gamepad (pulsanti, joystick, trigger) e le uscite (LED, rumble). Tuttavia, gli input e gli output del gamepad non sono ben standardizzati e spesso i browser web richiedono una logica personalizzata per dispositivi specifici. Non è sostenibile e comporta uno scarso supporto per la long tail di dispositivi meno recenti e non comuni. Inoltre, fa sì che il browser dipenda da particolari caratteristiche presenti nel comportamento di dispositivi specifici.

Demo, demo, demo

Se sei curioso di sapere come funziona uno di questi esempi, il codice sorgente per ognuno è disponibile su GitHub. C'è un esempio di codice essenziale nel testo esplicativo.

Retroilluminazione della tastiera MacBook Pro

Il più grande ostacolo che ostacola la prova di queste demo è la mancanza di accesso al dispositivo. Fortunatamente, se hai un MacBook Pro con TouchBar, non devi acquistare nulla. Questa demo ti consente di utilizzare l'API direttamente dal tuo laptop. Mostra inoltre come WebHID può essere utilizzato per sbloccare funzionalità dei dispositivi integrati, non solo periferiche.

Autore: FWeinb
Demo/Fonte: Retroilluminazione della tastiera

Controller di gioco

Controller wireless PlayStation 4

La prossima mossa è qualcosa di meno che probabilmente avrai. Il DualShock 4 di Sony è un controller wireless per console PlayStation 4.

La demo di DualShock 4 utilizza WebHID per ricevere i report di input non elaborati da DualShock 4 e fornisce un'API di alto livello per accedere agli input giroscopio, accelerometro, touchpad, pulsanti e Thumbtick del controller. Supporta anche il rumore e l'impostazione del colore del LED RGB che si trova all'interno del controller.

Autore: TheBITLINK
Demo: DualShock 4 Demo (Fonte)

Controller Joy-Con di Nintendo Switch

Gioca al dino di Chrome 🦖 gioco offline saltando con un controller Joy-Con di Nintendo Switch in tasca. Questa demo si basa su Joy-Con WebHID, un driver WebHID per i controller Joy-Con di Nintendo Switch.

Autore: Thomas Steiner
Demo: Chrome Dino WebHID (origine demo, origine driver)

La striscia BlinkStick

BlinkStick Strip è una striscia luminosa compatibile con HID con 8 LED RGB. La demo consente all'utente di scegliere tra diverse sequenze di intermittenza, tra cui inseguimento, intermittenza e scanner Larson (noto anche come Cylon).

Autore: Robat Williams
Demo: blinkstick-strip (fonte)

Cosa fa questa demo? (Attendi). La spia lampeggia. In realtà sono tre demo che usano la spia di notifica USB lampeggiante(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) (fonte)

Ringraziamenti

Ringraziamo Pete LePage e Kayce Basques per le recensioni su questo articolo.

Foto di Ugur Akdemir su Unsplash