Repository navigation
Add a scannable mouse panel - #857
Merged
Merged
Conversation
enaboapps
marked this pull request as ready for review
September 23, 2026 11:56
enaboapps
marked this pull request as draft
September 23, 2026 12:28
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.
Closes #856.
Adds a persistent two-page mouse scanner with eight-way movement, pointer actions, remote-style speed and monitor controls, direct switch entry, and keyboard handoff. Mouse movement now uses the Remote repeat calculation and saved interval, speed, and acceleration. The Remote-style pointer ring appears as soon as Mouse opens, stays visible throughout Mouse scanning even when the general overlay is disabled, and shows repeat and drag feedback. A switch press stops repeating movement and consumes its release. With repeat disabled, a direction moves one step and resumes scanning. Mouse drag is released on close, stop, disconnect, or action failure.
Validation:
npm run lint,npm test,npm run buildpassed.cargo fmt --manifest-path src-tauri/Cargo.toml --check,cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings, andcargo test --manifest-path src-tauri/Cargo.tomlpassed (510 tests, 1 ignored; 7 integration tests). New fake-adapter tests cover Remote repeat parity, one-step mode, switch-stop consumption, ring feedback, keyboard return, failure cleanup, and stale scan tokens.7477e2fas a native Tauri debug executable with Node 24.19.0 and Rust 1.97.1 (npm run tauri -- build --debug --no-bundle --target aarch64-pc-windows-msvc). With physical switch keys, opening Mouse showed the red pointer ring immediately. Selecting East repeated movement until the next switch press; the panel displayed “Moving pointer · Press any switch to stop”, the ring used Remote repeat feedback and followed the pointer, and scanning resumed afterward. WithmouseRepeatEnabled=false, selecting East moved one 12-pixel step at 200% VM scaling and stayed in Mouse scanning. WithcursorOverlayEnabled=false, the Mouse ring remained visible. Starting drag held the Windows left button and showed drag feedback in the ring; Stop released the button and removed both panel and ring. The earlier VM pass on this PR also exercised both Mouse entry points, all eight directions, clicks, scrolling, speed changes, keyboard return, click-through overlay, and stop cleanup in ordinary Notepad windows. Original VM settings were restored; the corrected build remains running.7477e2ffound no actionable issues.7477e2f: frontend, dependency audit, macOS native, Windows native/NSIS and UI Access, CodeQL, and JavaScript/TypeScript analysis.