<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO - Cannot use multiple finger tapping to perform middle click"
href="https://bugs.freedesktop.org/show_bug.cgi?id=93583#c36">Comment # 36</a>
on <a class="bz_bug_link
bz_status_NEEDINFO "
title="NEEDINFO - Cannot use multiple finger tapping to perform middle click"
href="https://bugs.freedesktop.org/show_bug.cgi?id=93583">bug 93583</a>
from <span class="vcard"><a class="email" href="mailto:benjamin.tissoires@gmail.com" title="Benjamin Tissoires <benjamin.tissoires@gmail.com>"> <span class="fn">Benjamin Tissoires</span></a>
</span></b>
<pre>(In reply to Peter Hutterer from <a href="show_bug.cgi?id=93583#c35">comment #35</a>)
<span class="quote">> Benjamin: wouldn't it be better to work around this in the kernel? what
> seems needed here is simply suppressing the 0/0 event and sending
> BTN_TOOL_TRIPLETAP only instead.</span >
Honestly, I don't think we will ever have a satisfying solution:
- Before 3c0213d17a09 ("Input: elantech - fix semi-mt protocol for v3 HW"), we
did not set the slot for slot 2 and only reported at most 1 slot if num_fingers
!= 2.
- 3c0213d17a09 fixed to not remove one slot when going from double tap to
triple tap.
- However, we now report 0,0 which can be considered as a move of the second
touch
- with latest commit in this bug report (too lazy to get the commit id), we set
the SEMI_MT flag, which basically says "the touches are wrong, but you might be
able to take some information from it".
In the slow case (one, then two, then three fingers), if we stop reporting the
0,0 coordinate, this will effectively fix this issue here. The second slot will
stay in place and will leave happily ever after.
However, if you triple tap directly, you end up receiving only the triple tap
message, which means we will set the second slot in whatever position it was
previously. If the previous gesture was a true palm, then we will end up in a
special corner case where we will have to instruct libinput to ignore this
case.
I would be more inclined to just disable all of our smart things we do in
libinput if we have a semi-mt device.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>