Łączenie się z nietypowymi urządzeniami z aplikacji.
Czym jest interfejs WebHID API?
Wiele urządzeń HID jest zbyt nowych, zbyt starych lub zbyt nietypowych, aby były dostępne dla sterowników urządzeń systemowych. Rozwiązaniem jest WebHID API, które umożliwia implementowanie logiki specyficznej dla urządzenia w JavaScript.
Sugerowane przypadki użycia interfejsu WebHID API
Interfejs HID przyjmuje dane wejściowe od użytkowników lub dostarcza dane wyjściowe do nich. Przykłady takich urządzeń to klawiatury, urządzenia wskazujące (myszy, ekrany dotykowe itp.) i kontrolery gier. Protokół HID umożliwia dostęp do tych urządzeń na komputerach za pomocą sterowników systemu operacyjnego. Platforma internetowa obsługuje HID-y, korzystając z tych sterowników.
Brak dostępu do niestandardowych urządzeń HID jest szczególnie uciążliwy w przypadku obsługi kontrolerów gier. Kontrolery do gier przeznaczone na komputery często korzystają z HID w przypadku wejść (przycisków, joysticków, spustów) i wyjść (diod LED, wibracji). Jednak wejścia i wyjścia kontrolerów nie są dobrze standaryzowane, a przeglądarki internetowe często wymagają niestandardowej logiki w przypadku konkretnych urządzeń. Nie jest to jednak możliwe, ponieważ wiązałoby się to z niewystarczającym wsparciem dla starszych i rzadkich urządzeń. Sprawia to też, że przeglądarka zależy od dziwnych zachowań niektórych urządzeń.
Demo, demo, demo
Jeśli chcesz dowiedzieć się, jak działają te przykłady, możesz znaleźć ich kod źródłowy na GitHubie. W tym artykule znajdziesz przykładowy kod bez komentarzy.
Podświetlenie klawiatury MacBooka Pro
Największą przeszkodą w wypróbowaniu tych wersji demonstracyjnych jest brak dostępu do urządzenia. Na szczęście, jeśli masz MacBooka Pro z TouchBarem, nie musisz niczego kupować. Ta wersja demonstracyjna umożliwia korzystanie z interfejsu API bezpośrednio na laptopie. Pokazuje też, jak można używać WebHID do odblokowywania funkcji wbudowanych urządzeń, a nie tylko urządzeń peryferyjnych.
Autor: FWeinb
Demo/źródło: Podświetlenie klawiatury
Kontrolery do gier
Bezprzewodowy kontroler PlayStation 4
Teraz coś, co prawdopodobnie mają mniej osoby. DualShock 4 to bezprzewodowy kontroler do konsoli do gier PlayStation 4 firmy Sony.
Aplikacja DualShock 4 Demo korzysta z interfejsu WebHID, aby otrzymywać surowe raporty danych wejściowych z kontrolera DualShock 4. Zapewnia ona interfejs API wysokiego poziomu, który umożliwia dostęp do danych z gyroskopu, akcelerometru, panelu dotykowego, przycisków i palcówek kontrolera. Obsługuje też wibracje oraz ustawienie koloru diody RGB w kontrolerze.
Autor: TheBITLINK
Prezentacja: Demo DualShock 4 (źródło)
kontrolery Joy-Con do Nintendo Switch;
Graj w grę z dinozaurem w Chrome 🦖 offline, skacząc z kontrolerem Joy-Con do Nintendo Switch w kieszeni spodni. Ta wersja demonstracyjna korzysta z Joy-Con WebHID, sterownika WebHID do kontrolerów Joy-Con do Nintendo Switch.
Autor: Thomas Steiner
Demo: Chrome Dino WebHID (źródło pliku demo, źródło sterownika)
BlinkStick Strip
BlinkStick Strip to pasek świetlny zgodny ze standardem HID z 8 diodami RGB. Demonstracja umożliwia użytkownikowi wybranie jednego z kilku wzorów migania, w tym migania, migacza i skanera Larsona (zwanego Cylon).
Autor: Robat Williams
Prezentacja: blinkstick-strip (źródło)
Blink, blink, blink
Co robi ta prezentacja? (Poczekaj chwilę.) Mruga. W zależności od tego, czy używasz lampki powiadomień USB blink(1) czy nie, możesz wyświetlić 3 demo.
blink(1) jest prosty i dobrze udokumentowany, co czyni go świetnym wyborem na początek przygody z HID.
Autor: Tod E. Kurt
Prezentacje: blink(1) (source)
Podziękowania
Dziękujemy Pete LePage i Kayce Basques za sprawdzenie tego artykułu.
Zdjęcie: Ugur Akdemir z Unsplash