All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Kurtz <djkurtz@chromium.org>
To: Chase Douglas <chase.douglas@canonical.com>
Cc: "Henrik Rydberg" <rydberg@euromail.se>,
	"\"Chung-Yih Wang (王崇懿)\"" <cywang@google.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, 27 Jul 2012 18:40:02 +0800	[thread overview]
Message-ID: <CAGS+omCAQm-5ybbHwEr+ktAnu=+bvr9rVvP+70vudnn2Ui5ZxQ@mail.gmail.com> (raw)
In-Reply-To: <5009A402.2060601@canonical.com>

On Sat, Jul 21, 2012 at 2:31 AM, Chase Douglas
<chase.douglas@canonical.com> wrote:
>
> On 07/20/2012 02:03 AM, Daniel Kurtz wrote:
>>>>>>
>>>>>> * 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.  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 I was worried that you were trying to remove the SEMI_MT flag, and I apologise for not looking closely enough to notice that wasn't the case. The documentation for the flag says:
>
> """
> 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 a rectangular shape is known. For such touchpads, the semi-mt property should be set.
>
> Depending on the device, the rectangle may enclose all touches, like a bounding box, or just some of them, for instance the two most recent touches. The diversity makes the rectangle of limited use, but some gestures can normally be extracted from it.
> """
>
> Since the documentation doesn't say the data must be provided as min/max values, this patch actually appears to be perfectly fine as is.
>
> My next question is: how are you going to tell from userspace if the hardware actually provides correct data? IIRC, it was decided that we wouldn't provide sysfs nodes for the device IDs.
>

Excellent question.  We haven't solved this in any elegant way.  When
building images for this particular hardware platform, we set a flag
in our user-space touchpad driver.  It then knows to process this
device's data as "non-bounding box semi-mt".

-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

      reply	other threads:[~2012-07-27 10:40 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
2012-07-20 18:31                   ` Chase Douglas
2012-07-27 10:40                     ` 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+omCAQm-5ybbHwEr+ktAnu=+bvr9rVvP+70vudnn2Ui5ZxQ@mail.gmail.com' \
    --to=djkurtz@chromium.org \
    --cc=chase.douglas@canonical.com \
    --cc=cywang@google.com \
    --cc=dgdunix@gmail.com \
    --cc=dmitry.torokhov@gmail.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 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.