This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 1294022 - 3 finger tap to middle click isn't working
3 finger tap to middle click isn't working
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: libinput (Show other bugs)
23
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Peter Hutterer
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-12-24 00:17 EST by n0000b.n000b
Modified: 2016-01-31 21:50 EST (History)
2 users (show)

See Also:
Fixed In Version: libinput-1.1.5-1.fc23
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-01-31 17:01:46 EST
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)
evemu-record (44.75 KB, text/plain)
2015-12-24 00:17 EST, n0000b.n000b
no flags Details
dmesg (114.45 KB, text/plain)
2015-12-24 00:17 EST, n0000b.n000b
no flags Details
xinput list-props (1.18 KB, text/plain)
2015-12-24 00:18 EST, n0000b.n000b
no flags Details
pic of touchpad (740.61 KB, image/jpeg)
2016-01-29 10:27 EST, n0000b.n000b
no flags Details

  None (edit)
Description n0000b.n000b 2015-12-24 00:17:04 EST
Created attachment 1109132 [details]
evemu-record

Description of problem:


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


How reproducible:


Steps to Reproduce:
1. tap with 3 fingers to open link in web browser
2.
3.

Actual results:
new tab doesn't open

Expected results:
link open in new tab

Additional info:

Here is the uoutput of : $ udevadm info --query=property --name=/dev/input/event4
DEVLINKS=/dev/input/by-path/platform-i8042-serio-1-event-mouse
DEVNAME=/dev/input/event4
DEVPATH=/devices/platform/i8042/serio1/input/input5/event4
ID_INPUT=1
ID_INPUT_HEIGHT_MM=36
ID_INPUT_TOUCHPAD=1
ID_INPUT_WIDTH_MM=80
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=68
SUBSYSTEM=input
USEC_INITIALIZED=16737840

