345 lines
		
	
	
	
		
			16 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			345 lines
		
	
	
	
		
			16 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
This README describes the support for the Synaptics ToucPads.
 | 
						|
 | 
						|
In addition to translating finger motion into mouse motion and supporting
 | 
						|
the buttons, this support currently has several features:
 | 
						|
   - a "tap" on the TouchPad causes a left mouse click
 | 
						|
   - a "tap" followed quickly by a finger motion causes a
 | 
						|
     left button drag type action.
 | 
						|
   - a "tap" in one of the corners causes an action
 | 
						|
     the default configuration is upper right causes middle mouse click
 | 
						|
     and lower right causes right mouse click
 | 
						|
   - more pressure on the touch pad speeds the motion of the cursor
 | 
						|
   - a "tap" with a motion component (default > 2mm) initiates a
 | 
						|
     toss and catch sequence.  This is terminated by a finger touch
 | 
						|
     on the pad (the toss also ends after 1 sec since that is the 
 | 
						|
     idle timeout period for the touchpad).
 | 
						|
   - if the finger moves close to an edge then the mouse motion will
 | 
						|
     be continued in that direction so that you don't need to pick up
 | 
						|
     your finger and start moving again.  This continued motion is
 | 
						|
     pressure sensitive (more pressure is faster motion).
 | 
						|
   - Scrolling by putting the finger at the edge, an dmoving up or down.
 | 
						|
   - Recognition of Stick.
 | 
						|
   - Multi fingers are recognized to to stop erradic motions, and to change
 | 
						|
     which mouse button is reported. 
 | 
						|
   - Palm detection so the palm does not move the mouse.
 | 
						|
 | 
						|
These features can be enabled/disabled and many of them have time and speed
 | 
						|
parameters which can be adjusted to the taste of the user.  These parameters
 | 
						|
can be provided in the "/usr/etc/gpm-syn.conf" file (or
 | 
						|
/usr/local/etc/gpm-syn.conf, or /etc/gpm-syn.conf, according to how you ran
 | 
						|
configure).  Each line in this file has the following syntax: [param-name]
 | 
						|
<value>
 | 
						|
 | 
						|
