Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: src/sys/dev/pckbport



Module Name:    src
Committed By:   scw
Date:           Sun Jan  2 22:37:12 UTC 2005

Modified Files:
        src/sys/dev/pckbport: synaptics.c synapticsreg.h synapticsvar.h

Log Message:
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. ;-)


To generate a diff of this commit:
cvs rdiff -r1.2 -r1.3 src/sys/dev/pckbport/synaptics.c
cvs rdiff -r1.1 -r1.2 src/sys/dev/pckbport/synapticsreg.h \
    src/sys/dev/pckbport/synapticsvar.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index