Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1467328

Summary: Natural Scrolling cannot be disabled in RHEL 7.4
Product: Red Hat Enterprise Linux 7 Reporter: Jeff Bastian <jbastian>
Component: gnome-shellAssignee: Florian Müllner <fmuellner>
Status: CLOSED NOTABUG QA Contact: Desktop QE <desktop-qa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.4CC: tpelka
Target Milestone: rc   
Target Release: 7.5   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1349600 Environment:
Last Closed: 2017-07-07 12:31:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jeff Bastian 2017-07-03 12:18:21 UTC
Description of problem:
Natural scrolling cannot be disabled in RHEL 7.4.  If disabled, it can be turned on, but it cannot be turned off again, at least via the Gnome Control Panel or gsettings.  

Workaround: it can be turned off with xinput.

### natural scrolling is disabled
$ xinput list-props 'SynPS/2 Synaptics TouchPad' | grep Natural.Scroll
	libinput Natural Scrolling Enabled (285):	0
	libinput Natural Scrolling Enabled Default (286):	0

### enable natural scrolling
$ gsettings set org.gnome.desktop.peripherals.mouse natural-scroll true

### verify natural scrolling is enabled
$ xinput list-props 'SynPS/2 Synaptics TouchPad' | grep Natural.Scroll
	libinput Natural Scrolling Enabled (285):	1
	libinput Natural Scrolling Enabled Default (286):	0

### disable natural scrolling
$ gsettings set org.gnome.desktop.peripherals.mouse natural-scroll false

### it's still enabled!!!
$ xinput list-props 'SynPS/2 Synaptics TouchPad' | grep Natural.Scroll
	libinput Natural Scrolling Enabled (285):	1
	libinput Natural Scrolling Enabled Default (286):	0

### disable natural scrolling with xinput
$ xinput set-prop 'SynPS/2 Synaptics TouchPad' 'libinput Natural Scrolling Enabled' 0

### natural scrolling is actually disabled
$ xinput list-props 'SynPS/2 Synaptics TouchPad' | grep Natural.Scroll
	libinput Natural Scrolling Enabled (285):	0
	libinput Natural Scrolling Enabled Default (286):	0


Version-Release number of selected component (if applicable):
gnome-shell-3.22.3-17.el7.x86_64
xorg-x11-server-Xorg-1.19.3-11.el7.x86_64
libinput-1.6.3-2.el7.x86_64
xorg-x11-drv-libinput-0.25.0-2.el7.x86_64

How reproducible:
always

Steps to Reproduce:
1. Toggle Natural scrolling
2. try and scroll

Actual results:
natural scrolling is always enabled

Expected results:
natural scrolling can be toggled on and off

Additional info:
See also Fedora bug 1349600

Comment 1 Jeff Bastian 2017-07-03 12:35:58 UTC
This is on a Lenovo T460s with both the pad and track-point.

$ xinput
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad              	id=12	[slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                   	id=13	[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)]
    ↳ Video Bus                               	id=7	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=8	[slave  keyboard (3)]
    ↳ Yubico Yubico Yubikey II                	id=9	[slave  keyboard (3)]
    ↳ Integrated Camera                       	id=10	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=11	[slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                  	id=14	[slave  keyboard (3)]

Comment 2 Jeff Bastian 2017-07-03 12:41:26 UTC
It appears the problem is Gnome / gsettings is only enables natural scrolling on all pointer devices, but it only disables it on the TrackPoint:

$ gsettings set org.gnome.desktop.peripherals.mouse natural-scroll true

$ xinput list-props 'SynPS/2 Synaptics TouchPad' | grep Natural.Scroll
	libinput Natural Scrolling Enabled (285):	1
	libinput Natural Scrolling Enabled Default (286):	0

$ xinput list-props 'TPPS/2 IBM TrackPoint' | grep Natural.Scroll
	libinput Natural Scrolling Enabled (285):	1
	libinput Natural Scrolling Enabled Default (286):	0

$ gsettings set org.gnome.desktop.peripherals.mouse natural-scroll false

$ xinput list-props 'SynPS/2 Synaptics TouchPad' | grep Natural.Scroll
	libinput Natural Scrolling Enabled (285):	1
	libinput Natural Scrolling Enabled Default (286):	0

$ xinput list-props 'TPPS/2 IBM TrackPoint' | grep Natural.Scroll
	libinput Natural Scrolling Enabled (285):	0
	libinput Natural Scrolling Enabled Default (286):	0

Comment 3 Jeff Bastian 2017-07-03 12:43:50 UTC
(In reply to Jeff Bastian from comment #2)
> It appears the problem is Gnome / gsettings is only enables natural scrolling
> on all pointer devices

Oops, I forgot to remove "is only" from that sentence

Comment 4 Florian Müllner 2017-07-06 22:03:59 UTC
(In reply to Jeff Bastian from comment #2)
> It appears the problem is Gnome / gsettings enables natural
> scrolling on all pointer devices, but it only disables it on the TrackPoint

Mmh, the last one is expected, the former is not - the natural-scroll setting in peripherals.mouse should only affect non-touchpad devices. Touchpad have a separate setting, both in the UI (scroll down a bit) and in GSettings (peripherals.touchpad).

Comment 5 Jeff Bastian 2017-07-07 12:31:52 UTC
(In reply to Florian Müllner from comment #4)
> (scroll down a bit) 

D'oh!  Now I see it: there's a separate natural-scrolling-toggle for the touchpad.  The problem - for me anyway - is that the scroll bar disappears so I didn't know there was more content!

And gsettings works when I use the correct property:

$ gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll false

$ xinput list-props 'SynPS/2 Synaptics TouchPad' | grep Natural.Scroll | grep -v Default
	libinput Natural Scrolling Enabled (280):	0

$ gsettings set org.gnome.desktop.peripherals.touchpad natural-scroll true

$ xinput list-props 'SynPS/2 Synaptics TouchPad' | grep Natural.Scroll | grep -v Default
	libinput Natural Scrolling Enabled (280):	1


Thanks Florain!  Closing as a not-a-bug.  I'll let the UI experts argue the merits and aesthetics of disappearing scroll bars.