From: "Éric Piel" <E.A.B.Piel@tudelft.nl>
To: Henrik Rydberg <rydberg@euromail.se>
Cc: Chris Bagwell <chris@cnpbagwell.com>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
Florian Ragwitz <rafl@debian.org>
Subject: Re: [PATCH 7/7] elantech: average the two coordinates when 2 fingers
Date: Mon, 02 Aug 2010 14:13:58 +0200 [thread overview]
Message-ID: <4C56B686.60606@tudelft.nl> (raw)
In-Reply-To: <4C56B00B.50204@euromail.se>
Op 02-08-10 13:46, Henrik Rydberg schreef:
> On 08/02/2010 01:33 PM, Éric Piel wrote:
:
>>> The implemented part could also be done in userspace. Going half-way just to
>>> circumvent buggy behavior in synaptics is really not a good idea.
>> No, we've been going from protocol 0.5 (report max/min coordinates) to
>> protocol A.5 (report finger positions, often with correct track ID). My
>> argument is that it's not because we are half-way to B, by chance, that
>> we should go up to it. We do just the minimum to respect the minimum
>> protocol. Once the driver respects that protocol, all the fancy stuff
>> has to stay in userspace. There is already mtdev (I'm sure I don't have
>> to tell you ;-) ), I don't see the point of doing some copy-pasting.
>
>
> Without this patch, the driver reports two points, the lower-left and
> upper-right of a rectangle. With this patch, the driver reports two points,
> which is either equal to the two actual fingers, or, after resting the fingers
> horizontally, two random opposite corners of a rectangle.
Yes, exactly.
> Doing userspace tracking without the patch results in properly following the
> lower-left and upper-right corners of a triangle. Doing userspace tracking with
> the patch results in properly following two random opposite corners of a rectangle.
Yes, with "random opposite" being "quite often the actual corners where
the fingers are".
> Without this patch, synaptics shows jerky behavior. With this patch, synaptics
> works a bit better.
No. This patch, doing the tracking, doesn't change at all the behaviour
with synaptics.
Synaptics already detects the transitions between singletap/doubletap,
and avoid cursor jumps. So tracking the finger doesn't help. The only
patch that ever helped was the one in the subject of this email:
reporting the double touch in ST-protocol as the middle of the two
touches. That helps a lot when you do scrolling with one finger fixed
and one finger moving (because without it half of the time nothing
happens). If your gesture is to move both fingers at the same time, it
has always worked fine.
The tracking patch improves cursor jumps for other userspace apps which
do not detect singletap/doubletap transitions... but in practice I don't
know any other app that read the touchpad events! So that's not a big
improvement ;-)
> The above tells me that the MT situation did not improve much, and that the
> major improvement is to paper over the synaptics problem.
For me it has changed because my argument was "with two finger we report
crap anyway, so let's report the average". With the tracking, we
actually (often) report the real position of the fingers, so this
argument is not valid anymore. Now we can happily say we conform to the
official protocols: ST (which apparently requires to always reports an
actual position), and MT-A.
> The argument to go forward implementing protocol B is that the current patch
> actually does proper two-finger tracking to the extent that it is possible.
> Since mtdev cannot improve the fact that this device does not following fingers
> but corners, it makes sense to treat this device specially, and implement the
> extra lines in the kernel to make it as good as it can be. Alternatively, one
> can give up the idea of using MT in this driver altogether, and just implement
> the mean position ABS_X/Y, old-style.
Do you think that if we implement full tracking in kernel, we can do
_better_ than the small tracking + mtdev? I don't think so (but, hey,
I've been tinkering with multitouch for something like 20h in my life,
so I might have missed something ;-) ). If you have in mind a better
performing algorithm, then let me know, and I'll happily implement it in
kernel :-)
Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2010-08-02 12:14 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-21 20:59 [PATCH 0/7] elantech: various improvements for 6-byte protocol Éric Piel
2010-06-21 21:01 ` [PATCH 1/7] elantech: Describe further the protocol Éric Piel
2010-06-21 21:02 ` [PATCH 2/7] [NEEDS TEST] elantech: discard the first 2 positions reports for some firmwares Éric Piel
2010-06-21 21:03 ` [PATCH 3/7] elantech: distinguish various hardware/firmware versions Éric Piel
2010-06-21 21:04 ` [PATCH 4/7] elantech: implement data check for 6-byte protocol Éric Piel
2010-06-21 21:05 ` [PATCH 6/7] elantech: export pressure and width when supported Éric Piel
2010-06-21 21:06 ` [PATCH 7/7] elantech: average the two coordinates when 2 fingers Éric Piel
2010-07-21 3:36 ` Dmitry Torokhov
2010-07-30 18:55 ` Éric Piel
2010-07-30 21:01 ` Henrik Rydberg
2010-07-30 21:41 ` Éric Piel
2010-07-31 9:28 ` Henrik Rydberg
2010-07-31 9:33 ` Dmitry Torokhov
2010-07-31 12:49 ` Henrik Rydberg
2010-07-31 23:00 ` Éric Piel
2010-08-01 7:52 ` Henrik Rydberg
2010-07-31 19:56 ` Chris Bagwell
[not found] ` <AANLkTi=cEEx-5eQPbRYvMMaECvXKQ+i-e0Eaw_g4JY7=@mail.gmail.com>
2010-07-31 23:04 ` Éric Piel
2010-08-01 9:37 ` Henrik Rydberg
2010-08-01 11:28 ` Éric Piel
2010-08-01 13:57 ` Henrik Rydberg
2010-08-02 8:17 ` Éric Piel
2010-08-02 10:02 ` Henrik Rydberg
2010-08-02 11:12 ` Éric Piel
2010-08-02 11:22 ` Henrik Rydberg
2010-08-02 11:33 ` Éric Piel
2010-08-02 11:46 ` Henrik Rydberg
2010-08-02 12:13 ` Éric Piel [this message]
2010-08-02 12:29 ` Henrik Rydberg
2010-08-02 12:46 ` Éric Piel
2010-08-02 13:03 ` Henrik Rydberg
2010-08-02 13:23 ` Éric Piel
2010-08-02 14:12 ` Henrik Rydberg
2010-08-02 16:39 ` Dmitry Torokhov
2010-08-02 17:15 ` Henrik Rydberg
2010-08-08 22:51 ` Éric Piel
2010-08-08 22:52 ` [PATCH 07/10] elantech: Report multitouch with proper ABS_MT messages Éric Piel
2010-08-08 22:53 ` [PATCH 08/10] elantech: track finger to distinguish coordinates in 2-finger report Éric Piel
2010-08-08 22:54 ` [PATCH 09/10] elantech: remove support for proprietary X driver Éric Piel
2010-08-08 22:55 ` [PATCH 10/10] elantech: don't take into account the border size in the calculations Éric Piel
2010-08-02 16:26 ` [PATCH 7/7] elantech: average the two coordinates when 2 fingers Dmitry Torokhov
2010-08-02 17:05 ` Henrik Rydberg
2010-08-01 7:36 ` Henrik Rydberg
2010-06-21 21:07 ` [PATCH 5/7] elantech: report position also with 3 fingers Éric Piel
2010-07-21 3:38 ` Dmitry Torokhov
2010-07-30 18:37 ` Éric Piel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C56B686.60606@tudelft.nl \
--to=e.a.b.piel@tudelft.nl \
--cc=chris@cnpbagwell.com \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=rafl@debian.org \
--cc=rydberg@euromail.se \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.