[lkml]   [2012]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] Input: Document the device properties
    On Tue, Jan 31, 2012 at 1:05 AM, Chase Douglas
    <> wrote:
    > On 01/30/2012 01:23 PM, Jussi Pakkanen wrote:
    > > On 01/30/2012 10:35 AM, Henrik Rydberg wrote:
    > >> +------------------
    > >> +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 the corresponding bounding box is known. For such
    > >> +touchpads, the semi-mt property should be set.
    > >
    > > A "corresponding bounding box" usually means "a bounding box that
    > > contains all touches on the touchpad". I've been told (though I have not
    > > checked it myself) that there are devices that don't do this. They only
    > > report a bounding box for some subset of touches. If this is the case,
    > > it should be documented here.
    > Yeah, I thought Henrik's definition was correct for a long time, but
    > when Derek Foreman (I think) proposed some patches for the latest
    > synaptics devices I took a closer look at my semi-mt synaptics trackpad.
    > The coordinates it gave were locations based on two of the touches. When
    > three touches are on the touchpad, it gave a bounding box of two of the
    > touches, and there's no way to tell which two.

    This is correct. At least some of the Synaptics touchpads for which
    the "semi-mt" path through the kernel driver is used, the firmware
    tries to report the actual positions for two contacts. However, due
    to limitations of their 'profile sensor' design, if the two fingers
    get too close together, or even cross in the X or Y dimension, the
    firmare tracking gets confused and can start reporting the "X" of one
    contact with the "Y" of another. Thus, the safest behavior is to pair
    [min(X1, X2), min(Y1, Y2)] and [max(X1, X2), max(Y1, Y2)], and treat
    these two points as the corners of a 'bounding box'. If a third
    contact is on the pad, there is no guarantee that it will be in this


    > -- Chase
    > --
    > To unsubscribe from this list: send the line "unsubscribe linux-input" in
    > the body of a message to
    > More majordomo info at
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2012-01-31 14:37    [W:0.044 / U:13.680 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site