Bug 1275460

Summary: 3 fingers tap middle click not working on my touchpad
Product: [Fedora] Fedora Reporter: fabien.chaillou <fabien.chaillou>
Component: libinputAssignee: Benjamin Tissoires <btissoir>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 23CC: btissoir, fabien.chaillou, peter.hutterer
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-08-08 05:13:30 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:
Attachments:
Description Flags
evemu-record
none
Complete evemu record
none
Output of dmesg none

Description fabien.chaillou@gmail.com 2015-10-27 01:03:16 UTC
Description of problem:
Before fedora 22 and the migration to libinput, 3 finger middle-click worked on my laptop but since then it stopped.


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. Make a 3 finger tap on a link in firefox

Actual results:
Nothing happens

Expected results:
Link is opened in a new tab

Additional info:
Here is the ouput of xinput list
⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                	id=11	[slave  pointer  (2)]

Here is xinput list-props 11
Device 'ETPS/2 Elantech Touchpad':
	Device Enabled (136):	1
	Coordinate Transformation Matrix (138):	1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
	libinput Tapping Enabled (273):	1
	libinput Tapping Enabled Default (274):	0
	libinput Tapping Drag Lock Enabled (275):	0
	libinput Tapping Drag Lock Enabled Default (276):	0
	libinput Accel Speed (277):	-0.414286
	libinput Accel Speed Default (278):	0.000000
	libinput Natural Scrolling Enabled (279):	0
	libinput Natural Scrolling Enabled Default (280):	0
	libinput Send Events Modes Available (257):	1, 1
	libinput Send Events Mode Enabled (258):	0, 0
	libinput Send Events Mode Enabled Default (259):	0, 0
	libinput Left Handed Enabled (281):	0
	libinput Left Handed Enabled Default (282):	0
	libinput Scroll Methods Available (283):	1, 1, 0
	libinput Scroll Method Enabled (284):	1, 0, 0
	libinput Scroll Method Enabled Default (285):	1, 0, 0
	libinput Disable While Typing Enabled (286):	1
	libinput Disable While Typing Enabled Default (287):	1
	Device Node (260):	"/dev/input/event5"
	Device Product ID (261):	2, 14
	libinput Drag Lock Buttons (288):	<no items>
	libinput Horizonal Scroll Enabled (262):	1

And here is udevadm info --query=property --name=/dev/input/event5
DEVLINKS=/dev/input/by-path/platform-i8042-serio-1-event-mouse
DEVNAME=/dev/input/event5
DEVPATH=/devices/platform/i8042/serio1/input/input7/event5
ID_INPUT=1
ID_INPUT_HEIGHT_MM=45
ID_INPUT_TOUCHPAD=1
ID_INPUT_WIDTH_MM=94
ID_PATH=platform-i8042-serio-1
ID_PATH_TAG=platform-i8042-serio-1
ID_SERIAL=noserial
LIBINPUT_ATTR_RESOLUTION_HINT=31x31
LIBINPUT_DEVICE_GROUP=11/2/e/0:isa0060/serio1
LIBINPUT_MODEL_ELANTECH_TOUCHPAD=1
MAJOR=13
MINOR=69
SUBSYSTEM=input
USEC_INITIALIZED=16914


Hopes this helps !
Regards,
Fabien

Comment 1 Peter Hutterer 2015-10-27 02:23:45 UTC
record such a tap with evemu-record please and attach the output here

Comment 2 fabien.chaillou@gmail.com 2015-10-27 02:59:22 UTC
Created attachment 1086704 [details]
evemu-record

Here is the record fro, evemu.

Comment 3 Peter Hutterer 2015-11-02 01:19:32 UTC
Please don't cut the recording, I need the top part of the recording too (with the device description). Without that, I cannot emulate the device here.

What laptop is this btw, does the device have physical buttons?

Comment 4 fabien.chaillou@gmail.com 2015-11-02 02:39:48 UTC
Created attachment 1088438 [details]
Complete evemu record

Oh sorry about the previous file.
I was using the options for evemu record to send the data to a file, however it seems it does so without copying the header into that same file.

This new file should contain everything that is needed.

By the way, my laptop is a samsung np530u03b, it is a 2012 model (well i bought it then, might be a bit older though).
And yes, it has physical button for left and right click.
I didn't think about testing it until now but i confirm that clicking both physical buttons at the same time generates a middle click.

Regards,
Fabien

Comment 5 Peter Hutterer 2015-11-02 04:30:32 UTC
(In reply to fabien.chaillou from comment #4)
> Oh sorry about the previous file.
> I was using the options for evemu record to send the data to a file, however
> it seems it does so without copying the header into that same file.

oops, that is a bug in evemu then. I'll get that fixed, thanks.

as for the 3-finger tapping (note: 3-finger click has a different meaning, see http://wayland.freedesktop.org/libinput/doc/latest/clickpad_softbuttons.html#clickfinger), that seems to be a kernel bug:
the second touch point has a position of 0/0 and gets detected (and ignored) as a palm touch. So unless you really had your finger in the top-left corner, that would be bug in the kernel. Benjamin?

Comment 6 Benjamin Tissoires 2015-11-02 14:18:36 UTC
Yep, looks like there is a problem in the kernel. Can you attach a dmesg so that we know which version of the Elan touchpad you are using?

Comment 7 fabien.chaillou@gmail.com 2015-11-03 02:18:50 UTC
Created attachment 1088790 [details]
Output of dmesg

Here is the ouput of dmesg.
I can't however tell me which version of the touchpad i have, sorry !

Hopes it helps.

Comment 8 fabien.chaillou@gmail.com 2015-11-23 02:04:04 UTC
I updated to fedora 23 and it still happens.
Can i be of any help on anything ?

Comment 9 Benjamin Tissoires 2016-01-08 17:05:58 UTC
Just a FYI, I have been tracking recently the exact same problem upstream (fdo bug #93583).

I don't think I will be able to add a second slot, but the touchpad should report itself as semi_mt.

Then, I think we should ignore palm detection for semi-mt devices in libinput.

Comment 10 Peter Hutterer 2016-08-08 05:13:30 UTC
This should've been fixed with the libinput 1.2 release (see fdo bg in comment 9). If it's still broken please re-open.

Comment 11 fabien.chaillou@gmail.com 2016-08-12 19:43:41 UTC
Hello Peter,
I confirm this is fixed for me.

Thanks !
Fabien