! 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 !
Reverse option for Two-finger scrolling on touchpads
Status:
RESOLVED: WORKSFORME
Severity:
enhancement
Product:
Xfce4-settings
Component:
Mouse Settings

Comments

Description Anthony Ryan 2016-03-06 23:25:05 CET
I've recently switched to XFCE 4.12 on a laptop. After enabling synaptics and two finger scrolling I found it felt backwards to me. I'm used to "Natural scrolling" as seen in Gnome and on OS X.

Comparable setting in gnome-control-center: http://i.stack.imgur.com/CvC1g.png

A "Reverse scroll direction" option for a mouse scroll wheel exists, but there is no such option under the Touchpad settings. I have heard this described in various interfaces as "Natural scrolling", "Reverse scrolling" & "Australian scrolling". 

I would like to see an option added for this to xfce4-mouse-settings.
Comment 1 Anthony Ryan 2016-03-07 23:31:59 CET
I have posted a 100 USD bounty to bountysource on this issue, set to expire in 6 months time.
Comment 2 Olivier Fourdan editbugs 2016-03-14 09:42:38 CET
Couple of comments.

The UI exposes the different features of the driver, so first thing you need to make sure these properties are supported by the synaptic driver with your device.

Also, we're moving away from synaptic and usually prefer libinput these days, so you may try with libinput instead, because that works here with libinput a libinput exposes this property.

E.g.:

 $ xinput list-props 15
 Device 'SynPS/2 Synaptics TouchPad':
	Device Enabled (139):	1
	Coordinate Transformation Matrix (141):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Tapping Enabled (292):	0
	libinput Tapping Enabled Default (293):	0
	libinput Tapping Drag Lock Enabled (294):	0
	libinput Tapping Drag Lock Enabled Default (295):	0
	libinput Accel Speed (275):	0.000000
	libinput Accel Speed Default (276):	0.000000
	libinput Natural Scrolling Enabled (280):	0
	libinput Natural Scrolling Enabled Default (281):	0
	libinput Send Events Modes Available (259):	1, 1
	libinput Send Events Mode Enabled (260):	0, 0
	libinput Send Events Mode Enabled Default (261):	0, 0
	libinput Left Handed Enabled (282):	0
	libinput Left Handed Enabled Default (283):	0
	libinput Scroll Methods Available (284):	1, 1, 0
	libinput Scroll Method Enabled (285):	1, 0, 0
	libinput Scroll Method Enabled Default (286):	1, 0, 0
	libinput Click Methods Available (296):	1, 1
	libinput Click Method Enabled (297):	1, 0
	libinput Click Method Enabled Default (298):	1, 0
	libinput Disable While Typing Enabled (299):	1
	libinput Disable While Typing Enabled Default (300):	1
	Device Node (262):	"/dev/input/event6"
	Device Product ID (263):	2, 7
	libinput Drag Lock Buttons (291):	<no items>
	libinput Horizonal Scroll Enabled (264):	1


Also, iirc GNOME/gtk+ uses an additional dconf settings for natural scrolling ("natural-scroll"), meaning that even if enabled in the UI it may not work with gtk3/gnome based apps.
Comment 3 Olivier Fourdan editbugs 2016-03-14 09:52:49 CET
The keys for gnome/gtk+ are:

org.gnome.desktop.peripherals.touchpad natural-scroll
org.gnome.desktop.peripherals.mouse natural-scroll
Comment 4 Anthony Ryan 2016-03-14 20:29:48 CET
I have rebuilt my system using libinput and was able to enable natural scrolling as you suggested using xinput. So far all of my GTK3 applications are also respecting this setting even though I haven't touched org.gnome.desktop.peripherals.touchpad (yet), but it wasn't a comprehensive test.

