Repository navigation
feat: add Redgear X13 Pro settings driver - #233
Conversation
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 21 minutes. View limit details
No actionable comments were generated in the recent review. Walkthrough
Pre-merge checks:
|
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
9e12671 to
4c23c8b
Compare
|
Rebased onto main, preserving all registry/vendor/type entries. Fixed optional button-read failures disabling settings, reset pending reads and the transfer queue on close, reused Redgear identity constants, and aligned import extensions and brand union ordering. Added regression tests; build, all 2,931 tests, and package dry run pass (no lint script is configured). |
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — Adds Redgear X13 Pro settings support with narrowly matched device detection and verified, preservation-focused writes. Documented hardware restoration trials and failure lockouts limit risk, while firmware, calibration and macro editing remain excluded. Notes:
You can add or adjust custom eligibility rules. Learn more. |
50e00b2 to
8f10523
Compare
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Keep optional button read failures from disabling settings, reset pending reads and the transfer queue on close, and use shared identity constants and source import conventions. Add regression coverage for optional reads, reconnection, and picker identity. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Treat optional transfer timeouts as connection failures while tolerating completed optional-report rejections. Validate settings and button payloads inside transfer failure handling so malformed read-backs clear cached state and block queued writes until reconnect. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Wait for an in-flight open to finish and close its cancelled handle before close returns. Accept both ID-less and correctly ID-prefixed feature replies for status and button reads while rejecting unexpected IDs, including write verification. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
8f10523 to
a267c7c
Compare
Dismissing prior approval to re-evaluate a267c7c
|
🎉 This PR is included in version 0.57.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Adds the owner-confirmed wired Redgear X13 Pro (
1B80:B412, MECHREV Gaming Mouse / Jtech) with DPI, polling, corrected static RGB and standard button remapping. Direct Edge WebHID opens but cannot read the feature report on the tested Windows system; OpenMouse Bridge beta.15 works. The client falls back to identity with settings disabled on transport failure.The codec uses independently recorded native reads and original vendor API arguments captured with every USB write blocked. It reads fresh, preserves unknown bytes, verifies complete replies and serializes transfers. Button edits preserve the full report, protect unknown/macro records and refuse to remove the last standard primary click. Physical channel trials identified R,B,G order; swapping the last two channels fixes the vendor UI's incorrect green/blue labels.
Hardware acceptance on this exact wired mouse:
Validation: protocol
npm run checkpasses 2504 tests; consuming OpenMousenpm run checkpasses 383 tests with this local package. Twenty-one focused new tests cover framing, invalid values, independent captures, preservation, serialization, mismatch/failure handling, timeouts, disconnects and primary-click protection. No proprietary binary, raw macro report, serial or device path is included. Firmware version is unknown; USB revision is not reported as firmware.Scope is deliberately limited: no macros/M-Macro, hardware profile banks, DPI indicator-colour editing, animated effects/brightness/speed, firmware or calibration. Overall verified stays false; narrow feature acceptance flags and docs describe actual evidence. Windows pointer/scroll/double-click controls belong to the separate native utility, not this HID driver.
Minimal sanitized fixtures and the standalone utility: https://github.com/AniketSpecter/redgear-x13-pro . Matching app PR: OpenMouse-Project/openmouse#1108
Summary by CodeRabbit
Note
Add Redgear X13 Pro settings driver with HID client and codecs
RedgearX13HidClientin hid.ts. It matches the X13 Pro VID/PID and status collection, reads status, and writes DPI, polling rate, static color, and button assignments with read-back verification. Transport failures, timeouts, or mismatches disable writes until reconnect.redgearnamespace in index.ts and the./redgearsubpath in package.json.MouseStatus.brandin mouse-types.ts now acceptsRedgear; support metadata is markedverified: false.Macroscope summarized a267c7c.