Bug 513145 - Zoom effect: option for pointer to *never* leave the center of the screen
Summary: Zoom effect: option for pointer to *never* leave the center of the screen
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: effects-various (other bugs)
Version First Reported In: unspecified
Platform: CachyOS Linux
: NOR wishlist
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: accessibility
Depends on:
Blocks:
 
Reported: 2025-12-09 22:46 UTC by Grayson Peddie
Modified: 2025-12-22 21:59 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Grayson Peddie 2025-12-09 22:46:31 UTC
SUMMARY
This is a feature request for the "Scroll at Screen Edge" feature that I used in Cinnamon desktop environment for months before I learned that KDE 6.5 has moved the Zoom and Magnifier to the Accessibility section. Basically, Scroll at Screen Edge" extends the viewport beyond screen edge and keeps the mouse centered. I feel it would be best to show the "scroll at screen edge" feature in action in the video I have provided. This can be very helpful if I'm dealing with operating a KDE desktop on a large screen where I could strain my neck or stand up to look at the top of the screen without having to zoom in a lot further in due to my visual disability.

LINK TO FORUM
https://discuss.kde.org/t/scroll-at-screen-edge-feature-from-cinnamon-desktop-environment-in-k

LINK TO VIDEO
https://odysee.com/@GraysonPeddie:6/ScrollatScreenEdgeKDE:d
Comment 1 Nate Graham 2025-12-09 22:57:03 UTC
Can you describe the feature request in terms of what the current Zoom accessibility feature doesn't offer?
Comment 2 Grayson Peddie 2025-12-09 23:24:54 UTC
(In reply to Nate Graham from comment #1)
> Can you describe the feature request in terms of what the current Zoom
> accessibility feature doesn't offer?

Sure! The current Zoom feature in KDE doesn't address the physical challenges that users with visual disabilities face on large screens. Without 'Scroll at Screen Edge,' I must physically move my head to different screen areas to navigate or stand up to see content at the top of large screens. Or, I have to zoom in further than necessary, which creates additional navigation challenges. When it comes to tilting my head up, I'd have to strain my neck in the process and squint.

The "Scroll at Screen Edge" feature from Cinnamon solves these accessibility barriers by allowing me to navigate the entire screen from a single position, keeping the cursor centered and eliminating the need for physical repositioning.
Comment 3 Nate Graham 2025-12-10 00:39:03 UTC
I see now: basically it forces the pointer to always be in the center of the screen, so when the pointer nears the edge of the screen, there's just a black area beyond it.

So, like what "Centered" already does, but the pointer will *never* leave the center of the screen. Seems quite reasonable.
Comment 4 Bug Janitor Service 2025-12-10 19:47:34 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/8548
Comment 5 Bug Janitor Service 2025-12-10 19:57:49 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3388
Comment 6 Ritchie Frodomar 2025-12-10 20:03:28 UTC
I've gotten this working in the Centered mode (see the two MRs helpfully linked to by your friendly neighbourhood bug janitor service). Should we consider doing the same for the Push tracking mode?

Anyway, because it could potentially disorient me (and potentially other users, especially if you accidentally turn zoom on), I've put it behind a toggle. I believe GNOME has this feature as well, also disabled by default.
Comment 7 Grayson Peddie 2025-12-10 21:53:39 UTC
Probably not the push mode. The push mode would probably not make sense when going beyond the viewing area. The same could be the same for proportional mode as well. Keeping the mouse centered makes it easy for me to navigate around the screen as it keeps me focused on the center of the screen. And the solid black area is pretty much the same as in the Cinnamon desktop environment.
Comment 8 Ritchie Frodomar 2025-12-22 20:28:31 UTC
Git commit 7e44c7632b133eb05aa92ca806313730c2b97731 by Ritchie Frodomar, on behalf of Ritchie Frodomar.
Committed on 22/12/2025 at 19:28.
Pushed by acidiclight into branch 'master'.

plugins/zoom: Add strict version of MouseTrackingCentered

Some users find it difficult to interact with elements in the corners
or edges of their screen, while zoomed in. Other compositors address
this by allowing the zoom area to extend beyond the visible workspace,
keeping the mouse cursor in the center of the screen at all times.

This commit adds that functionality, in the form of a new strict version
of the existing Centered tracking mode.

The new mode is defined after Disabled, instead of being inserted
between existing modes, to prevent accidental config changes when
a user upgrades Plasma.
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

M  +9    -1    src/plugins/zoom/zoom.cpp
M  +1    -0    src/plugins/zoom/zoom.h

https://invent.kde.org/plasma/kwin/-/commit/7e44c7632b133eb05aa92ca806313730c2b97731
Comment 9 Ritchie Frodomar 2025-12-22 21:59:41 UTC
Git commit cf95079b587cd946d6204ba77309c4e99c437417 by Ritchie Frodomar, on behalf of Ritchie Frodomar.
Committed on 22/12/2025 at 20:25.
Pushed by acidiclight into branch 'master'.

kcms/access: Add "Centered (Strict)" mouse tracking mode to Zoom/Magnifier

This commit adds a new mouse tracking mode to the zoom settings. When set
to "Centered (Strict)," KWin will keep the mouse cursor centered on-screen
no matter what - even if doing so exposes the black void around the
visible workspace.

Additionally, this commit adds descriptions for each mouse tracking type.
To accomodate the descriptions, the width of the two dropdowns (pointer
scale and mouse tracking) has been increased.
Signed-off-by: Ritchie Frodomar <alkalinethunder@gmail.com>

M  +58   -3    kcms/access/ui/ZoomMagnifier.qml

https://invent.kde.org/plasma/plasma-desktop/-/commit/cf95079b587cd946d6204ba77309c4e99c437417