With that said, there are actually even fewer GUI options for tweaking trackpad settings after enabling libinput. So this issue (and the bounty) is probably better repurposed for adding graphical customization options for libinput touchpad devices in xfce4-settings.
Comment 5 Olivier Fourdan editbugs 2016-03-14 20:51:21 CET
(In reply to Anthony Ryan from comment #4)
> With that said, there are actually even fewer GUI options for tweaking
> trackpad settings after enabling libinput. So this issue (and the bounty) is
> probably better repurposed for adding graphical customization options for
> libinput touchpad devices in xfce4-settings.

You have to check what libinput exposes before you can make the options available in the UI... If an option is not in libinput, there is no point in adding a UI for it.
Comment 6 Anthony Ryan 2016-03-15 00:36:45 CET
The option is available in libinput, it's called "NaturalScrolling". I see it in mine.

man libinput | grep -C1 NaturalScrolling

Am I missing something?
Comment 7 Anthony Ryan 2016-03-15 00:37:24 CET
libinput version 1.2.1 for the record in case we're looking at different versions.
Comment 8 Olivier Fourdan editbugs 2016-03-15 07:01:21 CET
(In reply to Anthony Ryan from comment #7)
> libinput version 1.2.1 for the record in case we're looking at different
> versions.

Did you read my comment #2 ?

Use "xinput list-props" to list the properties. Beside, as I said, the mouse settings UI in xfce4-settings does support natural scrolling with libinput (obviously, you need to build xfce settings with libinput support for this to work).

Basically, this bug is "worksforme".
Comment 9 Olivier Fourdan editbugs 2016-03-15 07:05:37 CET
(In reply to Olivier Fourdan from comment #8)
> obviously, you need to build xfce settings with libinput support for this
> to work

To be more precise, xf86-input-libinput (for Xorg) and libinput, with their development packages, then re-build xfce4-settings from source with this, and check support for libinput is enabled.
Comment 10 Anthony Ryan 2016-03-15 07:20:45 CET
Ah, I finally see what you mean. Sorry for being thick headed. I see LIBINPUT_PROP_NATURAL_SCROLL in the tarball.

I configured with --enable-xorg-libinput.
It found xorg-libinput >= 0.6.0... 0.17.0
It reported Xorg libinput support:     yes

But no setting for enabling natural scrolling appears. I'll need to dig deeper into the build process for my distribution to try and isolate why this is disabled when I can clearly see the code there.

So much for Bountysource and trying to sponsor a feature, I guess I'll need to debug this on my own. Sorry for wasting your time. I'll contact the folks at bounty source about closing this issue in their system and I'll send a portion of the bounty to your team for the time (I see you listed on salt.bountysource.com).
Comment 11 Olivier Fourdan editbugs 2016-03-15 08:23:34 CET
(In reply to Anthony Ryan from comment #10)
> Ah, I finally see what you mean. Sorry for being thick headed.

Sorry, I didn't mean this at all.

> I see LIBINPUT_PROP_NATURAL_SCROLL in the tarball.

I assume this is the source tarball.
 
> I configured with --enable-xorg-libinput.
> It found xorg-libinput >= 0.6.0... 0.17.0
> It reported Xorg libinput support:     yes
> 
> But no setting for enabling natural scrolling appears. I'll need to dig
> deeper into the build process for my distribution to try and isolate why
> this is disabled when I can clearly see the code there.

Did you install after building, replacing the original binaries provided by your distribution, restarted xfsettingsd? It could be a simple case of PATH not pointing to your newly built binaries.

> So much for Bountysource and trying to sponsor a feature, I guess I'll need
> to debug this on my own. Sorry for wasting your time. I'll contact the folks
> at bounty source about closing this issue in their system and I'll send a
> portion of the bounty to your team for the time (I see you listed on
> salt.bountysource.com).

Not sure about that, I am not too much into this bountysource thing.

Bug #12483

Reported by:
Anthony Ryan
Reported on: 2016-03-06
Last modified on: 2017-02-06

People

Assignee:
Nick Schermer
CC List:
5 users

Version

Version:
4.12.0

Attachments

Additional information