Skip to content

HID main protocol alignment, new profiles, strict device init#46

Merged
FlowingSPDG merged 2 commits into
mainfrom
feat/hid-v2-runtime-device-no-fallback
Apr 21, 2026
Merged

HID main protocol alignment, new profiles, strict device init#46
FlowingSPDG merged 2 commits into
mainfrom
feat/hid-v2-runtime-device-no-fallback

Conversation

@FlowingSPDG

Copy link
Copy Markdown
Member

Summary

This change set aligns the firmware with Elgato’s Main (V2) HID protocol surface, expands supported Device profiles (Mk.2, Neo, Plus XL, XL 2022, etc.), and removes legacy compatibility paths.

Notable behavior changes

  • Plus / Plus XL USB PID is 0x0084 for both, matching the official HID summary table. Layout and unit info differ by build target; firmware selects the variant via config::init_runtime_device(DEVICE) from each binary’s main.
  • No PID-to-device fallback: every binary must call init_runtime_device before anything reads get_current_device().
  • Removed deprecated ProtocolHandler::create, old config constants, from_pid / set_device_pid, and silent Mini/matrix fallbacks (unknown layouts panic).

Testing

  • cargo fmt / cargo check / cargo check --bins

The remote noted the canonical repo may be MikanseiLaboratory/productiondeck; this PR is opened against the origin remote used for the push.

Made with Cursor

- Extend V2 HID handling (feature/output/input reports, descriptors) and types.
- Add Mk.2, Neo, and Plus XL binaries and device configs; Plus/+XL use PID 0x0084 per Elgato docs.
- Unify module 15/32 on V2; remove legacy module_15_32 handler.
- Replace PID-based device fallback with config::init_runtime_device in each binary entrypoint.
- Remove deprecated APIs, unused supervisor/usb/hardware entrypoints, and matrix pin fallbacks.
- Refresh protocol reference and CLAUDE.md; drop superseded standalone USB/Mini analysis docs.

Made-with: Cursor
This was linked to issues Apr 21, 2026
- Apply cargo fmt; satisfy clippy type_complexity / too_many_arguments in v2
- PartialWindowChunk + IngestChunkParams for parse_partial_chunk / ingest_chunk
- Shared entry and device module cleanup per refactor

Made-with: Cursor
@FlowingSPDG FlowingSPDG merged commit f24fe3e into main Apr 21, 2026
2 checks passed
@FlowingSPDG FlowingSPDG deleted the feat/hid-v2-runtime-device-no-fallback branch April 21, 2026 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

USB HID関連処理の修正 Implement StreamDeck Plus firmware

1 participant