UMBRA-7: Add DeviceSpecs for the Mamba line (7 PIDs) #16
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/mamba-line-devicespecs-UMBRA-7"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements UMBRA-7: adds the seven Mamba PIDs from OpenRazer's
razermouse_driver.hthat were missing (the Mamba Elite0x006Clanded earlier).Devices added
How the values were derived
Each spec's per-command transaction IDs, poll rates, lighting zones, effect kinds and battery/idle support were read individually off the matching
razermouse_driver.cbranches (firmware, serial, dpi read+write, poll read+write, charge_level, charge_status, idle read+write) cross-checked against the probe attribute groups, not assumed.set_led_statepath umbra has no builder for, so lighting isNone(thenaga_2012precedent). DPI max 6400 (Philips twin-eye sensor, documented assumption).None(thenaga_chroma/diamondback_chromaprecedent). Poll is modeled on the read-path 0xFF thatumbra infoexercises; the driver's poll WRITE path uses 0x3f for these PIDs, a known driver inconsistency documented in each file. DPI max 16000 (5G laser sensor, assumption).deathadder_v2_pro_wired). Two extended-matrix (class 0x0F) zones, Logo + Scroll, with static/spectrum/reactive/breath/none, the same builder family umbra already ships for the DeathAdder V2 line. DPI max 16000 (5G optical sensor, assumption).Tests
Adds
every_mamba_line_pid_is_registered, asserting registration of all seven PIDs plus per-variant transaction IDs, DPI maxima, lighting zones, and battery/idle presence.cargo test --package umbra-hid --no-default-featurespasses (25 tests).cargo buildandcargo fmt --checkare clean.Note: local
cargo clippy(rust 1.94) flags adoc_lazy_continuationlint in three pre-existing Basilisk files unrelated to this change; the new Mamba files are clippy-clean.🤖 Generated with Claude Code