From: "Henrik Rydberg" <rydberg@bitmath.se>
To: Daniel Kurtz <djkurtz@chromium.org>
Cc: "Chung-Yih Wang (王崇懿)" <cywang@google.com>,
"Chase Douglas" <chase.douglas@canonical.com>,
"Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
"JJ Ding" <dgdunix@gmail.com>,
linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] Input: synaptics - use firmware data for Cr-48
Date: Fri, 20 Jul 2012 15:03:50 +0200 [thread overview]
Message-ID: <20120720130350.GA1508@polaris.bitmath.org> (raw)
In-Reply-To: <CAGS+omBmkdrpLds4xE==BNp1yctOmA1xj-p2s4S8Bvh7Q=ixxw@mail.gmail.com>
> > Propagating information about various sensor defects to userspace
> > sounds horrid to me. The sooner we can forget about these devices, the
> > better.
>
> Not providing the userspace driver with enough information to give
> users the best experience possible sounds horrid to me.
The question was whether we should add those to the long-lived input
interface or not, sorry if that sounded like a rant.
> It turns out
> that using a bounding box with fixed "[(min_x, min_y), (max_x,
> max_y)]", and no per-finger pressure information, instead of the
> coordinates and pressures provided by the firmware, is throwing away
> useful data that could be used by the userspace driver.
So far, we have provided the baseline of reliable data from similar
devices.
> What we would like is a way to tell userspace what the firmware
> originally intended, but with a caveat that the firmware can't be 100%
> trusted. And, since this is for a relatively small class of hardware,
> to do it in a way that doesn't consume precious resources, like
> additional input properties.
Input properties are not a precious resource, there is no limit on the
bitmask values or anything like that, but there is no rush to add new
ones.
> >> > > * Leave the device as SEMI_MT, but provide the real locations, and
> >> > > allow userspace to determine the device vendor/model/etc. If
> >> > > userspace knows that a specific device behaves in a specific way, it
> >> > > can do its own quirking handling. Given the specificity of this
> >> > > behavior to only some devices of one brand, this would be my
> >> > > suggested resolution to the issue.
> >> >
>
> This is essentially what this patch does.
I am interpreting Chase's suggestion as simply reporting the raw
values instead of min/max.
> It sets the SEMI_MT flag to
> indicate that the kernel data cannot be totally trusted, and then
> provides real MT-B (including per-finger pressures), instead of a
> fixed bounding box. It leaves it to userspace to treat the two slots
> worth of coordinates as a bounding box or as actual fingers using its
> own heuristics. By limiting to only one hardware type (using DMI),
> any breakage caused by this alternative use of the SEMI_MT flag is
> limited.
So it seems there is no need to add logic to the driver, only change
one line from min/max to raw data for this particular hardware. That
would solve your problem, yes?
> Hopefully it is clear what we are trying to accomplish. I don't see
> how we can make a bounding box, even an improved bounding box, work.
> Perhaps Henrik has a really good idea, but I haven't been able to
> figure out what he is suggesting.
I understand you are not interested in looking into this, and your
main objective is quite clear.
Thanks,
Henrik
next prev parent reply other threads:[~2012-07-20 13:02 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-18 10:22 [PATCH v2] Input: synaptics - use firmware data for Cr-48 Chung-yih Wang
2012-07-18 15:38 ` Chase Douglas
[not found] ` <CAM2ehZbftDja6CBGjhL3Jp+30DtYJj+8_4e=_wWcj3pCDGD7AA@mail.gmail.com>
2012-07-19 6:42 ` Dmitry Torokhov
2012-07-19 13:14 ` Henrik Rydberg
2012-07-19 16:16 ` Chase Douglas
2012-07-19 17:05 ` Daniel Kurtz
2012-07-19 17:34 ` Chase Douglas
2012-07-19 18:44 ` Henrik Rydberg
[not found] ` <CAM2ehZaLeJsxCOkqLv9jSko9y3Awix1jjobfTo5WQj8rcrYquA@mail.gmail.com>
2012-07-20 7:25 ` Henrik Rydberg
2012-07-20 9:03 ` Daniel Kurtz
2012-07-20 13:03 ` Henrik Rydberg [this message]
2012-07-20 18:31 ` Chase Douglas
2012-07-27 10:40 ` Daniel Kurtz
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=20120720130350.GA1508@polaris.bitmath.org \
--to=rydberg@bitmath.se \
--cc=chase.douglas@canonical.com \
--cc=cywang@google.com \
--cc=dgdunix@gmail.com \
--cc=djkurtz@chromium.org \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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).