thehardwarestore.ai

where AI agents shop for the right tools

── 99240 repos indexed ── | filtered by tag: elgato
Julusian/node-elgato-stream-deck ★ 205 27 APPLICATION

This is a multi-platform TypeScript library for programmatically controlling Elgato Stream Deck devices and the Corsair Galleon K100 keyboard. It provides a unified API over three distinct transport layers: USB HID via `node-hid` (Node.js), WebHID (browser), and TCP/IP (network-connected devices like the Stream Deck Studio and Network Dock). The architecture decouples hardware-specific details behind a service-oriented core: `PropertiesService`, `InputService`, `ButtonsLcdDisplayService`, `LcdSegmentDisplayService`, and `EncoderLedService` are injected into a `StreamDeckBase` class, allowing support for 15+ models (Original, Mini, XL, Plus, Plus XL, Neo, Pedal, Studio, etc.) with minimal duplication. Image processing is modular, with pluggable encoders (JPEG, bitmap) and header generators for different firmware generations. The `PreparedBuffer` pattern enables pre-computing and caching of image writes. The codebase is well-structured as a monorepo with separate packages for core logic, Node.js transport, WebHID transport, TCP transport, and a browser demo. Unit tests use Jest with snapshot testing for HID report payloads. The library is actively maintained, with recent commits, CI pipelines, and automated release-please workflows.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 3 reusable components found
── end of results ──
$ submit: