łączenie się z nietypowymi urządzeniami z poziomu Twojej aplikacji;
Co to jest WebHID API?
Wiele urządzeń interfejsu (HID) jest zbyt nowych, zbyt starych lub zbyt rzadko dostępnych dla sterowników systemów. Interfejs WebHID API rozwiązuje ten problem, umożliwiając wdrożenie logiki związanej z konkretnym urządzeniem w JavaScript.
Sugerowane przypadki użycia interfejsu WebHID API
HID pobiera dane wejściowe od użytkowników lub udostępnia im dane wyjściowe. Przykładami urządzeń są klawiatury, urządzenia wskazujące (myszy, ekrany dotykowe itp.) oraz pady do gier. Protokół HID umożliwia dostęp do tych urządzeń na komputerach za pomocą sterowników systemu operacyjnego. Platforma internetowa bazuje na tych sterownikach, aby obsługiwać HID.
Brak dostępu do rzadkich urządzeń HID jest szczególnie uciążliwy, jeśli chodzi o obsługę padów do gier. Pady do gier przeznaczone na komputery często używają interfejsu HID jako wejścia do gier (przyciski, joysticki, spusty) i wyjść (diody LED, drżenie). Pamiętaj jednak, że wejścia i wyjścia gamepada nie są dobrze ustandaryzowane, a przeglądarki często wymagają niestandardowej logiki dla konkretnych urządzeń. Jest to niemożliwe do zrównoważonego rozwoju i skutkuje słabą obsługę starszych i rzadszych urządzeń. Sprawia to również, że przeglądarka korzysta z nietypowych cech działania konkretnych urządzeń.
Wersje demonstracyjne
Jeśli chcesz dowiedzieć się, jak działają te przykłady, kod źródłowy każdego z nich jest dostępny na GitHubie. W wyjaśnieniu znajduje się przykładowy kod na bezpresji.
Podświetlenie klawiatury MacBooka Pro
Największą przeszkodą w wypróbowaniu takiej wersji demonstracyjnej jest brak dostępu do urządzenia. Na szczęście, jeśli masz MacBooka Pro z TouchBarem, nie musisz niczego kupować. Ta wersja demonstracyjna pozwala używać interfejsu API bezpośrednio na laptopie. Pokazuje też, jak za pomocą WebHID można korzystać z funkcji urządzeń wbudowanych, a nie tylko urządzeń peryferyjnych.
Autor: FWeinb
Demo/Źródło: Podświetlenie klawiatury
Kontrolery do gier
Kontroler bezprzewodowy do PlayStation 4
Kolejna rzecz to coś, co prawdopodobnie będzie mieć mniej osób. Sony DualShock 4 to bezprzewodowy kontroler na konsole PlayStation 4.
Wersja demonstracyjna DualShock 4 korzysta z WebHID, aby otrzymywać nieprzetworzone raporty wejściowe z DualShock 4. Zapewnia też interfejs API wysokiego poziomu zapewniający dostęp do żyroskopu, akcelerometru, touchpada, przycisku i kciuka. Obsługuje również drżenie i ustawienie koloru diody RGB LED umieszczonej w kontrolerze.
Autor: TheBITLINK
Demo: DualShock 4 Demo (źródło)
Kontrolery Nintendo Switch Joy-Con
Zagraj w grę offline 🦖 w trybie offline i skacz z kontrolerem Nintendo Switch Joy-Con w kieszeni spodni. Ta wersja demonstracyjna wykorzystuje Joy-Con WebHID, czyli sterownik WebHID do kontrolerów Nintendo Switch Joy-Con.
Autor: Thomas Steiner
Demo: Chrome Dino WebHID
(źródło demonstracyjne,
źródło sterowników)
Pasek BlinkStick
BlinkStick Strip to zgodna z HID taśma oświetleniowa z 8 diodami LED RGB. Wersja demonstracyjna pozwala użytkownikowi wybrać jeden z kilku wzorców mrugania, np. „mrugnięcie”, „mrugnięcie” czy skaner Larsona (dawniej Cylon).
Autor: Robat Williams
Demo: blinkstick-strip (źródło)
Mrugnij, mrugnij, mrugnij
Do czego służy ta prezentacja? (Zaczekaj.) Miga. To 3 wersje demonstracyjne, w których dioda powiadomień USB miga.
Funkcja blink(1) jest prosta i dobrze udokumentowana, dzięki czemu doskonale nadaje się do pracy z HID.
Autor: Tod E. Kurt
Demos: blink(1) (źródło)
Podziękowania
Dziękujemy Pete LePage i Kayce Basques za przeczytanie tego artykułu.
Fot. Ugur Akdemir na stronie Unsplash