! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
GTK3 apps don't understand natural scrolling
Status:
RESOLVED: MOVED
Product:
Xfce4-settings
Component:
General

Comments

Description Yan Pas 2014-09-24 23:58:21 CEST
If I choose in options natural scrolling - all gtk3 apps (evince, nautilus, ubuntu-software-center etc.) won't understand natural scrolling. There is the bad workaround - to setup gnome-settings-daemon and run it. After it natural scrolling works in gkt3 apps, but stops working in all other apps!

ProblemType: Bug
DistroRelease: Xubuntu 14.04
Package: ibus (not installed)
ProcVersionSignature: Ubuntu 3.13.0-36.63-generic 3.13.11.6
Uname: Linux 3.13.0-36-generic x86_64
NonfreeKernelModules: wl
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://bugs.launchpad.net/ubuntu/+source/xfce4-settings/+bug/1368402
Comment 1 Thaddaeus Tintenfisch editbugs 2015-03-15 14:44:31 CET
*** Bug 11702 has been marked as a duplicate of this bug. ***
Comment 2 boennhoff 2015-03-15 20:58:01 CET
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/gnome-settings-daemon/gnome-settings-daemon' after each XFCE session start. It just needs to start up and can be killed right afterwards, either way it complains about another settings daemon running!

Another way could be fiddling around with xinput (i assume gnome-settings-daemon is doing exactly that in the background), but i was too lazy to adapt that to my case...
Comment 3 Olivier Fourdan editbugs 2015-03-16 17:00:47 CET
(In reply to boennhoff from comment #2)
> Another way could be fiddling around with xinput (i assume
> gnome-settings-daemon is doing exactly that in the background), but i was
> 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.
Comment 4 Olivier Fourdan editbugs 2015-03-17 14:48:11 CET
It works fine with libinput/xf86-input-libinput
Comment 5 haarp 2015-04-24 12:17:47 CEST
My bet is that since GTK3 applications use smooth scrolling (http://who-t.blogspot.de/2011/09/whats-new-in-xi-21-smooth-scrolling.html), they listen to different scroll events than the (correctly-inverted) GTK2-based ones.
Comment 6 xfce38 2015-04-24 14:39:39 CEST
Like Olivier Fourdan said, libinput/xf86-input-libinput corrects the scrolling BUT left and right clicks are now and then reversed.
Comment 7 Thaddaeus Tintenfisch editbugs 2015-07-11 10:41:36 CEST
*** Bug 11941 has been marked as a duplicate of this bug. ***
Comment 8 Jason Crain 2016-05-12 23:18:32 CEST
I came across this in a Debian bug (https://bugs.debian.org/823195) and I 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.
Comment 9 Bastián Díaz 2016-09-12 07:45:41 CEST
I installed fedora 24 XFCE spin recently and I can confirm this behavior...
Comment 10 PaulD 2016-09-18 21:17:12 CEST
After installing xorg-x11-drv-libinput and removing xorg-x11-drv-synaptics, scrolling is consistent between GTK3 and Xfce apps, minimal testing.

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?
Comment 11 Olivier Fourdan editbugs 2016-09-19 09:04:31 CEST
Left and right being reversed sounds like left handed enabled.

What gives "xinput list-props <device>" on the mouse where the buttons are reversed?
Comment 12 Hong 2017-02-06 22:24:15 CET
Switching to libinput does not work for me. My workaround is to launch gnome-settings-daemon when xfce starts in "Application Autostart" settings.
Comment 13 Carl Nikolov 2017-04-10 07:55:43 CEST
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.
Comment 14 greodlon 2017-09-26 21:41:31 CEST
(In reply to Jason Crain from comment #8)
> I came across this in a Debian bug (https://bugs.debian.org/823195) and I
> 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.
Comment 15 Xander 2019-07-30 09:10:28 CEST
Running Xubuntu 18.04LTS, XFCE 4.12

I have the same issue. and the solution provided by https://bugzilla.xfce.org/show_bug.cgi?id=11193#c8 (comment 8) does not fix the problem for GTK3 and other apps. the technique updated by comment 14 does not fix this either. the fix does not reverse the direction of scroll in apps. but it does reset/reverse-reverse them for the ones in which the reverse scroll was working. 

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
Comment 16 Olivier Fourdan editbugs 2019-07-30 09:23:40 CEST
(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://bugzilla.xfce.org/show_bug.cgi?id=11193#c8 (comment 8) does not fix
> 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...
Comment 17 Xander 2019-07-30 15:18:26 CEST
(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://bugzilla.xfce.org/show_bug.cgi?id=11193#c8 (comment 8) does not fix
> > 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.
Comment 18 Olivier Fourdan editbugs 2019-07-31 08:20:29 CEST
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.
Comment 19 Xander 2019-09-16 11:37:32 CEST
Sorry for the delayed response, Olivier. 

Solved/Workaround found

1. I set "reverse scrolling enabled" in  touchpad settings
2. I removed  "xserver-xorg-input-synaptics" This is the step I had not done earlier. 
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.
Comment 20 dinar 2019-11-28 14:31:32 CET
in debian 10, i solved this running
nano /usr/share/X11/xorg.conf.d/40-libinput.conf 
man libinput
Comment 21 Theo Linkspfeifer editbugs 2019-11-28 15:07:26 CET
*** Bug 12575 has been marked as a duplicate of this bug. ***
Comment 22 joshebosh 2020-01-15 21:13:09 CET
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...
Comment 23 Lon Kaut 2020-02-26 16:25:29 CET
(In reply to dinar from comment #20)
> in debian 10, i solved this running
> nano /usr/share/X11/xorg.conf.d/40-libinput.conf 
> man libinput

This worked for me....doing nothing else but adding 
Option "NaturalScrolling" "1" 
to all the mousy devices in 
/usr/share/X11/xorg.conf.d/40-libinput.conf


thanks @dinar!
Comment 24 anagghscm 2020-04-25 14:41:14 CEST
Xubuntu 20.04

Managed to fix it.

```
sudo apt remove xserver-xorg-input-synaptics
reboot
```

The package `xserver-xorg-input-synaptics` is not included in Ubuntu 20.04 . Not sure why it is included in Xubuntu 20.04 release.
Comment 25 Git Bot editbugs 2020-05-28 23:00:34 CEST
-- GitLab Migration Automatic Message --

This bug has been migrated to xfce.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.xfce.org/xfce/xfce4-settings/-/issues/47.

Please create an account or use an existing account on one of our supported OAuth providers. 

If you want to fork to submit patches and merge requests please continue reading here: https://docs.xfce.org/contribute/dev/git/start#gitlab_forks_and_merge_requests

Also feel free to reach out to us on the mailing list https://mail.xfce.org/mailman/listinfo/xfce4-dev

Bug #11193

Reported by:
Yan Pas
Reported on: 2014-09-24
Last modified on: 2020-05-28
Duplicates (3):
  • 11702 GTK3/Gnome apps do not honor reverse scroll setting
  • 11941 reverse scroll broken
  • 12575 Inverted Scrolling Does not Work on GTK+3 applications

People

Assignee:
Nick Schermer
CC List:
21 users

Version

Version:
4.11.0

Attachments

Additional information