[lkml]   [2011]   [Aug]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[PATCH 0/8 v3] Synaptics image sensor support

    For v3:
    Merged Patch 5 & 6:
    BTN_TOOL_*TAP always reports correct number of fingers.
    During certain ambiguous number-of-finger-transitions, there may be less
    than 2 valid MT-B slots, even if the BTN_TOOL_*TAP value indicates two or
    more fingers are present on the pad.

    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
    sensor patches which follow.

    Patches 4-6 add 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
    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

    Patches 7-8 add 4 and 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.

    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
    upon, nor is it compatible with, those patches.


    Daniel Kurtz (8):
    Input: synaptics - refactor y inversion
    Input: synaptics - refactor agm packet parsing
    Input: synaptics - refactor initialization of abs position axes
    Input: synaptics - add image sensor support
    Input: synaptics - decode AGM packet types
    Input: synaptics - process finger (<=3) transitions
    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 | 506 ++++++++++++++++++++++++++++++++++++---
    drivers/input/mouse/synaptics.h | 27 ++-
    include/linux/input.h | 1 +
    4 files changed, 498 insertions(+), 37 deletions(-)


     \ /
      Last update: 2011-08-12 19:21    [W:0.021 / U:7.100 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site