[meta-freescale] [linux-boundary][PATCHv2] egalax_ts: Always report all touch points before input_sync()
Eric Nelson
eric.nelson at boundarydevices.com
Fri Jul 5 18:07:32 PDT 2013
Hi Erik,
On 07/04/2013 11:18 PM, Erik Botö wrote:
> Hi Eric,
>
> On Wed, Jul 3, 2013 at 8:53 PM, Eric Nelson
> <eric.nelson at boundarydevices.com
> <mailto:eric.nelson at boundarydevices.com>> wrote:
>
> Hi Erik,
>
> Sorry for the delay, but I finally got around to checking this patch.
>
>
> On 07/03/2013 07:11 AM, Erik Botö wrote:
>
> The previous behavior of the driver did not work properly with Qt5
> QtQuick multi touch-point gestures, due to how touch-points are
> reported when removing a touch-point. My interpretation of the
> available documentation [1] was that the driver should report all
> touch-points between SYN_REPORTs, but it is not explicitly
> stated so.
> I've found another mail-thread [2] where the creator of the protocol
> states:
>
> "The protocol defines a generic way of sending a variable amount of
> contacts. The contact count is obtained by counting the number of
> non-empty finger packets between SYN_REPORT events."-Henrik Rydberg
>
> I think this verifies my assumption that all touch-points should be
> reported between SYN_REPORTs, otherwise it can not be used to obtain
> the count.
>
>
> Your assumptions are correct, and if I read things correctly, they're
> already fixed, but in a different source tree...
>
> I'm guessing that someone forgot to mention that there are **two**
> primary kernel trees for i.MX. Android and not-Android.
>
> The Android kernel seems to have this fixed in a different way,
> by doing some additional book-keeping of current touches:
> http://git.freescale.com/git/__cgit.cgi/imx/linux-2.6-imx.__git/tree/drivers/input/__touchscreen/egalax_ts.c?id=__3b9608406bb699de5ff02760c745e6__2212b4c280
> <http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tree/drivers/input/touchscreen/egalax_ts.c?id=3b9608406bb699de5ff02760c745e62212b4c280>
>
> In Freescale's repository, the current Android stuff is in a tag
> (jb4.2.2_1.0.0-ga) instead of a branch, so it's a bit difficult
> to navigate through the web interface:
>
> http://git.freescale.com/git/__cgit.cgi/imx/linux-2.6-imx.__git/tag/?id=jb4.2.2_1.0.0-ga
> <http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/tag/?id=jb4.2.2_1.0.0-ga>
>
> Hey Freescalers, can we get a head nod that we can consolidate
> these? I think all that's needed is to add the SINGLE_TOUCH stuff
> into the Android branch.
>
> Erik, can you try out the Android version and see if it works for
> you?
>
>
> I did a quick test where I just copied the Android version, removed the
> EARLYSUSPEND stuff so it would build inside a regular kernel but it is
> not behaving properly for me. Even one finger clicks doesn't seem to
> work, looks like it never gets released.
>
Thanks for testing that.
It doesn't surprise me that Android expects something off-spec.
> Unfortunately I don't have much time to investigate this further. But
> since the two kernels are different anyway I guess there's no danger
> with merging my patch suggestion in the non-android kernel?
>
No worries on my end.
I was just hoping to consolidate the two, since it makes future bug
fixes easier.
Regards,
Eric
More information about the meta-freescale
mailing list