Uh oh!
There was an error while loading. Please reload this page.
Conversation
New vendor. Pure codec in src/corsair and a WebHID client in src/drivers/corsair that reads identity, firmware, the enabled-stage mask, the current stage, every enabled DPI stage with its colour, lift-off height and angle snapping over 64-byte feature reports on the 0xffc2 / usage 4 config interface. Read-only for now: settingsReady is false, no setters, getDpiOptions() is empty. Protocol facts honoured, all verified on fw 3.41 / bl 3.08: - GET = sendFeatureReport → ~20 ms → receiveFeatureReport, reply must echo request bytes 0–3 (retried on a stale buffer); SET has no reply. - Byte 3 must be 0 (live profile); 1 returns zeros on this device. - DPI is big-endian in GET replies and little-endian in SET payloads; identity fields are little-endian. Tested explicitly. - A MOUSE_DPIPROF write without RGB bytes clears the stage colour, so setStageDpi requires the triple. - Slot d0 is iCUE's Sniper stage; numbered stages are d1–d5. - isSupported() requires usage 4 with a feature report on id 0 so the MI_00 usage-3 collection is never claimed; the picker filter includes usage: 4. The "NotAllowedError when iCUE is running" note from the original probe turned out to be the wrong picker entry: the usage-3 collection has no feature report and throws exactly that error, while the usage-4 interface keeps answering with iCUE active. The error is still mapped to guidance, leading with the interface choice. Registry wiring: DEVICE_DRIVERS, SupportedClient, VENDOR_ID.corsair, SUPPORTED_HID_FILTERS, the brand union, the registry probe matrix (0xffc2 page and usage 4), the ./corsair subpath export, tsconfig path and root namespace. Fixtures and the protocol write-up live in captures/corsair-nightsword. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…range) Run against the NIGHTSWORD RGB on fw 3.41 with iCUE running: selecting a stage with 07 13 02 00 <n> takes effect immediately (cursor speed changes and the GET reads the new slot), angle snap accepts the write with or without ckb-next's trailing 0x05, and lift height reads back every value from 1 to 5. Raw log in captures/corsair-nightsword/ write-probe.txt; PROTOCOL.md's write table and open-questions list updated. No driver behaviour changes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
# Conflicts: # src/drivers/mouse-types.ts # src/drivers/registry.ts # src/drivers/vendors.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge of #63 onto current main, resolving additive brand-union conflicts against #65's Microsoft Intellimouse driver (mouse-types.ts, registry.ts, vendors.ts). Closes#63.