Bug 421040 - Mouse warp effect can't be disabled (wrap to opposite screen edge at drag srolling)
Summary: Mouse warp effect can't be disabled (wrap to opposite screen edge at drag sro...
Status: RESOLVED FIXED
Alias: None
Product: okular
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-05 07:00 UTC by nfxjfg
Modified: 2022-09-28 00:11 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 22.12


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description nfxjfg 2020-05-05 07:00:30 UTC
SUMMARY

If you move the mouse out of the screen while dragging the document, the mouse will be moved to the opposite end of the screen, so you can "continue" dragging.(Strangely only on the top or bottom, doesn't happen on the left/right.)

That may be a useful feature for some. But I find it annoying, because by desk doesn't extend endlessly. The mouse pointer may be able to go on endlessly with this, but in the end I just have to physically lift my mouse to "reset" its position.

If anything, I think the windowing system should allow you to move the mouse out of the screen, and clamp/reset the position only once you release the mouse button. But that's out of scope. It's notable that if the window is not fullscreened, you simply can move the mouse out of the window while dragging, and the mouse warp only happens when the mouse pointer goes outside of the actual screen.

Okular is the only application I encountered that does this.

STEPS TO REPRODUCE
OBSERVED RESULT

See summary.

EXPECTED RESULT

An option to disable this effect. Maybe even enabled by default.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Linux without DE
KDE Plasma Version: unknown
KDE Frameworks Version: 5.62.0
Qt Version: 5.12.4
PDF Backend: 0.6.5
Okular: 1.10.0
Comment 1 David Hurka 2020-05-05 17:57:25 UTC
I don’t bother with this feature, because I use a trackpoint. But I think you are right, dragging the document beyond the window edge is not really useful, because you could simply scroll.

<blahblah>
Most mouses have a scroll wheel, which is probably more convenient than carrying the mouse around because the cursor has wrapped. On touchpads it is even less useful, because you don’t have the possibility to carry the touchpad arround. Two-finger scrolling or even chiral scrolling is much more convenient. And on a trackpoint it is completely nonsense, because the trackpoint can scroll infinitely without any effort.
</blahblah>

If we disable it now, we will probably annoy some users who liked this feature. It will not become configurable, because we don’t implement other much more important configuration options, which would bloat the configuration dialog.

My suggestion is to disable this feature, but only because it is a bit inconsistent with on which edges the cursor wraps.
Comment 2 nfxjfg 2020-05-05 18:11:41 UTC
Regarding the mouse scroll wheel, I was viewing an image-like rendering of something (think a map or something), that required scrolling side-wards too. As far as UX goes, the scroll wheel was pretty useless. Maybe this made the special behavior on the screen top/bottom even stranger, because it didn't do that on the left/right.

Anyway, it felt like a minor annoyance. I'm mostly arguing that there should be an option to disable it.
Comment 3 Albert Astals Cid 2020-05-05 20:34:10 UTC
As a data point, you're the first person to ever complain about this feature in something like the 15 years we've had it.
Comment 4 Nate Graham 2020-05-07 15:12:01 UTC
I agree with David that this feature is not very useful because scrolling is generally more user-friendly and ergonomic. But I also agree with Albert and think it doesn't seem to cause any harm to just have. If you don't like it, don't use it, right?
Comment 5 nfxjfg 2020-05-07 15:22:32 UTC
Well, you're forced to use it. You can't disable it. If you move the mouse to the bottom, it will warp. You can try to be "careful" when moving the mouse down, but that's not very comfortable.
Comment 6 Nate Graham 2020-05-07 15:59:02 UTC
If the feature were disabled, or removed, if you moved the mouse to the bottom of the screen while dragging, it would just stay there and the document would stop scrolling.

Can you rephrase to explain the problem that you're facing?
Comment 7 nfxjfg 2020-05-07 16:18:23 UTC
What you describe is the expected behavior. If I move down the mouse, I expect that it stays at the bottom, instead of somehow moving back up. This feature basically makes me move my mouse more (because I physically have to move it back after releasing the mouse button), while it doesn't seem to help much.

Sure, there's is no real "bug". It's a minor convenience feature, and I'm claiming it's minorly inconvenient.
Comment 8 Bug Janitor Service 2020-05-22 04:33:10 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 9 Christoph Feck 2020-05-22 20:54:55 UTC
New information was added with comment 7; changing status for inspection.
Comment 10 Bug Janitor Service 2020-06-06 04:33:09 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 11 David Hurka 2020-06-06 13:59:37 UTC
Did you change this from NEEDSINFO to NEEDSINFO? While I don’t consider vertical wraparound an Okular bug, but more a mouse bug or desk bug, which is relevant for many other applications (especially KiCad, where it is indeed not possible to avoid behavior in any way).

I would like to fix Bug 374904, i. e. the opposite.

If one doesn’t want to lift the physical desktop mouse, an option would be e. g. a thumb button which holds the cursor while moving the mouse back onto the desk. Change the circuit of the mouse’s LED or laser diode from:

---->|----
     LED

to:
       button (opens at press)
---+--o___o---->|----+----
   |            LED  |
   |                 |
   +----|<-----------+
        Zener Diode, 2.7V

or to:

---+----->|----------+----
   |      LED        |
   |                 |
   +--o   o------>|--+
      _____       Silicon diode
    Button (closes at press)   

This will make the mouse blind while pressing the button, so you can move it around. If you mount the additional diode the wrong direction, nothing bad should happen, just the button behaves as always open.
Comment 12 Bug Janitor Service 2020-06-21 04:33:08 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 13 Bug Janitor Service 2020-07-06 04:33:09 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!
Comment 14 Eduardo 2021-07-22 18:38:29 UTC
Hi,

I'm another user that's annoyed by this feature. Sometimes I drag the document down, unintentionally slightly crossing the bottom edge of the display, so when I release I find that my cursor is at the very top of the screen, while my mouse is at the physical bottom edge of my mouse pad. So I have to lift the mouse and reposition it.

I think it is fair to have an option under "Settings -> Configure Okular -> General -> Enable scrolling beyond screen edges". It could be enabled by default, so current users wouldn't even notice the change, but users would quickly find how to disable it if they wanted to. I know I tried to look for this, only to be frustrated there was no way to disable it.

As an alternative suggestion, maybe the feature could be altered to make the mouse cursor stay at the edge of the screen while virtually dragging beyond the edge. So endless scroll would still be possible, just the cursor wouldn't warp to the opposite edge, ie. if the user drags the document down, the document would continue to scroll as long as the user keeps dragging the mouse down, but the cursor itself would remain constrained at the bottom of the screen, not warping to the top. This would prevent accidental warps that happens when the user unintentionally pushes just a bit over the edge.
Comment 15 Eduardo 2022-06-04 01:47:40 UTC
Hi,

I'm still very annoyed by this... I got a large monitor, sometimes when scrolling horizontally the cursor warps to the other side of the monitor which is a huge and very annoying leap.

The developers had good intentions in providing this feature, but it clearly is a design flaw. No other pdf viewer in the world is following this trend.

I don't think anyone in the world will miss this. If I dig into the code and just delete this feature, would a merge request be accepted?
Comment 16 Albert Astals Cid 2022-06-04 11:48:29 UTC
(In reply to Eduardo from comment #15)
> I don't think anyone in the world will miss this. If I dig into the code and
> just delete this feature, would a merge request be accepted?

Obviously not.
Comment 17 Eduardo 2022-06-07 01:04:02 UTC
If I create a checkbox in  "Settings -> Configure Okular -> General -> Enable scrolling beyond screen edges", would that merge request be accepted? If so, should I make it default to on or off?
Comment 18 David Hurka 2022-06-07 16:26:21 UTC
You should look at the existing merge requests (most of them already merged), which we got about scrolling.
At least one of them is concerned about exactly this.
They can show you which code is related to this.

Adding this checkbox to the configuration dialog should be easy.
You can look how the other checkboxes are implemented (KConfigXT), add this one, and then wrap the call to CursorWrapHelper in an if(){} thing, just like the other checkboxes are queried.

I can’t tell whether that MR would be accepted.
The only problem would be UI clutter in the configuration dialog.
Comment 19 Bug Janitor Service 2022-08-03 02:49:21 UTC
A possibly relevant merge request was started @ https://invent.kde.org/graphics/okular/-/merge_requests/637
Comment 20 Nate Graham 2022-09-28 00:11:01 UTC
Git commit ea04c61faffb729b540d6168b8b8879113905492 by Nate Graham, on behalf of Eduardo Cruz.
Committed on 28/09/2022 at 00:10.
Pushed by ngraham into branch 'master'.

Add a configuration option to disable drag-scrolling beyond screen edges

The mouse cursor wrap feature while drag-scrolling can be undesirable in some
cases; for example it can be annoying to have the cursor jump accidentally to
the distant edge of a big screen. Now users can disable this feature if they
prefer.
FIXED-IN: 22.12

M  +3    -0    conf/okular.kcfg
M  +8    -0    doc/index.docbook
M  +9    -0    part/dlggeneral.cpp
M  +15   -11   part/pageview.cpp
M  +1    -1    part/thumbnaillist.cpp

https://invent.kde.org/graphics/okular/commit/ea04c61faffb729b540d6168b8b8879113905492