Wheel scrolling periodically stops working with XInput2
Categories
(Core :: Widget: Gtk, defect, P3)
Tracking
()
People
(Reporter: botond, Assigned: stransky)
References
(Blocks 1 open bug)
Details
(Whiteboard: tpi:+)
Attachments
(1 file)
|
1.33 KB,
patch
|
Details | Diff | Splinter Review |
Comment 1•10 years ago
|
||
Comment 2•10 years ago
|
||
| Reporter | ||
Comment 3•10 years ago
|
||
Comment 4•10 years ago
|
||
Comment 6•10 years ago
|
||
Comment 7•10 years ago
|
||
Comment 9•10 years ago
|
||
Comment 10•10 years ago
|
||
Comment 11•10 years ago
|
||
| Reporter | ||
Comment 12•10 years ago
|
||
| Reporter | ||
Updated•10 years ago
|
Comment 13•10 years ago
|
||
Updated•10 years ago
|
Comment 14•10 years ago
|
||
Comment 15•10 years ago
|
||
Comment 16•10 years ago
|
||
Comment 17•10 years ago
|
||
Comment 18•10 years ago
|
||
Comment 20•10 years ago
|
||
Comment 21•10 years ago
|
||
Updated•10 years ago
|
Comment 22•10 years ago
|
||
Comment 23•10 years ago
|
||
Comment 24•10 years ago
|
||
Comment 25•10 years ago
|
||
Updated•10 years ago
|
Comment 26•10 years ago
|
||
Comment 27•10 years ago
|
||
Comment 28•10 years ago
|
||
Comment 29•10 years ago
|
||
Comment 30•10 years ago
|
||
Comment 32•9 years ago
|
||
Comment 33•9 years ago
|
||
Updated•9 years ago
|
Updated•9 years ago
|
Comment 36•8 years ago
|
||
| Assignee | ||
Comment 38•7 years ago
|
||
| Assignee | ||
Updated•7 years ago
|
| Assignee | ||
Updated•7 years ago
|
Comment 40•7 years ago
|
||
| Assignee | ||
Comment 41•7 years ago
|
||
| Assignee | ||
Comment 42•7 years ago
|
||
| Assignee | ||
Comment 43•7 years ago
|
||
| Assignee | ||
Comment 45•7 years ago
|
||
Comment 46•7 years ago
|
||
Comment 47•7 years ago
|
||
Comment 48•7 years ago
|
||
Comment 49•7 years ago
|
||
Comment 50•7 years ago
|
||
Comment 52•6 years ago
|
||
This is not an issue right now on Sway when firefox is run in wayland mode.
Comment 53•6 years ago
|
||
(In reply to luis.pabon from comment #52)
This is not an issue right now on Sway when firefox is run in wayland mode.
AFAIK, this bug is only happening with Kwin anyway.
Comment 54•5 years ago
|
||
FWIW KWin developers have discovered in https://bugs.kde.org/show_bug.cgi?id=418304 that it might in fact be a fixable issue in KWin, rather than an unfixable issue in (https://gitlab.gnome.org/GNOME/gtk/issues/558) as originally believed.
If the issue described in this bug report is only affecting people using KWin (i.e. users of KDE Plasma), then it can probably be closed.
Updated•5 years ago
|
Comment 55•5 years ago
|
||
I can confirm this issue and I am also using Kwin.
Comment 56•5 years ago
|
||
https://bugs.kde.org/show_bug.cgi?id=394772 was just fixed upstream, in Plasma 5.19.3. If the only people experiencing this issue are using Plasma with the KWin window manager, we can probably close it as an upstream issue which is now resolved!
Comment 57•5 years ago
|
||
It's probably better to keep this bug report open because other reparenting window managers might be affected by this "bug" too.
Comment 58•4 years ago
|
||
This still happens to me with Plasma/Kwin 5.21.4 - once a notification pops up, Firefox starts only partially responding to scroll events.
Comment 59•4 years ago
|
||
A short summary of actual (bad, often needing patching various libs) workarounds, in descending order of hackiness:
- GDK_CORE_DEVICE_EVENTS=1: disables xinput2 entirely, so you don't get smooth scrolling on the actual touchpads if you have them (if you don't have a touchpad, just do this)
- patch your WM to not grab the scroll wheel buttons - works great if you don't need them, but if you want any scroll wheel bindings that doesn't work
- patch gdk to workaround it
- do extra queries on the enter events as done in https://bugzilla.gnome.org/show_bug.cgi?id=750994 - the patch seems to work fine, but the bug says it breaks something else without saying what (even the revert commit doesn't say anything).
- a hack like chromium's where they try to recognize these events as being completely fake in the first place, and instead just process the button events. https://bugs.chromium.org/p/chromium/issues/detail?id=593453 shows the issues in detecting this consistently, but you could get something that works on your system. (If nothing else, you could set an env variable that specifies devices to fake)
- a timestamp hack like mentioned in https://bugzilla.gnome.org/show_bug.cgi?id=750870 and which I've implemented as https://gist.github.com/talchas/7a3df6c78e10d1cfe47c8b02298a3057 - seems to mostly work, most of the time. It still breaks on the first scroll event after right-click/etc, but at least sometimes works
- There's the xorg patches at https://lists.x.org/archives/xorg-devel/2013-November/039220.html that got rejected for being against the XI2 spec, but hey if the spec is broken...
Comment 60•3 years ago
|
||
The GTK3 patch above seems to work great as a workaround. Certainly an improvement over the stock behaviour. The first scroll event after window focus is missed, but at least subsequent scrolling works correctly, whereas the stock behaviour is completely borked.
Has there been any effort to upstream the workaround patch in GTK3 yet? I'd say a single missed scroll event is very easy to live with, whereas the status quo is unbearable.
Updated•3 years ago
|
Comment 61•3 years ago
|
||
The severity field for this bug is relatively low, S3. However, the bug has 4 duplicates.
:stransky, could you consider increasing the bug severity?
For more information, please visit auto_nag documentation.
Comment 62•3 years ago
|
||
The last needinfo from me was triggered in error by recent activity on the bug. I'm clearing the needinfo since this is a very old bug and I don't know if it's still relevant.
Comment 63•2 years ago
|
||
I think I stumbled upon this with Fedora 37 running under Apple Virtualisation Framework (through UTM): https://bugzilla.mozilla.org/show_bug.cgi?id=1825850 . The bug is easily reproduced there by just switching tabs and then trying to scroll. With MOZ_USE_XINPUT2=1, scrolling is disabled until you refocus the Firefox window, with MOZ_USE_XINPUT2=0 everything works fine.
Description
•