Connessione a dispositivi non comuni dalla tua app.
Che cos'è l'API WebHID?
Molti dispositivi HID (Human Interface Device) sono troppo nuovi, troppo vecchi o troppo rari per essere accessibili dai driver dei dispositivi dei sistemi. L'API WebHID risolve questo problema fornendo un modo per implementare la logica specifica del dispositivo in JavaScript.
Casi d'uso suggeriti per l'API WebHID
Un HID riceve input o fornisce output agli esseri umani. Esempi di dispositivi includono tastiere, dispositivi di puntamento (mouse, touchscreen e così via) e gamepad. Il protocollo HID consente di accedere a questi dispositivi su computer utilizzando i driver del sistema operativo. La piattaforma web supporta gli HID basandosi su questi driver.
L'impossibilità di accedere a dispositivi HID insoliti è particolarmente frustrante quando si tratta di supporto del gamepad. I gamepad progettati per PC spesso utilizzano HID per gli input (pulsanti, joystick, trigger) e gli output (LED, vibrazione). Tuttavia, gli input e gli output del gamepad non sono ben standardizzati e i browser web spesso richiedono una logica personalizzata per dispositivi specifici. Questa situazione è insostenibile e comporta un supporto scarso per la coda lunga di dispositivi meno recenti e meno comuni. Inoltre, il browser dipende dalle peculiarità presenti nel comportamento di dispositivi specifici.
Demo, demo, demo
Se vuoi scoprire come funziona uno di questi esempi, il codice sorgente di tutti è disponibile su GitHub. Nell'articolo esplicativo è riportato un esempio di codice essenziale.
Retroilluminazione della tastiera di MacBook Pro
Il principale ostacolo alla prova di 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. Mostra anche come WebHID può essere utilizzato per sbloccare la funzionalità dei dispositivi integrati, non solo delle periferiche.
Autore: FWeinb
Demo/Sorgente: Keyboard Backlight
Controller di gioco
Controller wireless PlayStation 4
Il prossimo è qualcosa che probabilmente in pochi hanno. DualShock 4 di Sony è un controller wireless per le console per videogiochi 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 di giroscopio, accelerometro, touchpad, pulsanti e joystick del controller. Supporta anche la vibrazione e l'impostazione del colore di un LED RGB all'interno del controller.
Autore: TheBITLINK
Demo: DualShock 4 Demo (Fonte)
Controller Nintendo Switch Joy-Con
Gioca a Dino di Chrome 🦖 offline saltando davvero con un controller Nintendo Switch Joy-Con nelle tasche dei pantaloni. Questa demo è basata su Joy-Con WebHID, un driver WebHID per i controller Nintendo Switch Joy-Con.
Autore: Thomas Steiner
Demo: Dino di Chrome WebHID
(origine demo,
origine driver)
La striscia BlinkStick
BlinkStick Strip è una striscia luminosa conforme a HID con 8 LED RGB. La demo consente all'utente di scegliere tra diversi schemi di lampeggio, tra cui inseguimento, lampeggio e scanner Larson (noto anche come Cylon).
Autore: Robat Williams
Demo: blinkstick-strip (sorgente)
Lampeggia, lampeggia, lampeggia
Che cosa fa questa demo? (Aspetta.) Lampeggia. In realtà si tratta di tre demo che utilizzano la spia di notifica USB 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) (fonte)
Ringraziamenti
Grazie a Pete LePage e Kayce Basques.