GTK3 apps don't understand natural scrolling in Xubuntu
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| Xfce4 Settings |
Confirmed
|
Medium
|
||
| xfce4-settings (Ubuntu) |
Undecided
|
Unassigned |
Bug Description
If I choose in options natural scrolling - all gtk3 apps (evince, nautilus, ubuntu-
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: ibus (not installed)
ProcVersionSign
Uname: Linux 3.13.0-36-generic x86_64
NonfreeKernelMo
ApportVersion: 2.14.1-0ubuntu3.4
Architecture: amd64
CurrentDesktop: XFCE
Date: Fri Sep 12 00:15:27 2014
InstallationDate: Installed on 2014-08-14 (27 days ago)
InstallationMedia: Xubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140723)
SourcePackage: ibus
UpgradeStatus: No upgrade log present (probably fresh install)
Yanpas (yanpaso) wrote : | #1 |
Yanpas (yanpaso) wrote : | #2 |
affects: | ibus (Ubuntu) → xfce4-settings (Ubuntu) |
Related archlinux forum thread:
I suggest that you forward this issue upstream by filing a bug report on the Xfce bug tracker. Thanks in advance.
|
#6 |
If I choose in options natural scrolling - all gtk3 apps (evince, nautilus, ubuntu-
ProblemType: Bug
DistroRelease: Xubuntu 14.04
Package: ibus (not installed)
ProcVersionSign
Uname: Linux 3.13.0-36-generic x86_64
NonfreeKernelMo
ApportVersion: 2.14.1-0ubuntu3.4
Architecture: amd64
CurrentDesktop: XFCE
Date: Fri Sep 12 00:15:27 2014
InstallationDate: Installed on 2014-08-14 (27 days ago)
InstallationMedia: Xubuntu 14.04.1 LTS "Trusty Tahr" - Release amd64 (20140723)
SourcePackage: ibus
UpgradeStatus: No upgrade log present (probably fresh install)
link to LP: https:/
Yanpas (yanpaso) wrote : | #5 |
Link to bug https:/
Changed in xfce4-settings: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
Launchpad Janitor (janitor) wrote : Re: GTK3 apps doesn't understand natural scrolling in Xubuntu | #7 |
Status changed to 'Confirmed' because the bug affects multiple users.
Changed in xfce4-settings (Ubuntu): | |
status: | New → Confirmed |
aaron-bru (aaron-bru) wrote : | #8 |
Does anyone have a workaround for this?
The archlinux thread seems to conclude that you have to set the scrolling distance to negative. My 'Kensington Kensington USB Mouse' does not have any scrolling distance listed in 'xinput list-props'
I was kind of able to get it working using xorg.conf Option "ZAxisMapping" "5 4" but it messed other stuff up, didn't work well.
Mikkel Juul Erup (mijuer) wrote : | #9 |
I patched gtk3 to inverse scrolling and created a package. This works in all gtk3 apps, so now I have got natural scrolling everywhere. But the downside is that it's not possible to toggle natural scrolling. It's only possible to get back the default scrolling by reinstalling the official libgtk-3-0.
It would be fairly easy to implement a check for a gsettings flag that could toggle natural scrolling.
Yanpas (yanpaso) wrote : | #10 |
Could you please upload this package?
Mikkel Juul Erup (mijuer) wrote : | #11 |
@Yanpas, sure, but use at your own risk :-)
dpkg -i the .deb. Then hold it if you want to prevent apt from overwriting with at new version if it becomes available. I use aptitude.
sudo aptitude hold libgtk-3-0.
amd64 .deb attached as well as my patch.
The patch in the current form is only a workaround, not a suggested official fix, because it doesn't allow for toggling natural scrolling. It just patches gtk to ALWAYS use natural scrolling
Mikkel Juul Erup (mijuer) wrote : | #12 |
Here is the patch.
Yanpas (yanpaso) wrote : | #13 |
@mikkel-erup-8 Thank you very much! :)
The attachment "natural_
[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]
tags: | added: patch |
aaron-bru (aaron-bru) wrote : | #15 |
Tested and using the patch on 14.04 x64, working great, thank you.
Is a proper fix for this going to need to be in libgtk3? If so, should the package assignment be changed?
Yanpas (yanpaso) wrote : | #16 |
As author of fix said earlier it's not a fix but worwaround. It doesn't leave any option for user to switch back to unnatural scroillng.
Yanpas (yanpaso) wrote : | #17 |
In addition after installing these package there some troubles with dependencies. But that's because it is not proposed to repos
Mikkel Juul Erup (mijuer) wrote : | #18 |
@Yanpas, are you on 14.04 and did you install as suggested? I didn't encounter dependency problems myself so far.
I'll work on a patch that'll use gsettings if enough people want it.
Yanpas (yanpaso) wrote : | #19 |
@mijuer I'm on trusty-proposed, not trusty and not trusty-updates. So there is newer version in my repos. Even if I install it I get dependencies errors in synaptics and other stuff
*** Bug 11702 has been marked as a duplicate of this bug. ***
|
#21 |
Thanks Thaddaeus for pointing me to this bug, i should have put more energy in searching for bugs in here - sorry.
By studying the provided information in this bug report and the referenced links and sublinks, i found a "simple" workaround that works for me (for now):
1. Get sure natural scrolling is setup in Gnome (was already the case here).
2. Setup normal (non-natural) scrolling in XFCE
3. Run '/usr/lib/
Another way could be fiddling around with xinput (i assume gnome-settings-
|
#22 |
(In reply to boennhoff from comment #2)
> Another way could be fiddling around with xinput (i assume
> gnome-settings-
> too lazy to adapt that to my case...
I would not assume that, reverse scrolling is done at the device level, it makes no sense to me that gtk3 apps behave any differently than the others (and actually, xfce4-settings does the same as xinput).
So it needs a bit more investigation.
|
#23 |
It works fine with libinput/
|
#24 |
My bet is that since GTK3 applications use smooth scrolling (http://
|
#25 |
Like Olivier Fourdan said, libinput/
*** Bug 11941 has been marked as a duplicate of this bug. ***
Mohamed El Sharnoby (sharno) wrote : Re: GTK3 apps doesn't understand natural scrolling in Xubuntu | #27 |
Any updates on a simple workaround for this bug? because it's very frustrating.
ronso0 (ronso0) wrote : | #28 |
@Mikkel Juul Erup: I use libgtk-
My resulting .deb is huuuge compared to official libgtk-3-0. Would you mind sharing your configure arguments?
Yanpas (yanpaso) wrote : | #29 |
I haven't built this package, but there is build log on launchpad on the page of every package, somewhere in this log you may find build keys
|
#34 |
I came across this in a Debian bug (https:/
Use normal (non-natural) scrolling in Xfce settings and run a command like:
xinput --set-int-prop 12 "libinput Natural Scrolling Enabled" 8 1
You might have to replace the "12" with the ID of your mouse, which you can find with "xinput list". I think this is what GNOME's mouse settings does to enable natural scrolling.
|
#35 |
I installed fedora 24 XFCE spin recently and I can confirm this behavior...
After installing xorg-x11-
I don't know what to make of the statement "left and right clicks are now and then reversed," however. Is there a separate bug for that?
|
#37 |
Left and right being reversed sounds like left handed enabled.
What gives "xinput list-props <device>" on the mouse where the buttons are reversed?
fcole90 (fcole90) wrote : | #30 |
I have found a workaround that seems to solve the issue in Xenial 16.04.
Credit goes to: https:/
In short, run in a terminal:
$ synclient
It will output a list of key-value pairs, search the key: 'VertScrollDelta' and check its value.
If its e.g. 56, set then it to -56 with the following command:
$ synclient VertScrollDelta=-56
If you want to do the same with the horizontal scroll, search instead for the key: 'HorizScrollDelta' and invert it in the same way as you did before
|
#38 |
Switching to libinput does not work for me. My workaround is to launch gnome-settings-
|
#39 |
Is it possible to provide a solution through Mouse settings so xfce respects programs 'natural scrolling'for both GTK and non-GTK programs?
Please!!! Thank you.
ianp5a (ianp) wrote : | #31 |
I have a new Xubuntu 17.04 install on a new 64bit NUC PC and the problem of different scroll direction in different apps still persists.
synclient only works if you have synaptics installed apparently.
I have searched and tried other workarounds too without success. The mixed scrolling directions are a really bad experience. Kubuntu does not have this problem.
Eric Polin (eric-polin) wrote : | #32 |
Just in case, I personally address the issue by reversing the direction at the low level:
synclient | grep ScrollDelta
Session and Startup > Application Autostart > Add
synclient VertScrollDelta
May cause other problems if you have advanced needs, e.g. w/ a graphics tablet, but it is a perfect solution for me.
|
#40 |
(In reply to Jason Crain from comment #8)
> I came across this in a Debian bug (https:/
> found a workaround similar to comment #2. This works on Debian Sid, but not
> on Jessie, so this might not work on a system more than a year or two old.
>
> Use normal (non-natural) scrolling in Xfce settings and run a command like:
>
> xinput --set-int-prop 12 "libinput Natural Scrolling Enabled" 8 1
>
> You might have to replace the "12" with the ID of your mouse, which you can
> find with "xinput list". I think this is what GNOME's mouse settings does
> to enable natural scrolling.
I can confirm the command mentioned by Jason works fine here without a reboot or logout/-in. I just checked my Device-ID with the command "xinput list" before.
xubuntu@xubuntu:~$ xinput list
Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech MX Anywhere 2 id=8 [slave pointer (2)]
⎜ ↳ Logitech Unifying Device. Wireless PID:404d id=9 [slave pointer (2)]
So in my case....
xinput --set-int-prop 8 "libinput Natural Scrolling Enabled" 8 1
...works fine at every scroll-places (Firefox, Mousepad, Whiskermenu, Terminal, etc)
Xubuntu 17.10 - At the moment still in the live-session...just before the installation.
J.Ar (j.ar) wrote : | #33 |
My personal solution in 'Xubuntu 17.10' (works fine in all GTK2/3 software)
>> 1 >> Looking for the Device-ID with...
:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech MX Anywhere 2 id=8 [slave pointer (2)]
⎜ ↳ Logitech Unifying Device. Wireless PID:404d id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Logitech MX Anywhere 2 id=10 [slave keyboard (3)]
↳ Logitech Unifying Device. Wireless PID:404d id=11 [slave keyboard (3)]
>> 2 >> enable natural scrolling with...(change the ## to your Device-ID)
:~$ xinput --set-int-prop ## "libinput Natural Scrolling Enabled" 8 1
So in my case: xinput --set-int-prop 8 "libinput Natural Scrolling Enabled" 8 1
summary: |
- GTK3 apps doesn't understand natural scrolling in Xubuntu + GTK3 apps don't understand natural scrolling in Xubuntu |
|
#41 |
Running Xubuntu 18.04LTS, XFCE 4.12
I have the same issue. and the solution provided by https:/
to disable the "fix" I did xinput --set-int-prop 8 "libinput Natural Scrolling Disabled" 8 1 and the system went back to the original state with reverse scroll for xfce apps working and not working for other apps
xinput device properties
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (143): 1
Coordinate Transformation Matrix (145): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (276): 1
Device Accel Constant Deceleration (277): 2.500000
Device Accel Adaptive Deceleration (278): 1.000000
Device Accel Velocity Scaling (279): 12.500000
Synaptics Edges (299): 1618, 5366, 1356, 4536
Synaptics Finger (300): 25, 30, 0
Synaptics Tap Time (301): 180
Synaptics Tap Move (302): 251
Synaptics Tap Durations (303): 180, 180, 100
Synaptics ClickPad (304): 0
Synaptics Middle Button Timeout (305): 75
Synaptics Two-Finger Pressure (306): 282
Synaptics Two-Finger Width (307): 7
Synaptics Scrolling Distance (308): 114, 114
Synaptics Edge Scrolling (309): 0, 0, 0
Synaptics Two-Finger Scrolling (310): 1, 1
Synaptics Move Speed (311): 1.000000, 1.750000, 0.035014, 0.000000
Synaptics Off (312): 1
Synaptics Locked Drags (313): 0
Synaptics Locked Drags Timeout (314): 5000
Synaptics Tap Action (315): 2, 3, 0, 0, 1, 3, 2
Synaptics Click Action (316): 1, 1, 0
Synaptics Circular Scrolling (317): 0
Synaptics Circular Scrolling Distance (318): 0.100000
Synaptics Circular Scrolling Trigger (319): 0
Synaptics Circular Pad (320): 0
Synaptics Palm Detection (321): 0
Synaptics Palm Dimensions (322): 10, 200
Synaptics Coasting Speed (323): 20.000000, 50.000000
Synaptics Pressure Motion (324): 30, 160
Synaptics Pressure Motion Factor (325): 1.000000, 1.000000
Synaptics Resolution Detect (326): 1
Synaptics Grab Event Device (327): 0
Synaptics Gestures (328): 1
Synaptics Capabilities (329): 1, 0, 1, 1, 1, 1, 1
Synaptics Pad Resolution (330): 76, 44
Synaptics Area (331): 0, 0, 0, 0
Synaptics Noise Cancellation (332): 28, 28
Device Product ID (269): 2, 7
Device Node (268): "/dev/input/event6"
libinput Natural Scrolling Enabled (280):
Apps affected: (no reverse touchpad scroll)
Okular
Evince
Qpdfview
libreoffice writer
chrome (pdf view specifically)
xfce4-terminal ( this was a surprise)
Not affected:
Thunar
PCMan file manager
|
#42 |
(In reply to Xander from comment #15)
> Running Xubuntu 18.04LTS, XFCE 4.12
>
> I have the same issue. and the solution provided by
> https:/
> the problem for GTK3 and other apps. [...]
But you're not using the libinput xorg driver there, but Synaptics (it shows all over the place), so no wonder the libinput property will have no effect...
|
#43 |
(In reply to Olivier Fourdan from comment #16)
> (In reply to Xander from comment #15)
> > Running Xubuntu 18.04LTS, XFCE 4.12
> >
> > I have the same issue. and the solution provided by
> > https:/
> > the problem for GTK3 and other apps. [...]
>
> But you're not using the libinput xorg driver there, but Synaptics (it shows
> all over the place), so no wonder the libinput property will have no
> effect...
thank you for pointing that out, in anycase, the issue remains without a workaround for now? I had tried uninstalling synaptics drivers and using just libinput, but there was no difference to the outcome.
|
#44 |
It works fine here, natural scrolling with libinput xorg driver is applied automatically and works on every single tool I try, including those you listed in comment 15.
So, first things first, please provide the output of `xinput list-props <device>` on the touchpad device with “Reverse scroll” set in the UI.
|
#45 |
Sorry for the delayed response, Olivier.
Solved/Workaround found
1. I set "reverse scrolling enabled" in touchpad settings
2. I removed "xserver-
3. I ran xinput --set-int-prop DEVICE_ID "libinput Natural Scrolling Enabled" 8 1
4. Restarted the system
Now all applications have natural scrolling.
Thank you.
|
#46 |
in debian 10, i solved this running
nano /usr/share/
man libinput
*** Bug 12575 has been marked as a duplicate of this bug. ***
|
#48 |
because the gui options for "Reverse scroll direction" didnt work...
for those looking to automate setup via .bashrc, or alias, or whatever
here's what i used based on suggestions above... I have Kensington Orbit Wireless Trackball...
This way, regardless if id changes, i'm grepping and awking that number...
I have no idea what the "8 1" options are...
xinput --set-int-prop $(xinput list | grep "MOSART Semi. Orbit" | awk '{print $9}' | tr -d 'id=') "libinput Natural Scrolling Enabled" 8 1
so seems to work great for me...
|
#49 |
(In reply to dinar from comment #20)
> in debian 10, i solved this running
> nano /usr/share/
> man libinput
This worked for me....doing nothing else but adding
Option "NaturalScrolling" "1"
to all the mousy devices in
/usr/share/
thanks @dinar!
|
#50 |
Xubuntu 20.04
Managed to fix it.
```
sudo apt remove xserver-
reboot
```
The package `xserver-
I don't know which package is guilty