lkml.org 
[lkml]   [2011]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/9 v4] Input: synaptics - add image sensor support
On 08/18/2011 04:28 AM, Daniel Kurtz wrote:
> Synaptics makes (at least) two kinds of touchpad sensors:
> * Older pads use a profile sensor that could only infer the location
> of individual fingers based on the projection of their profiles
> onto row and column sensors.
> * Newer pads use an image sensor that can track true finger position
> using a two-dimensional sensor grid.
>
> Both sensor types support an "Advanced Gesture Mode":
> When multiple fingers are detected, the touchpad sends alternating
> "Advanced Gesture Mode" (AGM) and "Simple Gesture Mode" (SGM)
> packets.
> The AGM packets have w=2, and contain reduced resolution finger data
> The SGM packets have w={0,1} and contain full resolution finger data
>
> Profile sensors try to report the "upper" (larger y value) finger in
> the SGM packet, and the lower (smaller y value) in the AGM packet.
> However, due to the nature of the profile sensor, they easily get
> confused when fingers cross, and can start reporting the x-coordinate
> of one with the y-coordinate of the other. Thus, for profile
> sensors, "semi-mt" was created, which reports a "bounding box"
> created by pairing min and max coordinates of the two pairs of
> reported fingers.
>
> Image sensors can report the actual coordinates of two of the fingers
> present. This patch detects if the touchpad is an image sensor and
> reports finger data using the MT-B protocol.
>
> NOTE: This patch only adds partial support for 2-finger gestures.
> The proper interpretation of the slot contents when more than
> two fingers are present is left to later patches. Also,
> handling of 'number of fingers' transitions is incomplete.
>
> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>

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


\
 
 \ /
  Last update: 2011-08-18 18:03    [from the cache]
©2003-2011 Jasper Spaans