UMBRA-5: Add DeviceSpecs for the full Basilisk line (16 PIDs) #12
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/basilisk-line-devicespecs-UMBRA-5"
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-5: Add DeviceSpecs for the full Basilisk line (16 PIDs)
Resolves UMBRA-5.
Adds a
DeviceSpecfor the 16 remaining Basilisk PIDs from OpenRazer'sdriver/razermouse_driver.h(the Basilisk V3, 0x0099, landed earlier), each in its own<model>.rsundercrates/umbra-hid/src/models/, registered inSUPPORTED, and listed in the README "Supported devices" table.What was read from the driver
Per-command transaction IDs, DPI/poll paths, lighting zones, effect kinds, and battery/idle support were read branch-by-branch from
razermouse_driver.cand the per-PIDrazer_mouse_probeattribute lists, not assumed. A single device mixes transaction IDs across command classes.Decisions worth a reviewer's eye
razer_mouse_probebranch registers only the Scroll zone, not the Logo zone the plain V3 Pro 35K keeps, so this spec exposes a single Scroll zone (the issue noted "feature content matching the V3 Pro 35K branches unless the driver differentiates them" - it does).basilisk_v3.razer_mouse_probe, per the UMBRA-1 receiver precedent. The AA-powered receivers carry battery + idle, but the driver hard-codesis_chargingto 0.None. The X HyperSpeed receiver exposes no onboard lighting; the Basilisk Mobile drives its matrix through a bespokerazer_basilisk_mobile_effect_staticbuilder umbra does not ship, so its lighting is omitted. DPI maxima are sensor-derived assumptions documented in each file's doc comment (Focus+ 26K for V2/Ultimate/V3, Focus Pro 30K for V3 Pro, 35K for the 35K editions, per the UMBRA-5 assumptions).Verification
cargo fmt --check,cargo clippy --workspace --all-targets, and the workspace build all pass clean.cargo test --package umbra-hid --no-default-featurespasses, including a newevery_basilisk_line_pid_is_registeredtest covering registration plus the zone/txn/split-battery and receiver-inclusion decisions.🤖 Generated with Claude Code