Verbindung von Ihrer App zu ungewöhnlichen Geräten herstellen
Was ist die WebHID API?
Viele Human Interface Devices (HIDs) sind zu neu, zu alt oder zu selten, um von den Gerätetreibern des Systems zugänglich zu sein. Die WebHID API bietet eine Möglichkeit, gerätespezifische Logik in JavaScript zu implementieren.
Vorgeschlagene Anwendungsfälle für die WebHID API
Ein HID nimmt Eingaben von Menschen entgegen oder gibt eine Ausgabe an Menschen aus. Beispiele für Geräte sind Tastaturen, Zeigegeräte (Mäuse, Touchscreens usw.) und Gamepads. Das HID-Protokoll ermöglicht den Zugriff auf diese Geräte auf Desktop-Computern über Betriebssystemtreiber. Die Webplattform unterstützt HIDs, da sie auf diese Treiber angewiesen ist.
Die fehlende Unterstützung für ungewöhnliche HID-Geräte ist besonders ärgerlich, wenn es um den Gamepad-Support geht. Für PCs konzipierte Gamepads verwenden häufig HID für Gamepad-Eingaben (Tasten, Joysticks, Auslöser) und ‑Ausgaben (LEDs, Rumble). Die Eingaben und Ausgaben von Gamepads sind jedoch nicht gut standardisiert und Webbrowser erfordern häufig benutzerdefinierte Logik für bestimmte Geräte. Das ist nicht nachhaltig und führt zu einer schlechten Unterstützung für die Long Tail-Anzahl älterer und weniger gängiger Geräte. Außerdem ist der Browser von Besonderheiten im Verhalten bestimmter Geräte abhängig.
Demos, Demos, Demos
Wenn Sie wissen möchten, wie diese Beispiele funktionieren, finden Sie den Quellcode für alle auf GitHub. In der Erklärung finden Sie ein einfaches Codebeispiel.
Tastaturbeleuchtung von MacBook Pro
Die größte Hürde beim Ausprobieren dieser Demos ist der fehlende Zugriff auf das Gerät. Glücklicherweise müssen Sie nichts kaufen, wenn Sie ein MacBook Pro mit TouchBar haben. In dieser Demo können Sie die API direkt auf Ihrem Laptop verwenden. Außerdem wird gezeigt, wie WebHID nicht nur für Peripheriegeräte, sondern auch für integrierte Geräte verwendet werden kann.
Autor: FWeinb
Demo/Quelle: Tastatur-Hintergrundbeleuchtung
Controller
PlayStation 4 Wireless Controller
Als Nächstes geht es um etwas, das wahrscheinlich weniger von Ihnen haben. Der DualShock 4 von Sony ist ein kabelloser Controller für PlayStation 4-Spielkonsolen.
Die DualShock 4-Demo verwendet WebHID, um die Roheingabeberichte vom DualShock 4 zu empfangen, und bietet eine High-Level-API für den Zugriff auf die Gyros, Beschleunigungsmesser, Touchpads, Schaltflächen und Sticks des Controllers. Außerdem unterstützt er Vibrationen und das Festlegen der Farbe einer RGB-LED im Controller.
Autor: TheBITLINK
Demo: DualShock 4 Demo (Quelle)
Nintendo Switch Joy-Con-Controller
Sie können das Chrome-Dino-Spiel 🦖 offline spielen, indem Sie mit einem Nintendo Switch Joy-Con-Controller in der Hosentasche springen. Diese Demo wird von Joy-Con WebHID unterstützt, einem WebHID-Treiber für die Joy-Con-Controller der Nintendo Switch.
Autor: Thomas Steiner
Demo: Chrome Dino WebHID
(Demoquelle,
Treiberquelle)
BlinkStick Strip
BlinkStick Strip ist ein HID-kompatibler LED-Streifen mit 8 RGB-LEDs. In der Demo kann der Nutzer aus mehreren Blinkmustern wählen, darunter „Chase“, „Blink“ und „Larson-Scanner“ (auch „Cylon“ genannt).
Autor: Robat Williams
Demo: blinkstick-strip (Quelle)
Blink, blink, blink
Was macht diese Demo? (Warte kurz.) Es blinkt. Es sind eigentlich drei Demos, bei denen die blinkende(1) USB-Benachrichtigungs-LED verwendet wird.
blink(1) ist einfach und gut dokumentiert. Daher eignet es sich hervorragend für den Einstieg in HID.
Autor: Tod E. Kurt
Demos: blink(1) (source)
Danksagungen
Vielen Dank an Pete LePage und Kayce Basques für die Überprüfung dieses Artikels.
Foto von Ugur Akdemir auf Unsplash