kernel patch for Synaptics Touchpads

Jason Kuri jay at oneway.com
Fri Dec 24 10:54:48 PST 2004


Hello everyone,

I've spent the last few days tweaking psm.c to better support the
synaptics touchpad in my Acer laptop.  I now have it to a point that
I'm happy with it, and since I've seen a fair amount of interest in the
synaptics touchpad on this list - I figured I'd share the patch with
anyone who wants it.

This patch adds extended button support ( on mine the scroll-button is
now fully supported both horizontal and vertical).  It also adds
sysctl's to control tapping thresholds (allows you to turn tapping off
/ make it harder to 'accidentally' tap).  Finally - it helps with the
'sticking' problem with the current driver - Low speed movements work
better.

The patch is against 1.79.2.2 psm.c (what is in 5.3-RELEASE) and is
available here:

http://oneway.com/hx/psm-synaptics.diff

I tried to set reasonable defaults, below are the tunable parameters:

hw.psm.psm_tap_threshold -
		Touchpad tap threshold - the higher this number - the harder it is to
tap.  120+ effectively turns off tapping.

hw.psm.psm_tap_timeout -
		Touchpad timeout - how long we have to wait between mouse movement
and a tap before a tap is registered as a click.

hw.psm.synaptics_directional_scrolls -
	 	if non-zero, the directional pad scrolls, otherwise all buttons
register as a middle-click.

hw.psm.synaptics_low_speed_threshold -
		the number of touchpad units below-which we go into low-speed
tracking mode.

hw.psm.synaptics_min_movement -
		the number of touchpad units below which we ignore altogether.

hw.psm.synaptics_squelch_level -
		level at which we squelch movement packets.  This effectively sends 1
out of every
  synaptics_squelch_level packets when running in low-speed mode.

sysctl hw.psm will show the defaults, which seem just about right on my
laptop.

Jay



More information about the freebsd-mobile mailing list