UMBRA-13: Add DeviceSpecs for six one-off mice (Imperator, Ouroboros, Taipan, Diamondback Chroma, Atheris, HyperPolling dongle) #11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/oneoff-mice-devicespecs-UMBRA-13"
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-13: Add DeviceSpecs for six one-off mice (Imperator, Ouroboros, Taipan, Diamondback Chroma, Atheris, HyperPolling dongle)
Resolves UMBRA-13.
Registers the six remaining one-off mouse PIDs from OpenRazer's
driver/razermouse_driver.has standaloneDeviceSpecs undercrates/umbra-hid/src/models/, so the OpenRazer mouse PID space is fully accounted for in umbra. Every transaction ID, DPI/poll path, lighting surface, and battery/idle flag was read branch-by-branch fromrazermouse_driver.c; a single device may use different transaction IDs per command class.Added
Decisions (AC)
razer_mouse_probe, so each enumerates as a configurable endpoint umbra can talk to. This follows the UMBRA-1 dock/receiver precedent (registration is the include test).Nonewith a doc comment, per thenaga_2012precedent: classic on/offset_led_statelighting (Imperator, Taipan, Ouroboros); the Diamondback Chroma's standard-matrix (class 0x03) lighting path (umbra builds only the extended-matrix class 0x0F path); the Diamondback's polling (the driver registers no poll-rate attribute for that PID); the HyperPolling dongle's polling (it uses theset_polling_rate2two-step path the 4/8 kHz devices use, which umbra does not build).Verification
cargo fmt --check,cargo clippy --workspace --all-targets, andcargo test --package umbra-hid --no-default-featuresall pass clean.every_oneoff_pid_is_registeredtest asserts registration plus the per-device lighting/poll omissions and transaction-ID splits.🤖 Generated with Claude Code