Commit Graph

3 Commits

Author SHA1 Message Date
scw 71d14cde75 Major re-write of the recently-committed Synaptics Touchpad driver,
prompted by jittery and/or random movement during tap gestures, lack
of edge motion, and a general desire to make use of the extra features
available with the native protocol.

 - Ditch the kernel thread; it was overkill for the small amount of
   processing required to deal with touchpad events.

 - If we fail to probe a Synaptics touchpad, issue a RESET command
   to ensure that whatever device is out there is left in a sane
   state (thanks to Reinoud Zandijk for the hint).

 - Completely re-write gesture support.

 - Put the touchpad in 80 packets per second mode and count them so
   they can be used to time gesture durations (instead of using
   mono_time).

 - Enhance up/down button support with options to use them to emulate
   the middle button or Z-axis events (like a traditional wheel mouse).

 - Add 'edge motion'. If a drag gesture is in progress, and the reported
   finger position moves to the touchpad's border region, continue
   to report movement events at a fixed rate as if the finger carried
   on moving in the same direction. This restores some functionality
   usually provided by the touchpad's firmware in PS/2 mode.

 - Filter successive movement events to reduce jitter. When scaling
   movement events, fold the remainder into the next event to prevent
   loss of information during slow/small finger movements. Pointer
   movement is now much more refined.

 - Add support for touchpads which can report more than one finger on
   the pad simultaneously. Optionally use this feature for middle/right
   button emulation (i.e. tap two fingers to emulate middle button).
   This feature is disabled by default (for now) to avoid surprise
   pasting of clipboard text. ;-)
2005-01-02 22:37:12 +00:00
christos ef8015e649 - cleanup some debugging stuff.
- don't create the sysctl nodes if we don't have a synaptics pad.
2004-12-28 20:47:18 +00:00
christos 81e1a623a6 PR/28774: Kentaro A. Kurahone: Add synaptics touchpad driver 2004-12-24 18:33:06 +00:00