Home | History | Annotate | Download | only in pckbport
History log of /src/sys/dev/pckbport/synapticsvar.h
RevisionDateAuthorComments
 1.14  01-Apr-2022  blymn Fix regression introduced when fixing PR kern/56613 and related tweaks

* A trackpad with external buttons needs to mask a number of lower bits
of the X and Y coordinates IFF a button is down. This was not being
done so a button held down looked like an out of range packet and
was therefore dropped.

* Now that trackpads are probed for their boundaries make the emulated
button boundary settable by a percentage, also allow the right and
bottom boundaries to be adjusted by a percentage to allow for
horizontal and vertical scroll regions.
 1.13  03-Mar-2022  blymn Fix for PR kern/56613

* For trackpads that report max and min coordinates, retrieve these and
use them as the boundaries instead of the hard coded limits.
* Drop packets that are have x/y values that are outside the limits of
the trackpad. Some trackpads report a stream of low values in some
situations that cause cursor jumping.
 1.12  21-Oct-2021  blymn Significant update to the synaptics touchpad driver.

* Accumulate packets for primary, secondary, finger count packets
before handing off to pms_synaptics_process_packet. This means
that both primary and, possibly, secondary finger locations will
be processed at the same time. Previously the processing each
packet as it arrived.

* Fix the secondary finger position reporting, there was an off by
one in the shifts when decoding which effectively halved the
reported position.

* For a clickpad, make the emulated button region "dead" so that finger
movements in this region are ignored. This makes it easier to click
a button without accidentally repositioning the cursor. There is a
sysctl variable "button_region_movement_enable" that will allow
these finger movements to be reported if this is desirable.

* Reset the finger ballistics when the number of fingers changes. This
stops the annoying position jumps when a second finger touch is added
to or removed from the touchpad.

* Add a level argument to the DPRINTF macro so one can choose their
level of debug spam via the debug sysctl variable.
 1.11  30-Jun-2021  blymn Fix hardcoded size for total_patckets array in synaptics_softc, it
needs to be SYN_MAX_FINGERS because the driver expects it to be.
 1.10  27-Apr-2020  jmcneill branches: 1.10.6;
Extended buttons are reported separate from touchpad buttons, so track
button press / release state separate from touch events.
 1.9  02-Jun-2019  blymn branches: 1.9.2;
Changes based on code from an anonymous contributor. This should make
trackpads work for Thinkpads. Also adds code to handle externally
connected buttons (synaptics parlance), the first five are mapped to
mouse buttons 1-5. The rest are currently not reported but could be
decoded if required.
 1.8  06-Nov-2018  blymn Add double finger scroll feature. If the detected width is between a
defined range then report y movement as z-axis. Effectively emulating
a mouse scroll wheel.
 1.7  06-Nov-2017  blymn branches: 1.7.2; 1.7.4;
Add two finger support and middle/right button emulation.
 1.6  23-May-2014  christos PR/48831: J�rg Grundmann: Synaptics Touch pad (ClickPad) and
Klick-by-tap-gestures do not work
 1.5  10-Sep-2011  jakllsch branches: 1.5.12; 1.5.26;
Correct and improve some comments. Collect unused variables. Add a define.
 1.4  11-Dec-2005  christos merge ktrace-lwp.
 1.3  27-Feb-2005  perry nuke trailing whitespace
 1.2  02-Jan-2005  scw branches: 1.2.2; 1.2.4; 1.2.6;
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. ;-)
 1.1  24-Dec-2004  christos PR/28774: Kentaro A. Kurahone: Add synaptics touchpad driver
 1.2.6.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.2.4.3  04-Mar-2005  skrll Sync with HEAD.

Hi Perry!
 1.2.4.2  17-Jan-2005  skrll Sync with HEAD.
 1.2.4.1  02-Jan-2005  skrll file synapticsvar.h was added on branch ktrace-lwp on 2005-01-17 19:31:52 +0000
 1.2.2.1  29-Apr-2005  kent sync with -current
 1.5.26.1  10-Aug-2014  tls Rebase.
 1.5.12.2  03-Dec-2017  jdolecek update from HEAD
 1.5.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.7.4.1  10-Jun-2019  christos Sync with HEAD
 1.7.2.1  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.9.2.1  28-Apr-2020  martin Pull up following revision(s) (requested by jmcneill in ticket #863):

sys/dev/pckbport/synaptics.c: revision 1.65
sys/dev/pckbport/synapticsvar.h: revision 1.10

Extended buttons are reported separate from touchpad buttons, so track
button press / release state separate from touch events.
 1.10.6.1  01-Aug-2021  thorpej Sync with HEAD.

RSS XML Feed