You are not logged in.

#1 2020-05-07 12:40:34

jlindsay
Member
From: Sydney, Australia
Registered: 2020-05-07
Posts: 16
Website

[SOLVED] libinput: enabling touchpad natural scrolling affects mouse

The issue: Using `libinput`, enabling natural scrolling for my touchpad has the unwanted side effect of also enabling reverse scrolling for my mouse.

I'm using the Awesome window manager. Some other details:

$ uname -srm
Linux 5.6.10-arch1-1 x86_64
$ xinput
  Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ Logitech Wireless Mouse PID:4022        	id=11	[slave  pointer  (2)]
⎜   ↳ Logitech Wireless Keyboard PID:4023     	id=12	[slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad              	id=22	[slave  pointer  (2)]
⎜   ↳ TPPS/2 IBM TrackPoint                   	id=23	[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)]
    ↳ Video Bus                               	id=8	[slave  keyboard (3)]
    ↳ Lid Switch                              	id=9	[slave  keyboard (3)]
    ↳ Sleep Button                            	id=10	[slave  keyboard (3)]
    ↳ Integrated Camera: Integrated C         	id=13	[slave  keyboard (3)]
    ↳ HDA Intel PCH Mic                       	id=14	[slave  keyboard (3)]
    ↳ HDA Intel PCH Headphone                 	id=15	[slave  keyboard (3)]
    ↳ HDA Intel PCH HDMI/DP,pcm=3             	id=16	[slave  keyboard (3)]
    ↳ HDA Intel PCH HDMI/DP,pcm=7             	id=17	[slave  keyboard (3)]
    ↳ HDA Intel PCH HDMI/DP,pcm=8             	id=18	[slave  keyboard (3)]
    ↳ HDA Intel PCH HDMI/DP,pcm=9             	id=19	[slave  keyboard (3)]
    ↳ HDA Intel PCH HDMI/DP,pcm=10            	id=20	[slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard            	id=21	[slave  keyboard (3)]
    ↳ ThinkPad Extra Buttons                  	id=24	[slave  keyboard (3)]
    ↳ Logitech Wireless Keyboard PID:4023     	id=25	[slave  keyboard (3)]
$ cat /etc/X11/xorg.conf.d/30-touchpad.conf
Section "InputClass"
	Identifier "SynPS/2 Synaptics TouchPad"
	Driver "libinput"
	Option "NaturalScrolling" "true"
EndSection
$ libinput --version
1.15.5

Last edited by jlindsay (2020-05-08 08:55:38)

Offline

#2 2020-05-07 13:25:47

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 25,232

Re: [SOLVED] libinput: enabling touchpad natural scrolling affects mouse

Contrary to popular  belief the Identifier option is not used to identify a device but to identify the  set of rules for xorg should apply (as in it's a xorg internal identifier not related to your real devices). The config as posted has the only "rule" that the driver libinput should enable NaturalScrolling, which will hence apply to all devices handled by the libinput driver, ergo your touchpad and your mouse.

If you want to tune this more finegrainedly, you can add MatchProduct and/or MatchVendor with the relevant product Ids, or more generally MatchIsTouchpad "on" to ensure only your touchpad is touched (heh). So what you want to set is 

Section "InputClass"
	Identifier "SynPS/2 Synaptics TouchPad" #You could also call that "mycooltouchpadrules" it will only matter if the same identifier is used to change configuration again in another xorg snippet.
	MatchIsTouchpad "on"
        Driver "libinput"
	Option "NaturalScrolling" "true"
EndSection
 

technically it would be "more proper" to use MatchDriver "libinput" instead of manually specifying the driver so that you don't specifically set the driver and use a post 40 suffix like 41-touchpad.conf so that the /usr/share/X11/40-libinput.conf is logically parsed beforehand and is the one setting the driver.  But that's splitting hairs at this point and there should not be a functional difference in the end.

Last edited by V1del (2020-05-07 13:46:35)

Offline

#3 2020-05-08 00:09:04

jlindsay
Member
From: Sydney, Australia
Registered: 2020-05-07
Posts: 16
Website

Re: [SOLVED] libinput: enabling touchpad natural scrolling affects mouse

Thanks @V1del, that worked!

This is what I have:

$ cat /etc/X11/xorg.conf.d/30-touchpad.conf
Section "InputClass"
	Identifier "touchpad"
	MatchIsTouchpad "true"
	MatchDriver "libinput"
	Option "NaturalScrolling" "true"
EndSection

I found a lot of good information in the docs for xorg.conf (rather than the libinput docs), if anyone else has this issue.

Offline

Board footer

Powered by FluxBB