Description of problem: After upgrading to Fedora 26, the three finger click to get an emulated middle mouse button click didn't work anymore. After installing xorg-x11-drv-synaptics-legacy I got the three finger click back. Upgrade to Fedora 26 involved replacing the old synaptics driver with the new libinput driver. I use XFCE as my desktop environment (i.e. X, not Wayland). Version-Release number of selected component (if applicable): xorg-x11-drv-libinput-0.25.1-2.fc26.x86_64 How reproducible: Steps to Reproduce: 1.Run Fedora 26 and start up XFCE. 2.Run xev 3.Attempt three finger click Actual results: Three finger click registers as button 1 (left button) click. Expected results: Three finger click registers as button 2 (middle button) click. Additional info: I use a Dell XPS 13 with a Synaptics touchpad.
what's the output of xinput list-props "the touchpad device name"? you can get the device name by just running xinput list)
Created attachment 1296744 [details] xinput list-props of device without xorg-x11-drv-synaptics-legacy This is the output of xinput list-props of the device without xorg-x11-drv-synaptics-legacy installed (and after a reboot). The output of xinput list for the pointer: ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ ELAN Touchscreen id=10 [slave pointer (2)] ⎜ ↳ DLL0704:01 06CB:76AE Touchpad id=12 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)] It's id=12 that is being used (disabling it causes the touchpad to stop working).
Created attachment 1296746 [details] xinput list-props of device with xorg-x11-drv-synaptics-legacy This is the output of xinput list-props of the touchpad device with xorg-x11-drv-synaptics-legacy installed. This works the way I would like.
"libinput Click Method Enabled (297): 1, 0" clickfinger isn't working because the driver defaults to software buttons and you didn't change the click method. You either need to set this in an xorg.cond.f snippet (see man 4 libinput) or change it in the gnome-tweak-tool (for gnome) or however XFCE does it, I don't know that off-hand, sorry. Let me know how you go, once that's enabled it should work fine again.
I created a file /etc/X11/xorg.conf.d/30-touchpad.conf with the following contents: Section "InputClass" Identifier "devname" Driver "libinput" MatchIsTouchpad "on" Option "ClickMethod" "clickfinger" EndSection I removed xorg-x11-drv-synaptics-legacy and now things are working properly again (i.e. including three finger click). https://wiki.archlinux.org/index.php/Libinput#Common_options was very useful in getting this file set up. Question remains: why does the driver default to software buttons if the hardware buttons are more capable?
mostly because we have to default to something and when we decided on this default 3 years ago, the vast majority of touchpads had visible markers to indicate software buttons. That was also the default behaviour in windows for those buttons. Macs had a different default behaviour, so we default to clickfinger there. There are 2 layers above libinput itself that decide on those defaults, the xorg-x11-drv-libinput driver and the desktop environment. Either of those could switch the default if they see fit and the user would be none the wiser :)
Thanks, both for the quick help and the explanation.