--- v2
+++ v1
@@ -5,29 +5,22 @@
This patch set (against next) is intended to add support for synaptics
"image sensor" touchpads.
-Patches 1-3 clean up the current driver slightly and prepare for the image
+Patches 1-8 clean up the current driver slightly and prepare for the image
sensor patches which follow.
-Patches 4-7 add up to 3 finger support for image sensor touchpads.
+Patches 9-11 add up to 3 finger support for image sensor touchpads.
Image sensors do not suffer from the finger tracking issues that plagued
the earlier "profile sensors", and which required the invention of "semi-mt"
-(Semi-mt reports a bounding box around two fingers instead of the fingers
+(which reports a bounding box around two fingers instead of the fingers
themselves). Instead, the image sensors report the actual positions of two
-fingers using the same "Advanced Gesture Mode". This driver uses two MT-B slots
-to report these two fingers to userspace. In addition, it will also report
-the total number of fingers using BTN_TOOL_*TAP EV_KEY events.
-Userspace drivers should be aware that the number of fingers reported via
-BTN_TOOL_*TAP can be greater than the total number MT-B slots with non-negative
-track_ids. Upon opening the device node, userspace should query the maximum
-values supported ABS_MT_SLOT, and note the number of supported BTN_TOOL_*TAP
-events.
+fingers using the same "Advanced Gesture Mode". Unfortunately, the limitations
+of the Synaptics PS/2 protocol make it difficult to keep track of which two
+fingers are being reported at any given time.
-Patches 8-9 adds up to 5 finger support.
+Patch 12 adds up to 5 finger support.
In fact, the image sensor touchpads actually track 5 fingers while reporting
-just 2 finger positions. These patches add support for properly tracking the
-reported slots through 4 and 5 finger transitions, while always reporting two of
-them via 2 MT-B slots. In addition, a new event, EV_KEY/BTN_TOOL_QUINTTAP, is
-added to the event subsystem to allow reporting up to 5 fingers.
+just 2 finger positions. This patch tracks which fingers are being reported,
+and passes them up to userspace using 5 MT-B slots.
These patches are similar to, and inspired by, a similar patchset recently
submitted by Derek Foreman and Daniel Stone. However, it is not directly built
@@ -36,22 +29,26 @@
Thanks,
Daniel
-Daniel Kurtz (9):
- Input: synaptics - refactor y inversion
- Input: synaptics - refactor agm packet parsing
- Input: synaptics - refactor initialization of abs position axes
+Daniel Kurtz (12):
+ Input: synaptics - cleanup 0x0c query documentation
+ Input: synaptics - do not invert y if 0
+ Input: synaptics - fix minimum reported ABS_TOOL_WIDTH
+ Input: synaptics - set resolution for MT_POSITION_X/Y axes
+ Input: synaptics - process button bits in AGM packets
+ Input: synaptics - fuzz position if touchpad reports reduced
+ filtering
+ Input: synaptics - rename synaptics_data.mt to agm
+ Input: synaptics - rename set_slot to be more descriptive
Input: synaptics - add image sensor support
Input: synaptics - decode AGM packet types
Input: synaptics - process finger (<=3) transitions
- Input: synaptics - improved 2->3 finger transition handling
- Input: add BTN_TOOL_QUINTTAP for reporting 5 fingers on touchpad
Input: synaptics - process finger (<=5) transitions
- drivers/input/input-mt.c | 1 +
- drivers/input/mouse/synaptics.c | 466 ++++++++++++++++++++++++++++++++++++---
- drivers/input/mouse/synaptics.h | 27 ++-
+ drivers/input/mouse/synaptics.c | 442 +++++++++++++++++++++++++++++++++++----
+ drivers/input/mouse/synaptics.h | 41 +++-
include/linux/input.h | 1 +
- 4 files changed, 458 insertions(+), 37 deletions(-)
+ 3 files changed, 440 insertions(+), 44 deletions(-)
--
1.7.3.1
+