1. 24 8月, 2011 2 次提交
    • D
      Input: synaptics - add image sensor support · 3cdfee9e
      Daniel Kurtz 提交于
      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: NDaniel Kurtz <djkurtz@chromium.org>
      Acked-by: NChase Douglas <chase.douglas@canonical.com>
      Acked-by: NHenrik Rydberg <rydberg@euromail.se>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      3cdfee9e
    • D
      Input: synaptics - refactor agm packet parsing · 7afdb842
      Daniel Kurtz 提交于
      When a Synaptics touchpad is in "AGM" mode, and 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.
      
      Refactor the parsing of agm packets to its own function, and rename the
      synaptics_data.mt field to .agm to indicate that it contains the contents of
      the last agm packet.
      Signed-off-by: NDaniel Kurtz <djkurtz@chromium.org>
      Acked-by: NChase Douglas <chase.douglas@canonical.com>
      Acked-by: NHenrik Rydberg <rydberg@euromail.se>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      7afdb842
  2. 25 7月, 2011 1 次提交
  3. 10 7月, 2011 1 次提交
  4. 07 7月, 2011 1 次提交
  5. 24 2月, 2011 1 次提交
  6. 22 12月, 2010 1 次提交
    • H
      Input: synaptics - add multi-finger and semi-mt support · fec6e525
      Henrik Rydberg 提交于
      The Synaptics 2.7 series of touchpads support a mode for reporting two
      sets of X/Y/Pressure data (advanced gesture mode). By default, these
      devices report only single finger data, depriving userspace of the
      nowadays ubiquitous two-finger scroll gesture.
      
      Enabling advanced gesture mode also enables the multi-finger report,
      although the device does not claim that capability. Up to three
      fingers can be reported this way.
      
      While two or three fingers are touching, the normal packet is
      prepended by a reduced finger packet of lower resolution. From the two
      packets (which do not represent the actual fingers), the bounding
      rectangle of the individual contacts can be extracted.  This
      information is sufficient to perform scaling gestures and a limited
      form of rotation gesture. The behavior has been coined semi-mt
      capability, and is signaled to userspace via the INPUT_PROP_SEMI_MT
      device property.
      
      Work to decode the advanced gesture packet: Takashi Iwai.
      Cleanup and testing of the original patch: Chase Douglas.
      Minor cleanup and testing: Chris Bagwell.
      Finalization and semi-mt support: Henrik Rydberg.
      
      Reported-by: Tobyn Bertram
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NChase Douglas <chase.douglas@canonical.com>
      Signed-off-by: NChris Bagwell <chris@cnpbagwell.com>
      Acked-by: NDmitry Torokhov <dtor@mail.ru>
      Signed-off-by: NHenrik Rydberg <rydberg@euromail.se>
      fec6e525
  7. 01 12月, 2010 1 次提交
    • Y
      Input: synaptics - fix handling of 2-button ClickPads · 3bfa321e
      Yan Li 提交于
      Lenovo S10-3t's ClickPad is a 2-button ClickPad that reports BTN_LEFT
      and BTN_RIGHT as normal touchpad, unlike the 1-button ClickPad used in
      HP mini 210 that reports solely BTN_MIDDLE.
      
      In 0xc0-cap response, the 1-button ClickPad has the 20-bit set while
      2-button ClickPad has the 8-bit set.
      
      This patch makes the kernel only handle 1-button ClickPad specially,
      and treat 2-button ClickPad in the same fashion as regular touchpads.
      
      This fixes kernel bug #18122 and MeeGo bug #4807.
      Signed-off-by: NYan Li <yan.i.li@intel.com>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      3bfa321e
  8. 13 10月, 2010 1 次提交
  9. 22 7月, 2010 1 次提交
  10. 20 5月, 2010 1 次提交
  11. 20 4月, 2010 1 次提交
    • T
      Input: Add support of Synaptics Clickpad device · 5f57d67d
      Takashi Iwai 提交于
      The new type of touchpads can be detected via a new query command
      0x0c. The clickpad flags are in cap[0]:4 and cap[1]:0 bits.
      
      When the device is detected, the driver now reports only the left
      button as the supported buttons so that X11 driver can detect that
      the device is Clickpad. A Clickpad device gives the button events
      only as the middle button. The kernel driver morphs to the left
      button. The real handling of Clickpad is done rather in X driver
      side.
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      5f57d67d
  12. 07 1月, 2010 1 次提交
    • D
      Input: psmouse - fix Synaptics detection when protocol is disabled · e4e6efd2
      Daniel Drake 提交于
      For configurations where Synaptics hardware is present but the Synaptics
      extensions support is not compiled in, the mouse is reprobed and a new
      device is allocated on every suspend/resume.
      
      During probe, psmouse_switch_protocol() calls psmouse_extensions() with
      set_properties=1. This calls the dummy synaptics_init() which returns an
      error code, instructing us not to use the synaptics extensions.
      
      During resume, psmouse_reconnect() calls psmouse_extensions() with
      set_properties=0, in which case call to synaptics_init() is bypassed and
      PSMOUSE_SYNAPTICS is returned. Since the result is different from previous
      attempt psmouse_reconnect() fails and full re-probe happens.
      
      Fix this by tweaking the set_properties=0 codepath in psmouse_extensions()
      to be more careful about offering PSMOUSE_SYNAPTICS extensions.
      Signed-off-by: NDaniel Drake <dsd@laptop.org>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      e4e6efd2
  13. 04 12月, 2009 1 次提交
  14. 11 9月, 2009 1 次提交
  15. 20 6月, 2009 1 次提交
  16. 10 3月, 2007 1 次提交
  17. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4