Skip to main content

References: existing projects

Upstream projects inform protocol implementations. Local captures refine model-specific behavior. Device notes distinguish those evidence sources. Links below identify historical research sources.


Elgato CORA protocol & Stream Deck​

ProjectWhat it gave us
elgatosf/streamdeckOfficial Elgato plugin SDK — reference for device behaviour and the app side.
Julusian/node-elgato-stream-deckHID report formats, key-image framing, and per-model geometry.
HakanL/Haukcode.StreamDeckC# implementation — clearest reference for the CORA network-dock wire protocol.
bitfocus/companion-surface-elgato-stream-deckCompanion's surface driver — handshake and input-report handling.
bitfocus/companion-surface-mirabox-stream-dockCompanion's Mirabox surface — bridges both ecosystems.

Mirabox / Ajazz devices​

ProjectWhat it gave us
4ndv/mirajazzMirabox/Ajazz protocol library — primary reference for the non-Elgato decks.
4ndv/opendeck-akp153AKP153 (293-series) driver details.
ambiso/opendeck-akp05AKP05-family plugin (AKP05/AKP05E, Mirabox N4/N4E/N4 Pro, Mars MSD-PRO, Redragon SS552, Soomfon, Streonor) — VID/PID table, per-connect init, 10 s CRT CONNECT keepalive, encoder/key input codes.
zeccola/ajazz-akp05AKP05E Python SDK — hardware-confirmed notes that the DIS/LIG/CLE/STP init unlocks key reporting, and that the keepalive tick needs the DIS + LIG wake pair.
Uriziel01/Ajazz-AKP153-reverse-engineeringAKP153 USB protocol teardown.
crusardri/MiraboxStreamControllerMirabox controller — image and input handling.
MiraboxSpace/StreamDock-Device-SDKVendor SDK — image format and report IDs; N4/N4E key and second-screen constants (StreamDockN4).
teras/keydeckCross-platform deck driver.
rigor789/mirabox-streamdock-nodeNode Mirabox driver.
kebot/mirabox-tsTypeScript Mirabox driver.
ValentinTorassa/VT-RagnarosRagnaros (Redragon SS552, 0200:3001) Linux driver — reverse-engineered Mirabox/Ajazz v3 1024-byte protocol, 10 keys, 4 knobs, touch strip.

Fifine devices​

ProjectWhat it gave us
shugotekitten/opendeck-ampgd6D6 driver — key remap, JPEG geometry, protocol versions, and 1024-byte packets for PID 0x0060.
Phoenix557/FifineOpenSourceIndependent confirmation of the same D6 constants.
Lyagva/companion-surface-mirabox-stream-dockCompanion fork that added the D6; PR #49 is the hardware-verified 0x0007 model we cloned.
jasonkoon/sd-connectLive-probed 0x0060 notes — key remap on write, raw 1-based indexes on input.
TripleU613/Ampligame_D6_Pro_Linuxlibusb notes on CRT opcodes, STP commit, and 180° rotation (treat as a different firmware reading).

Runtime & build​

ProjectWhat it gave us
saghul/txiki.jsThe JS runtime DeckBridge compiles to — QuickJS-ng + libuv + libffi, no Node.
lukasMega/txiki.js-with-slim-buildsSlim tjs builds DeckBridge vendors (slim-ffi assets, pinned as $TXIKI_VERSION).
@julusian/node-image-rsReference for the Rust JPEG resize/rotate path (deckbridge-native).

DeckBridge: ❤️ Big Thanks to all existing projects