UMBRA-4: Add DeviceSpecs for the modern DeathAdder line (V2/V3/V4, 12 PIDs) #13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/modern-deathadder-devicespecs-UMBRA-4"
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?
UMBRA-4: Add DeviceSpecs for the modern DeathAdder line (V2/V3/V4, 12 PIDs)
Resolves UMBRA-4.
Summary
Adds the twelve modern DeathAdder PIDs (V2/V3/V4) that OpenRazer's
driver/razermouse_driver.hdefines butumbradid not yet recognize. Each is aDeviceSpecin its owncrates/umbra-hid/src/models/<model>.rs, registered in theSUPPORTEDtable and resolved bymodels::lookup(vid, pid).Provenance
Every
Featuresfield's transaction ID, poll rates, lighting zones, and effect kinds were read off the matchingrazermouse_driver.cbranch (firmware, serial, poll read/write, dpi, the per-LED effect_commonfunctions, charge level/status, idle, and therazer_mouse_probeattribute groups), not assumed.0x3ffor the V2 Mini and on0x1ffor the rest of the line.lightingisNone.0x1f(probe registerscharge_*anddevice_idle_time).set_polling_rate2/get_polling_rate2path thatumbradoes not build, sopoll_rateis declaredNonewith a doc comment, matching the existing HyperPolling-dongle convention. Rates above 1000 Hz are out of scope until that builder lands.DPI maxima are sensor-derived assumptions documented in each file's doc comment (Focus Pro 30K for the V3 generation, Focus Pro 45K for the V4 Pro, and the 8500/14000 V2 sensors); the driver does not clamp DPI.
Tests
every_modern_deathadder_pid_is_registeredunit test overmodels::lookupcovers registration, the 0x3f/0x1f txn split, lighting presence/zones, battery+idle txns, thepoll_rate = Nonerate2 devices, and the V4 Pro 45K DPI max.cargo fmt --check,cargo clippy --all-targets --all-features, andcargo test --package umbra-hid --no-default-featuresall pass clean.🤖 Generated with Claude Code