Skip to content

Smoothing mouse magnifier and spotlight#19468

Merged
seanbudd merged 2 commits into
nvaccess:masterfrom
France-Travail:smoothingMag
Jan 21, 2026
Merged

Smoothing mouse magnifier and spotlight#19468
seanbudd merged 2 commits into
nvaccess:masterfrom
France-Travail:smoothingMag

Conversation

@Boumtchack
Copy link
Copy Markdown
Contributor

Link to issue number:

#19462

Summary of the issue:

  • Mouse movement was not smooth enough while using magnifier
  • Spotlight steps were sacading due to zoom validation

Description of user facing changes:

None

Description of developer facing changes:

None

Description of development approach:

Reduce the value of refreshment for mouse
Adding a function to zoom with raw values ( for animation purpose)

Testing strategy:

Known issues with pull request:

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request improves the smoothness of mouse magnifier movements and fixes sacading issues with spotlight animations. The changes reduce the timer refresh interval and introduce a method to bypass zoom validation during animations.

Changes:

  • Reduced magnifier timer interval from 20ms to 12ms for smoother mouse tracking
  • Added _setZoomRawValue() method to allow intermediate zoom values during animations without validation

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
source/_magnifier/magnifier.py Reduced _TIMER_INTERVAL_MS from 20ms to 12ms and added _setZoomRawValue() method for smooth animation
source/_magnifier/utils/spotlightManager.py Updated to use _setZoomRawValue() instead of the zoomLevel property setter during animation steps

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread source/_magnifier/magnifier.py
@Boumtchack Boumtchack marked this pull request as draft January 19, 2026 14:31
@SaschaCowley SaschaCowley added the conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review. label Jan 20, 2026
@Boumtchack Boumtchack marked this pull request as ready for review January 20, 2026 16:12
Copy link
Copy Markdown
Member

@seanbudd seanbudd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @Boumtchack

@seanbudd seanbudd merged commit 09277db into nvaccess:master Jan 21, 2026
42 of 45 checks passed
@github-actions github-actions Bot added this to the 2026.2 milestone Jan 21, 2026
tareh7z pushed a commit to tareh7z/nvda that referenced this pull request Feb 16, 2026
nvaccess#19462
Summary of the issue:

    Mouse movement was not smooth enough while using magnifier
    Spotlight steps were sacading due to zoom validation

Description of user facing changes:

None
Description of developer facing changes:

None
Description of development approach:

Reduce the value of refreshment for mouse
Adding a function to zoom with raw values ( for animation purpose)
@Boumtchack Boumtchack deleted the smoothingMag branch April 21, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conceptApproved Similar 'triaged' for issues, PR accepted in theory, implementation needs review.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants