Bug 1467328 - Natural Scrolling cannot be disabled in RHEL 7.4
Natural Scrolling cannot be disabled in RHEL 7.4
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: gnome-shell (Show other bugs)
7.4
All Linux
medium Severity medium
: rc
: 7.5
Assigned To: Florian Müllner
Desktop QE
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-07-03 08:18 EDT by Jeff Bastian
Modified: 2017-07-07 08:31 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1349600
Environment:
Last Closed: 2017-07-07 08:31:52 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Jeff Bastian 2017-07-03 08:18:21 EDT
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 08:35:58 EDT
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 08:41:26 EDT
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 08:43:50 EDT
(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 18:03:59 EDT
(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 08:31:52 EDT
(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.

Note You need to log in before you can comment on or make changes to this bug.