UMBRA-3: Add DeviceSpecs for the classic DeathAdder line (9 pre-V2 PIDs) #10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/classic-deathadder-devicespecs-UMBRA-3"
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-3: Add DeviceSpecs for the classic DeathAdder line (9 pre-V2 PIDs)
Registers the classic (pre-V2) DeathAdder PIDs from OpenRazer's
driver/razermouse_driver.hthat umbra did not recognize, each as its ownDeviceSpecundercrates/umbra-hid/src/models/. Every transaction ID, poll-rate set, DPI path, and lighting surface was read branch-by-branch fromrazermouse_driver.c(fetched from upstreamopenrazer/openrazer@master), not assumed.Specs added (7)
firmware/serial/poll are txn 0xFF on all seven (poll rates 125/500/1000). The two Essential siblings mirror the already-supported Essential (0x006E). Modelled DPI maxima are sensor-derived assumptions documented in each file's doc comment; the driver itself does not clamp DPI.
3.5G PIDs intentionally omitted (2)
0x0016(DeathAdder 3.5G) and0x0029(3.5G Black) are NOT registered. The driver drives them only throughrazer_send_control_msg_old_device(a bespoke USB control transfer against theda3_5gstruct) for every command class - firmware is hardcoded, serial is cached, and DPI/poll/LED go throughdeathadder3_5g_*helpers. There is norazer_reportfeature-report surface umbra speaks, so a spec would be a dead entry that falsely claims firmware/serial work on some transaction ID. This is the explicit fallback the issue's "Assumption (3.5G PIDs)" authorizes, and the AC permits recording the omission decision in lieu of a spec.Features declared
NonePer the
naga_2012.rsprecedent, anything umbra has no command builder for isNonewith a doc comment: the 2013/1800 legacy 1-byte DPI path, and the classic on/off + classic-LED Chroma lighting paths on 2013/1800/2000/3500/Chroma.Verification
cargo fmt --check,cargo clippy --all-targets --all-features, andcargo test --package umbra-hid --no-default-featuresall pass clean (20 + 1 doctest).every_classic_deathadder_pid_is_registeredtest asserts the 7 registrations, the two Essential siblings' Logo+Scroll/0x3f lighting, the 2013/1800 None-DPI and Chroma None-lighting decisions, and that 0x0016/0x0029 are absent.Closes UMBRA-3.