Skip to content

feat(razer): add individual LED lighting for Diamondback Chroma - #184

Merged
snekxs merged 1 commit into
OpenMouse-Project:mainfrom
DEERSTUDIO101:feat/diamondback-per-led
Oct 8, 2026
Merged

snekxs merged 1 commit into
OpenMouse-Project:mainfrom
DEERSTUDIO101:feat/diamondback-per-led

Conversation

@DEERSTUDIO101

@DEERSTUDIO101 DEERSTUDIO101 commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

The Diamondback Chroma (1532:004c) currently offers only whole-mouse lighting effects. Add LED 0 through LED 20 to the existing lightingZones interface so the OpenMouse lighting card can set a color or turn off each cell independently.

Use OpenRazer's model-specific single-row frame write (0x03/0x0c, transaction 0xff) and volatile custom-effect activation (0x03/0x0a). Each edit uploads only the selected cell. Serialize lighting writes, keep unchanged cells out of the payload, and cache only acknowledged writes. Whole-mouse effects and global brightness remain available. No Bridge changes are required.

Protocol sources and a hardware validation checklist are in docs/diamondback-custom-lighting.md. LED numbers are protocol indices; their physical positions and the new commands still need confirmation on a Diamondback. This does not enable Mamba Elite custom lighting or button remapping.

Validation:

  • Strict TypeScript build and package generation passed.
  • Focused Razer driver and custom-frame tests: 58 passed, including invalid indices/colors, refused writes, switching effects and concurrent cell writes.
  • OpenMouse built against the locally packed library: build and all 292 tests passed.
  • The full local Windows protocol suite is not reported as passing: existing Corsair assertions expect English number formatting and fail under de-DE; the registry's exhaustive probe did not complete. Those files are unchanged by this PR.
  • Hardware verification and visible Chrome testing remain pending.

Companion preview: OpenMouse-Project/openmouse#692. OpenMouse's existing protocol-update workflow can adopt the released package after this change is merged and published.

@snekxs
snekxs marked this pull request as ready for review October 8, 2026 21:51
@snekxs
snekxs merged commit 1bc7b98 into OpenMouse-Project:main Oct 8, 2026
5 checks passed
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown

🎉 This PR is included in version 0.30.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants