Urządzenia z interfejsem użytkownika w internecie: kilka krótkich przykładów

łączenie się z nietypowymi urządzeniami z poziomu Twojej aplikacji;

Jan Kowalski
Joe Medley
Matt Reynolds
Matt Reynolds

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)

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