www.nico.schottelius.org/software/gpm/browse_source/gpm-1.99.7/doc/drivers/README.synaptics

346 lines
16 KiB
Text
Raw Normal View History

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).