From: Daniel Kurtz <djkurtz@google.com>
To: "Chase Douglas" <chase.douglas@canonical.com>,
"Chung-Yih Wang (王崇懿)" <cywang@google.com>
Cc: Jussi Pakkanen <jussi.pakkanen@canonical.com>,
Henrik Rydberg <rydberg@euromail.se>,
Dmitry Torokhov <dmitry.torokhov@gmail.com>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Input: Document the device properties
Date: Tue, 31 Jan 2012 21:33:50 +0800 [thread overview]
Message-ID: <CAGS+omD+jWXFOJQ0GC1yxAJrkK=5yxxdsvxjGu73kmdi5QnpHA@mail.gmail.com> (raw)
In-Reply-To: <4F26CDF3.5080606@canonical.com>
On Tue, Jan 31, 2012 at 1:05 AM, Chase Douglas
<chase.douglas@canonical.com> wrote:
>
> On 01/30/2012 01:23 PM, Jussi Pakkanen wrote:
> > On 01/30/2012 10:35 AM, Henrik Rydberg wrote:
> >> +INPUT_PROP_SEMI_MT:
> >> +------------------
> >> +Some touchpads, most common between 2008 and 2011, can detect the presence
> >> +of multiple contacts without resolving the individual positions; only the
> >> +number of contacts and the corresponding bounding box is known. For such
> >> +touchpads, the semi-mt property should be set.
> >
> > A "corresponding bounding box" usually means "a bounding box that
> > contains all touches on the touchpad". I've been told (though I have not
> > checked it myself) that there are devices that don't do this. They only
> > report a bounding box for some subset of touches. If this is the case,
> > it should be documented here.
>
> Yeah, I thought Henrik's definition was correct for a long time, but
> when Derek Foreman (I think) proposed some patches for the latest
> synaptics devices I took a closer look at my semi-mt synaptics trackpad.
> The coordinates it gave were locations based on two of the touches. When
> three touches are on the touchpad, it gave a bounding box of two of the
> touches, and there's no way to tell which two.
This is correct. At least some of the Synaptics touchpads for which
the "semi-mt" path through the kernel driver is used, the firmware
tries to report the actual positions for two contacts. However, due
to limitations of their 'profile sensor' design, if the two fingers
get too close together, or even cross in the X or Y dimension, the
firmare tracking gets confused and can start reporting the "X" of one
contact with the "Y" of another. Thus, the safest behavior is to pair
[min(X1, X2), min(Y1, Y2)] and [max(X1, X2), max(Y1, Y2)], and treat
these two points as the corners of a 'bounding box'. If a third
contact is on the pad, there is no guarantee that it will be in this
box.
-Daniel
>
> -- Chase
>
> --
> 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
prev parent reply other threads:[~2012-01-31 13:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-30 8:35 [PATCH] Input: Document the device properties Henrik Rydberg
2012-01-30 12:23 ` Jussi Pakkanen
2012-01-30 17:05 ` Chase Douglas
2012-01-31 13:33 ` Daniel Kurtz [this message]
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='CAGS+omD+jWXFOJQ0GC1yxAJrkK=5yxxdsvxjGu73kmdi5QnpHA@mail.gmail.com' \
--to=djkurtz@google.com \
--cc=chase.douglas@canonical.com \
--cc=cywang@google.com \
--cc=dmitry.torokhov@gmail.com \
--cc=jussi.pakkanen@canonical.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).