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: 19+ 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 6:42 ` Dmitry Torokhov
2012-07-19 13:14 ` Henrik Rydberg
2012-07-19 16:16 ` Chase Douglas
2012-07-19 16:16 ` Chase Douglas
2012-07-19 17:05 ` Daniel Kurtz
2012-07-19 17:05 ` Daniel Kurtz
2012-07-19 17:34 ` Chase Douglas
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 7:25 ` Henrik Rydberg
2012-07-20 9:03 ` Daniel Kurtz
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 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.