Also 'ID_INPUT_WIDTH_MM=' and 'ID_INPUT_HEIGHT_MM=' have some correlation with the actual size? because the touchpad is aprox 89 mm width and 45 mm height with rounded corners.
Comment 1 n0000b.n000b 2015-12-24 00:17 EST
Created attachment 1109133 [details]
dmesg
Comment 2 n0000b.n000b 2015-12-24 00:18 EST
Created attachment 1109134 [details]
xinput list-props
Comment 3 n0000b.n000b 2015-12-24 00:36:38 EST
I forgot to mention that my touchpad is an elantech
Comment 4 Peter Hutterer 2016-01-13 00:36:58 EST
sounds like bug 1275460, is that correct?
Comment 5 n0000b.n000b 2016-01-22 14:15:47 EST
(In reply to Peter Hutterer from comment #4)
> sounds like bug 1275460, is that correct?

it indeed look similar, but there is a difference in the 'ID_INPUT_WIDTH_MM=' and 'ID_INPUT_HEIGHT_MM=' values (where are this values fetched?), so I guess it can be closed.
Comment 6 n0000b.n000b 2016-01-22 14:18:37 EST
also I forgot to mention that I lost the 3 finger tap after removing the 'xorg-x11-drv-synaptics' package from fedora.
Comment 7 Peter Hutterer 2016-01-24 17:07:34 EST
(In reply to n0000b.n000b from comment #5)
> (In reply to Peter Hutterer from comment #4)
> > sounds like bug 1275460, is that correct?
> 
> it indeed look similar, but there is a difference in the
> 'ID_INPUT_WIDTH_MM=' and 'ID_INPUT_HEIGHT_MM=' values (where are this values
> fetched?), so I guess it can be closed.

that comes from the device, it announces an x/y axis range and a resolution, the with/height is calculated from that. If those values are wrong, please run the touchpad-edge-detector tool and attach the output here.

(In reply to n0000b.n000b from comment #6)
> also I forgot to mention that I lost the 3 finger tap after removing the
> 'xorg-x11-drv-synaptics' package from fedora.

yeah, that's "expected". synaptics doesn't handle proper multitouch, libinput does. your touchpad (and other semi-mt ones) are not reliable for true multitouch, they send garbage coordinates. so doing the right thing actually makes things worse in this case. the patch I have pending will fix this though.
Comment 8 n0000b.n000b 2016-01-29 10:27 EST
Created attachment 1119452 [details]
pic of touchpad

here is the output of touchpad-edge-detector:

Touchpad ETPS/2 Elantech Touchpad on /dev/input/event4
Move one finger around the touchpad to detect the actual edges
Kernel says:	x [0..2480], y [0..1116]
Touchpad sends:	x [0..2480], y [0..1116] |^C/-

Touchpad size as listed by the kernel: 80x36mm
Calculate resolution as:
	x axis: 2480/<width in mm>
	y axis: 1116/<height in mm>

Suggested udev rule:
# <Laptop model description goes here>
evdev:name:ETPS/2 Elantech Touchpad:dmi:bvnAmericanMegatrendsInc.:bvr04PW.ME99.20110908.SKK:bd09/08/2011:svnSAMSUNGELECTRONICSCO.,LTD.:pn305V4A/305V5A:pvr04PW:rvnSAMSUNGELECTRONICSCO.,LTD.:rn305V4A/305V4A:rvr04PW:cvnSAMSUNGELECTRONICSCO.,LTD.:ct9:cvrN/A:*
 EVDEV_ABS_00=0:2480:<x resolution>
 EVDEV_ABS_01=0:1116:<y resolution>
 EVDEV_ABS_35=0:2480:<x resolution>
 EVDEV_ABS_36=0:1116:<y resolution>

attached is some a pic of the touchpad with some rough measurements (I think this is a non-issue, since doesn't seem to affect the experience).

Also I tested the kernel patch from https://bugs.freedesktop.org/show_bug.cgi?id=93583 and can confirm that 3 finger tap to middle click is working with libinput from testing (1.1.5-1.fc23).
Comment 9 Peter Hutterer 2016-01-31 17:01:46 EST
sorry, forgot to add this bug number in the update. For reference:
https://bodhi.fedoraproject.org/updates/FEDORA-2016-78d0ff2bc4

The size mismatch, ca 10mm in both directions, has some effect on pointer movement and other things. Try this scratch build please:
http://koji.fedoraproject.org/koji/taskinfo?taskID=12764067

You should see the touchpad size match the physical measurements now once you installed and rebooted.
Comment 10 n0000b.n000b 2016-01-31 19:22:54 EST
this is now the output of touchpad-edge-detector

Touchpad ETPS/2 Elantech Touchpad on /dev/input/event4
Move one finger around the touchpad to detect the actual edges
Kernel says:	x [0..2480], y [0..1116]
Touchpad sends:	x [0..2480], y [0..1116] /^C

Touchpad size as listed by the kernel: 88x46mm
Calculate resolution as:
	x axis: 2480/<width in mm>
	y axis: 1116/<height in mm>

Suggested udev rule:
# <Laptop model description goes here>
evdev:name:ETPS/2 Elantech Touchpad:dmi:bvnAmericanMegatrendsInc.:bvr04PW.ME99.20110908.SKK:bd09/08/2011:svnSAMSUNGELECTRONICSCO.,LTD.:pn305V4A/305V5A:pvr04PW:rvnSAMSUNGELECTRONICSCO.,LTD.:rn305V4A/305V4A:rvr04PW:cvnSAMSUNGELECTRONICSCO.,LTD.:ct9:cvrN/A:*
 EVDEV_ABS_00=0:2480:<x resolution>
 EVDEV_ABS_01=0:1116:<y resolution>
 EVDEV_ABS_35=0:2480:<x resolution>
 EVDEV_ABS_36=0:1116:<y resolution>

And now the touchpad feel more responsive to the two and three finger touches.
Thanks.

(As I said before the size is more like 89 x 45 mm)
Comment 11 Peter Hutterer 2016-01-31 21:50:14 EST
one mm over or under doesn't matter and it's hard to address anyway - the resolution is an integer number. in your case we have the choice of 27 units/mm -> 91mm width or 28 units/mm -> 88mm width. But one extra mm doesn't matter and is generally lost in the statistical noise. Thanks for testing, I'll get this into systemd upstream.

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