Repository navigation
Multi-mouse: support any Logitech HID++ mouse, several at once - #1
Merged
Merged
Conversation
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Gate: 352 tests green. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…gate, probe --all, end-to-end tests) Gate: 383 tests green, make app green. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs/dev/NEXT-STEPS.md describes the remaining waves (app core, UI, demo mode, docs, audit) and the launch video. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Swift 6.0 rejects a default argument that references a main-actor static method from a nonisolated context; the helper is pure. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bump MARKETING_VERSION to 1.1.0 (build 2) and date the multi-mouse changelog entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
dpdev69
marked this pull request as ready for review
October 14, 2026 19:01
testOneRequestInFlightPerTransport timed out on the macOS runner waiting for three mice to connect behind a slot that drops every request (~1.5 s locally, >3 s on CI). The gate assertion itself held. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 free
to 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.
Adds support for any Logitech HID++ 2.0 mouse with programmable buttons (REPROG_CONTROLS_V4), and for several mice at once: any mix of USB, Bluetooth and Unifying/Bolt/Nano receivers, including several mice on one receiver.
Draft: the multi-mouse code has not run on real hardware yet. Waiting on the hardware smoke test and the first CI run.
What changes
HIDPPLink) and oneEndpointControllerper mouse, with one request in flight per transport plus an interactive lane;Simulation/.Upright --demo --export-snapshots <dir>andmake snapshotsrender the real UI with three simulated mice intomedia/snapshots/. They never touch IOKit or the real defaults domain.upright-probe --all, read-only unless--divertis passed.docs/DEVICES.md,docs/HIDPP.md, CONTRIBUTING, CHANGELOG, and issue templates including a "new mouse" template. Only the MX Vertical is marked as verified on hardware.Verification
make app(Release, universal) builds; hardened runtime and the macOS 13 deployment target are unchanged.docs/dev/HARDWARE-SMOKE-CHECKLIST.md. Section 4 matters most, becauseIOHIDManagerOpenis no longer called at launch;Known limitations
These are listed in
docs/dev/NEXT-STEPS.mdunder "Audit outcome":🤖 Generated with Claude Code