lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E52C252.9060904@canonical.com>
Date:	Mon, 22 Aug 2011 13:55:46 -0700
From:	Chase Douglas <chase.douglas@...onical.com>
To:	Daniel Kurtz <djkurtz@...omium.org>
CC:	dmitry.torokhov@...il.com, rydberg@...omail.se,
	linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
	olofj@...omium.org, chris@...bagwell.com
Subject: Re: [PATCH 4/9 v5] Input: synaptics - add image sensor support

On 08/22/2011 04:05 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@...omium.org>

It's fine with me. It adds a bit of asymmetry in packet processing
between mt and non-mt trackpads. This could be reworked by splitting
synaptics_process_packet() up into an mt case function (which is what
synaptics_image_sensor_process() is), and a non-mt case function. I
think that would be nice, but not a big deal so:

Acked-by: Chase Douglas <chase.douglas@...onical.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