[lkml]   [2010]   [Nov]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] Input: Lenovo S10-3t's touchpad support
On Sat, Nov 27, 2010 at 03:55:28PM +0800, Dmitry Torokhov wrote:
> > So far we've found that the S10-3ts are shipped with two slightly
> > different models of touchpads, of which the 0x0c cap is either
> > 0x5a0400 or 0x4a0500. They are not Clickpad and return BTN_LEFT and
> > BTN_RIGHT normally.
> Hmm, this is weird. According to my data:
> >> Treat it as a two-bit field.
> >> 0x00 == not a clickpad
> >> 0x01 == 1 button clickpad
> >> 0x02 == 2 button clickpad
> >> 0x03 == reserved

Wait, you said there are "2 button clickpad"? If so the current way
the kernel handles clickpad is totally wrong:

if (SYN_CAP_CLICKPAD(priv->ext_cap_0c)) {
/* Clickpads report only left button */
__clear_bit(BTN_RIGHT, dev->keybit);
__clear_bit(BTN_MIDDLE, dev->keybit);

It could only handle those "1 button clickpad", which emits solely
BTN_MIDDLE (and the kernel sends it out as BTN_LEFT instead). It can't
handle "2 button clickpad" correctly.

So I think the touchpad installed on the S10-3t is a "2 button
clickpad" and it emits BTN_LEFT and BTN_RIGHT as usual.

Also IIRC the current X synaptics driver detects clickpad by checking
whether it has one button only, obviously this could not work with 2
button clickpad either.

Best regards,
Li, Yan

MeeGo Team, Opensource Technology Center, SSG, Intel
Office tel.: +86-10-82171695 (inet: 8-758-1695)
OpenPGP key: 5C6C31EF
IRC: yanli on network

 \ /
  Last update: 2010-11-30 03:21    [W:0.055 / U:4.416 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site