Stream Deck

An Elgato Stream Deck as a hardware control surface for any page.

Why the profile is machine-level.

The profile lives at data/streamdeck.json and belongs to the machine, not to a page: one deck sits on one desk and outlives whatever page happens to be open in the editor. Every button therefore carries the pageId it drives.

  • A press acts on its page whether or not that page is on screen — or open in any browser at all.
  • Keys are organised into banks, because a 32-key deck runs out of keys long before a show does.
  • The profile also carries panel brightness, 0–100.
  • Because a binding can outlive its target, every button resolves to a health verdict and the grid marks a broken one rather than failing at air time.