Where param-name is one of the following
 | 
						|
 | 
						|
  param-name                     value     description
 | 
						|
  ======================         =====     ===========
 | 
						|
  /* feature enable configuration values all default to 1 (TRUE) */
 | 
						|
  /* flags are true if the first char of the value is in the string "YyTt1" */
 | 
						|
  /* flags are false if the first char of the value is in the string "NnFf0" */
 | 
						|
  edge_motion_enabled            flag      is edge motion enabled
 | 
						|
  edge_motion_speed_enabled      flag      does pressure control
 | 
						|
                                           speed of edge motion
 | 
						|
  corner_taps_enabled            flag      are corner taps enabled
 | 
						|
  tap_gesture_enabled            flag      are taps gesture enabled
 | 
						|
  pressure_speed_enabled         flag      does pressure control
 | 
						|
                                           speed in non edges
 | 
						|
  tossing_enabled                flag      is toss/catch enabled
 | 
						|
  does_toss_use_static_speed     flag      is toss/catch speed
 | 
						|
                                           based on toss dist
 | 
						|
 | 
						|
  /* pressure induced speed related configuration constants */
 | 
						|
  low_pressure                   0-255     the lowest pressure which triggers
 | 
						|
                                           speed processing.  If this is less 
 | 
						|
                                           than speed_up_pressure then the
 | 
						|
                                           motion is slowed down.  When the 
 | 
						|
                                           pad pressure is between these 
 | 
						|
                                           values.
 | 
						|
 | 
						|
                                           The default value is 60
 | 
						|
 | 
						|
                                           pressure is described by
 | 
						|
                                           Synaptics as follows:
 | 
						|
                                             0  : no finger contact
 | 
						|
                                             10 : hovering NEAR pad surface
 | 
						|
                                             30 : very light finger contact
 | 
						|
                                             80 : normal finger contact
 | 
						|
                                             110: very heavy finger contact
 | 
						|
                                             200: finger lying flat on surface
 | 
						|
                                             255: whole palm on pad surface
 | 
						|
 | 
						|
  speed_up_pressure              0-255     the lowest pressure at which speed
 | 
						|
                                           is increased.  If the pad pressure
 | 
						|
                                           is less than this value then the
 | 
						|
                                           motion will bs slowed down.  If
 | 
						|
                                           greater, then the motion will be
 | 
						|
                                           sped up.
 | 
						|
 | 
						|
                                           The default value is 60
 | 
						|
 | 
						|
  pressure_factor                float     the multiplicative factor applied
 | 
						|
                                           to the pressure difference to
 | 
						|
                                           be applied to the speed.  This
 | 
						|
                                           is used as follows:
 | 
						|
                                           1 + pf * (press - speed_up)
 | 
						|
                                           The difference in pressure between
 | 
						|
                                           the measured pressure and the speed
 | 
						|
                                           up pressure is multiplied by this
 | 
						|
                                           value which is then applied to the
 | 
						|
                                           nominal mouse speed.
 | 
						|
 | 
						|
                                           The default value is 0.05
 | 
						|
 | 
						|
  standard_speed_factor          float     the standard speed factor used to
 | 
						|
                                           scale touchpad deltas into mouse
 | 
						|
                                           deltas.  The touchpads have 
 | 
						|
                                           resolutions in the 1000 points/inch
 | 
						|
                                           range (much more detail than a 
 | 
						|
                                           mouse).
 | 
						|
 | 
						|
                                           The default value is 0.08
 | 
						|
 | 
						|
  /* toss/catch related constants */
 | 
						|
  min_toss_time                  msec      This number specifies the minimum
 | 
						|
                                           finger contact time which is to
 | 
						|
                                           be considered a toss 
 | 
						|
                                           (in milliseconds).
 | 
						|
 | 
						|
                                           The default value is 100 (0.1 sec)
 | 
						|
 | 
						|
  max_toss_time                  msec      This number specifies the maximum
 | 
						|
                                           finger contact time which is to
 | 
						|
                                           be considered a toss 
 | 
						|
                                           (in milliseconds).
 | 
						|
 | 
						|
                                           The default value is 300 (0.3 sec)
 | 
						|
 | 
						|
  prevent_toss_time              msec      This number specifies the minimum
 | 
						|
                                           finger release time after a toss
 | 
						|
                                           is terminated before reacting to 
 | 
						|
                                           taps (in milliseconds).  This 
 | 
						|
                                           prevents the "catch" tap from 
 | 
						|
                                           causing a mouse button tap.
 | 
						|
 | 
						|
                                           The default value is 300 (0.3 sec)
 | 
						|
 | 
						|
  min_toss_dist                  mm        This number specifies the minimum
 | 
						|
                                           finger move distance which is to
 | 
						|
                                           be considered a toss 
 | 
						|
                                           (in millieters).
 | 
						|
 | 
						|
                                           The default value is 2
 | 
						|
 | 
						|
  static_toss_speed              int       If does_toss_use_static_speed is
 | 
						|
                                           1 (TRUE) then this specifies the 
 | 
						|
                                           speed to be used.
 | 
						|
 
 | 
						|
                                           The default value is 70
 | 
						|
 | 
						|
  toss_speed_factor              float     This is a multiplier against the
 | 
						|
                                           toss distance in touchpad units
 | 
						|
                                           used to scale the distance to a
 | 
						|
                                           speed.
 | 
						|
 | 
						|
                                           The default value is 0.5
 | 
						|
 | 
						|
  /* edge motion related configuration constants */
 | 
						|
  edge_speed                     int       This is the nominal speed for 
 | 
						|
                                           use when in the edge regions.
 | 
						|
 | 
						|
                                           The defalt value is 20
 | 
						|
 | 
						|
  /* corner tap actions */
 | 
						|
  upper_left_action              int       This is the mouse button which 
 | 
						|
                                           will be activated on a tap in
 | 
						|
                                           the upper left corner of the 
 | 
						|
                                           touchpad.
 | 
						|
 
 | 
						|
                                             0: None
 | 
						|
                                             1: Left
 | 
						|
                                             2: Middle
 | 
						|
                                             3: Right
 | 
						|
					     4: Fourth
 | 
						|
					     5: Up
 | 
						|
					     6: Down
 | 
						|
					     7: Toggle pad on/off
 | 
						|
 | 
						|
                                           The default value is 0 (none)
 | 
						|
 | 
						|
  upper_right_action             int       This is the mouse button which 
 | 
						|
                                           will be activated on a tap in
 | 
						|
                                           the upper right corner of the 
 | 
						|
                                           touchpad.
 | 
						|
 | 
						|
                                           The default value is 2 (middle)
 | 
						|
 | 
						|
  lower_left_action              int       This is the mouse button which 
 | 
						|
                                           will be activated on a tap in
 | 
						|
                                           the lower left corner of the 
 | 
						|
                                           touchpad.
 | 
						|
 | 
						|
                                           The default value is 0 (none)
 | 
						|
 | 
						|
  lower_right_action             int       This is the mouse button which 
 | 
						|
                                           will be activated on a tap in
 | 
						|
                                           the lower right corner of the 
 | 
						|
                                           touchpad.
 | 
						|
 | 
						|
                                           The default value is 3 (right)
 | 
						|
 | 
						|
  /* wmode parameters */
 | 
						|
  wmode_enabled                  flag      This is to enable the wmode of
 | 
						|
                                           Synaptics touchpad which
 | 
						|
					   supports more configurable
 | 
						|
					   options and buttons.
 | 
						|
 | 
						|
					   The default value is 1 (enabled)
 | 
						|
 | 
						|
  drag_lock_enabled              flag      Whether to enable drag lock,
 | 
						|
                                           that is, do not break a drag
 | 
						|
					   until next tap even when the
 | 
						|
					   finger is off the pad.
 | 
						|
 | 
						|
					   The default value is 0 (disable)
 | 
						|
					   
 | 
						|
  finger_threshold               int       The threshold of the pressure
 | 
						|
                                           reading to consider the finger
 | 
						|
					   is on the pad.
 | 
						|
 | 
						|
					   The default value is 30
 | 
						|
 | 
						|
  tap_lower_limit                msec      The lower bound of finger
 | 
						|
                                           contact time to be considerred
 | 
						|
					   a tap.
 | 
						|
 | 
						|
					   The default value is 5 (0.005 sec)
 | 
						|
					   
 | 
						|
  tap_upper_limit                msec      The upper bound of finger
 | 
						|
                                           contact time to be considerred
 | 
						|
					   a tap.
 | 
						|
 | 
						|
					   The default value is 200 (0.2 sec)
 | 
						|
					   
 | 
						|
  tap_range                      int       The maximum displacement of
 | 
						|
                                           finger contact to be considered
 | 
						|
					   a tap.
 | 
						|
 | 
						|
					   The default value is 100 (0.1 sec)
 | 
						|
 | 
						|
  tap_interval			 msec      The time length of button press
 | 
						|
                                           generated when a tap is
 | 
						|
					   recognized, which is also the
 | 
						|
					   time within which further
 | 
						|
					   finger contact will be consider
 | 
						|
					   a drag (or multiple click, if
 | 
						|
					   it's also a tap).
 | 
						|
					   
 | 
						|
					   The default value is 200 (0.2 sec)
 | 
						|
 | 
						|
  pads_tap_interval              int       Equivalent to tap_interval, but the
 | 
						|
                                           pads interval. Used when wmode is
 | 
						|
                                           disabled and multi finger is enabled.
 | 
						|
 | 
						|
					   The default value is 8.
 | 
						|
 | 
						|
 | 
						|
  multiple_tap_delay             msec      Break length between button
 | 
						|
                                           presses when generating multiple
 | 
						|
					   click.
 | 
						|
 | 
						|
					   The default value is 30 (0.03 sec)
 | 
						|
  
 | 
						|
  
 | 
						|
  palm_detect_enabled            flag      This enables the palm detection in
 | 
						|
                                           the pad so a palm does no move the
 | 
						|
                                           mouse. Actually this is the width of
 | 
						|
                                           the finger on the pad.
 | 
						|
 | 
						|
					   The default value is 1 (enabled)
 | 
						|
					   
 | 
						|
  palm_detect_level              int       At what palm detection level should
 | 
						|
					   the pad be ignored? Value should be
 | 
						|
					   between 0-11, where 11 is a full palm
 | 
						|
					   at pad, and 0 is a normal finger
 | 
						|
					   size.
 | 
						|
 | 
						|
					   Default value is 12 (meaning disabled).
 | 
						|
 | 
						|
 | 
						|
  multi_finger_tap_enable        flag      This enables the ability to use 2
 | 
						|
                                           and 3 fingers during a tap, to press
 | 
						|
					   right and middle button
 | 
						|
                                           respectively. The detection is not
 | 
						|
                                           100% perfect. If the pad supports
 | 
						|
                                           finger detection, its values are used.
 | 
						|
					   
 | 
						|
					   The default value is 1 (enabled)
 | 
						|
 | 
						|
 | 
						|
  multi_finger_stop_enabled      flag      When more than one finger is one the
 | 
						|
                                           pad, an average value (weighted with
 | 
						|
                                           the the pressure) between the
 | 
						|
                                           fingers is reported. This gives
 | 
						|
                                           erradic movements when adding
 | 
						|
                                           or removing fingers, or when just
 | 
						|
                                           accidental touches the pad. This
 | 
						|
					   option stops the mouse movement for
 | 
						|
                                           a given time, to let the movement settle.
 | 
						|
					   
 | 
						|
					   The default value is 1 (enabled).
 | 
						|
 | 
						|
 | 
						|
  multi_finger_stop_delay        Int       Number of packets that should be
 | 
						|
                                           ignored when adding or removing an
 | 
						|
                                           additional finger to stop erradic
 | 
						|
                                           movements.  
 | 
						|
 | 
						|
					   The default value is 8.
 | 
						|
 | 
						|
 | 
						|
  /* Additional options */
 | 
						|
  touch_pad_enabled              flag      This will stop the interpreting of
 | 
						|
                                           the touchpad (thought not the stick
 | 
						|
					   if any). As such not that usefull,
 | 
						|
					   but in a combination  with a
 | 
						|
					   corner toggle on/off, this may
 | 
						|
					   come useful. A corner tap is
 | 
						|
					   interpretated if it turns the pad on.
 | 
						|
 | 
						|
					   The default value is 1 (enabled).
 | 
						|
  
 | 
						|
  stick_enabled                   flag     Some touchpads have an additional
 | 
						|
					   stick which uses the same port. This
 | 
						|
					   is an attempt to enable the use
 | 
						|
					   while using the touchpad.
 | 
						|
					   
 | 
						|
					   The default value is 1 (enabled).
 | 
						|
 | 
						|
 | 
						|
  scrolling_enabled               flag     This enables the scrolling gesture,
 | 
						|
					   which emulates the wheel on a wheel
 | 
						|
					   mouse. Putting the finger on the
 | 
						|
					   edge and moving it up and down, is
 | 
						|
					   eqvivalent with rolling the wheel up
 | 
						|
					   and down.
 | 
						|
 | 
						|
					   The default value is 1 (enabled).
 | 
						|
					   
 | 
						|
 | 
						|
  scrolling_edge                  int      This decides which edge(s) starts
 | 
						|
					   the scrolling gesture. Legal values
 | 
						|
					   are (added if more than one edge):
 | 
						|
					   
 | 
						|
					    1: Left edge
 | 
						|
					    2: Right edge
 | 
						|
					    4: Top edge
 | 
						|
					    5: Bottom edge
 | 
						|
 | 
						|
					   The default value is 2 (Right edge).
 | 
						|
 | 
						|
 | 
						|
  auto_scrolling_enabled          flag     This enables whether to keep
 | 
						|
					   scrolling if the finger moves to the
 | 
						|
					   top or bottom edge.
 | 
						|
 | 
						|
					   The default value is 1 (enabled).
 |