Bug 384695

Summary: Configurable horizontal scrolling key (ALT or SHIFT) + WHEEL
Product: [Applications] okular Reporter: Ilario Gottardello <ilario.gottardello>
Component: generalAssignee: Okular developers <okular-devel>
Status: REPORTED ---    
Severity: wishlist CC: 842mono, alh443, ashark, colinderoos, frederik, kde, kde, khanson679, ped, peter, rm, roy-orbitson, simonandric5, tomashnyk
Priority: NOR    
Version: 22.08.1   
Target Milestone: ---   
Platform: unspecified   
OS: All   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Ilario Gottardello 2017-09-14 07:18:53 UTC
It would be very convenient to use SHIFT + mouse WHEEL to scroll the document horizontaly, like it works on other software (for example LibreOffice, and most windows applications).

Right now it is possible using ALT, but that is very unconfortable if you switch often between OS, like for example when you are working with virtual machines. Having the possibility to configure this behaviour will be great.
Comment 1 Mina 2018-05-31 19:45:16 UTC
Yes this is really bugging me too because I use Alt+scroll to control the opacity of windows (it's configurable through the settings). Shift + scroll is very standard. It's used in google chrome, vs code, most of ubuntu unity and many others.
Comment 2 Frederick Eaton 2018-06-20 03:12:53 UTC
I would like to second this. Shift+wheel is what I use in Firefox (with some configuration). I didn't even realize that Alt+wheel is what Okular uses until I saw this bug. I don't understand what Shift+wheel is doing in Okular but it seems not useful - it scrolls diagonally, and rotating the wheel in the opposite direction doesn't return me to where I was. I would expect opposing arrow keys and opposing scroll wheel motions to have opposite effects, that's pretty much a fundamental principle of document navigation. I had just assumed the software was broken.
Comment 3 Roy Orbitson 2020-08-07 00:12:08 UTC
I'm not sure this is limited to Okular. Horizontal scrolling in many KDE settings dialogues, Dolphin, etc. is achieved with with Alt +.
Comment 4 Laura David Hurka 2020-08-07 13:47:10 UTC
I can’t find where Okular could handle the Alt key, so I think this is handled in Qt. But it is not documented in QWheelEvent or QScroller, and I can’t find it in Qt::ApplicationAttributes. Upstream bug?
Comment 5 Andrew Shark 2021-02-01 14:01:47 UTC
> Right now it is possible using ALT
> I didn't even realize that Alt+wheel is what Okular uses until I saw this bug.
The same here. But it's good to know that for now it is at least doable with kayboard + wheel instead of dragging scroller.
Comment 6 pepe 2022-12-15 11:56:13 UTC
I observed that Okular on Windows has configurable keyboard shortcuts to scroll up/down, why not for left/right? I always need to zoom a page to be able to read comfortably with my eyesight, so I often need to scroll to read the other columns, or see the figure, or read the other page when I'm on double page mode, etc.
Comment 7 sevens 2023-01-17 20:49:34 UTC
Would also prefer more consistent handling of horizontal scrolling between apps and toolkits, both for Okular specific and other KDE/Qt apps in general.

Current behavior of `Shift+Wheel` (scroll an entire screen's worth of content, where regular wheel may not, depending on global settings?  For me regular wheel scrolls a few lines) is also useful IMO but could maybe use a different shortcut?
Comment 8 Matt Whitlock 2023-06-19 18:11:02 UTC
This behavior comes from Qt. Specifically, QXcbConnection transposes the native wheel event's scroll deltas when populating the QWheelEvent's angleDelta if the Alt modifier key is held. (Search https://github.com/qt/qtbase/blob/dev/src/plugins/platforms/xcb/qxcbconnection_xi2.cpp for "angleDelta.transposed()".) Then, much further down the line, QScrollView reads the angleDelta from the QWheelEvent and fires appropriate signals to the relevant scroll bar(s). So, any new configuration option would need to affect which modifier key QXcbConnection tests for while translating the native wheel events. In short, this is not the responsibility of KDE or of QScrollView but rather of QXcbConnection, which lives in QtBase.

See this Qt bug: https://bugreports.qt.io/browse/QTBUG-75949
Comment 9 Matt Whitlock 2023-06-19 18:16:50 UTC
(In reply to sevens from comment #7)
> Current behavior of `Shift+Wheel` (scroll an entire screen's worth of
> content[…]) is also useful IMO but could maybe use a different shortcut?

Personally, I would like to see the effects of Shift and Alt (on scrolling behavior of Qt/KDE applications) reversed from what they are now. Shift should scroll the alternative axis, and Alt should activate speed scrolling. That would then agree with every other GUI toolkit.
Comment 10 Andrew Shark 2023-07-06 23:19:27 UTC
On Wayland the Alt modifier has no effect. On X11 it allows to scroll horizontally.
On both session types you can scroll horizontally with horizontal wheel.

Operating System: Arch Linux
KDE Plasma Version: 5.27.6
KDE Frameworks Version: 5.107.0
Qt Version: 5.15.10
Okular: 23.04.3
Comment 11 jade 2023-10-30 21:20:00 UTC
Andrew: I have filed a bug on qt about the not-very-related Wayland issue, as it appears that the problem is that qt simply did not implement horizontal scrolling on Wayland at all. You can confirm with launching Okular with `XDG_SESSION_TYPE=x11 okular`

https://bugreports.qt.io/browse/QTBUG-118618
Comment 12 Peter Ped Helcmanovsky 2024-07-11 11:34:55 UTC
I somehow have "shift" in muscle memory too, even as 15+years KDE Plasma daily user (no idea how it happened, I'm confused by it too).

So I would really love it becoming global Plasma option I can flip from alt to shift, so I guess it needs https://bugreports.qt.io/browse/QTBUG-75949 first (resolved by adding it as new option I guess - I don't think it's good to change default without doing some serious survey between user, but I would be completely satisfied by option).