Home | History | Annotate | Download | only in pckbport
History log of /src/sys/dev/pckbport/synapticsreg.h
RevisionDateAuthorComments
 1.14  10-Nov-2024  mlelstv Define 'query resolution' command and submodel capability field.
 1.13  03-Mar-2022  blymn branches: 1.13.10;

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  02-Jun-2019  blymn 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.11  22-Apr-2019  blymn Modify driver to use bits(3) to extract capabilities. Thanks to
Anon Ymous for the fix.
 1.10  14-Jul-2018  maya Send the 'magic reverse engineered sequence' with a single sliced command,
don't wait for individual ACKs. Fixes kern/53444.

While here:
- use better descriptive names for functions
- use a function for the extended write command
- add macro for number from the old synaptics documentation
- don't get the resp from the command sequence if we're going to ignore
it anyway

most from uwe.
 1.9  06-Nov-2017  blymn branches: 1.9.2; 1.9.4;
Add two finger support and middle/right button emulation.
 1.8  23-May-2014  christos PR/48831: J�rg Grundmann: Synaptics Touch pad (ClickPad) and
Klick-by-tap-gestures do not work
 1.7  10-Sep-2011  jakllsch branches: 1.7.12; 1.7.26;
Correct and improve some comments. Collect unused variables. Add a define.
 1.6  21-Mar-2010  plunky some definitions from the Linux driver (via PR kern/42853)
 1.5  17-Jan-2007  uwe branches: 1.5.44; 1.5.56; 1.5.66; 1.5.68;
Don't call queries "PS/2 commands", it's confusing.
Add queries to read mode and model id (not used yet).
Fix SYNAPTICS_CAP_EXTNUM - it's 3 bits [14:12], not 2.
 1.4  11-Dec-2005  christos branches: 1.4.20;
merge ktrace-lwp.
 1.3  27-Feb-2005  perry branches: 1.3.4;
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 synapticsreg.h was added on branch ktrace-lwp on 2005-01-17 19:31:51 +0000
 1.2.2.1  29-Apr-2005  kent sync with -current
 1.3.4.1  26-Feb-2007  yamt sync with head.
 1.4.20.1  01-Feb-2007  ad Sync with head.
 1.5.68.1  30-May-2010  rmind sync with head
 1.5.66.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.5.56.1  20-Nov-2010  riz Pull up following revision(s) (requested by plunky in ticket #1383):
sys/dev/pckbport/synapticsreg.h: revision 1.6
sys/dev/pckbport/synaptics.c: revision 1.22
sys/dev/pckbport/synaptics.c: revision 1.23
sys/dev/pckbport/synaptics.c: revision 1.24
some definitions from the Linux driver (via PR kern/42853)
Extended capability probes can confuse the passthrough device,
reset the touchpad on enable to cure that.
send the SET_SCALE11 command before the 'sliced' command as per the
Linux driver (and elantech(4)), via PR kern/42853
 1.5.44.1  11-Aug-2010  yamt sync with head.
 1.7.26.1  10-Aug-2014  tls Rebase.
 1.7.12.2  03-Dec-2017  jdolecek update from HEAD
 1.7.12.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.9.4.1  10-Jun-2019  christos Sync with HEAD
 1.9.2.1  28-Jul-2018  pgoyette Sync with HEAD
 1.13.10.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed