[PATCH] hid: 3m: Simplify touchsreen emulation logic

Chase Douglas chase.douglas at canonical.com
Mon Aug 16 10:16:51 UTC 2010

On Mon, 2010-08-16 at 08:55 +0200, Henrik Rydberg wrote:
> On 08/15/2010 11:28 PM, Chase Douglas wrote:
> > On Sun, 2010-08-15 at 22:32 +0200, Henrik Rydberg wrote:
> >> On 08/15/2010 07:42 PM, Chase Douglas wrote:
> >>
> >>> On Sat, 2010-08-14 at 17:29 +0100, Henrik Rydberg wrote:
> >>>> The ten-finger 3M screen M2256PW has a kernel driver already
> >>>> (hid-3m-pct), but with a couple of glitches:
> >>>>
> >>>> 1. The one-touch down/up, which emits BTN_TOUCH events, sometimes does
> >>>> not work properly. This results in buttons getting stuck in the
> >>>> button-down state in the window manager.
> >>>>
> >>>> 2. The action after touch-up in one spot followed by a touch-down in
> >>>> another spot sometimes causes a sequence of strange finger-tracing
> >>>> events along the perimeter of the rectangle between the two spots. The
> >>>> root of the problem lies in how the kernel inteprets the HID hybrid
> >>>> event type which is used by the 3M device [1].
> >>>>
> >>>> While a proper HID solution is being worked out upstream, this patch
> >>>> simplifies the driver logic such that BTN_TOUCH and ABS_X/Y events are
> >>>> emitted properly, in effect papering over the worst problems. Suggested
> >>>> for inclusion in Maverick.
> >>>>
> >>>> [1] Suggested by Stephane Chatty, who also confirms the observed problems.
> >>>>
> >>>> Signed-off-by: Henrik Rydberg <rydberg at euromail.se>

Based on the comments in this thread, I feel confident that this is
likely the best we can do in the short time frame before Maverick is
released, and really does help paper over a real issue with the HID
stack as it currently exists.

Because we are one of the first distros really attacking multitouch
screens, getting as many working drivers as possible at this early stage
is important, even if our changes are not long term solutions that would
be accepted by upstream. So:

Acked-by: Chase Douglas <chase.douglas at canonical.com>

More information about the kernel-team mailing list