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). 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, according to how you ran configure). Each line in this file has the following syntax: [param-name] 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 taps_enabled flag are taps 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) toss_cleanup_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 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 */ use_wmode flag This is to enable the wmode of Synaptics touchpad which supports more configurable options and buttons. 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) drag_lock 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) multiple_click_delay msec Break length between button presses when generating multiple click. The default value is 30 (0.03 sec) .