Provided by: xfree86-driver-synaptics_0.14.4-1_i386 bug

NAME

       synaptics - Synaptics touchpad driver for XOrg/XFree86.

INTRODUCTION

       This  is  a  driver for the Synaptics TouchPad for XOrg/XFree86 4.x.  A
       Synaptics  touchpad  by  default  operates  in  compatibility  mode  by
       emulating a standard mouse.  However, by using a dedicated driver, more
       advanced features of the touchpad becomes available, such as:

       ·   Movement with adjustable, non-linear acceleration and speed.

       ·   Button events through short touching of the touchpad.

       ·   Double-Button events through double short touching of the touchpad.

       ·   Dragging  through short touching and holding down the finger on the
           touchpad.

       ·   Middle and right button events on the upper and lower corner of the
           touchpad.

       ·   Vertical scrolling (button four and five events) through moving the
           finger on the right side of the touchpad.

       ·   The up/down button sends button four/five events.

       ·   Horizontal scrolling (button six and seven events)  through  moving
           the finger on the lower side of the touchpad.

       ·   The  multi-buttons  send  button  four/five  events,  and six/seven
           events for horizontal scrolling.

       ·   Adjustable finger detection.

       ·   Multifinger taps: two finger for middle button and three finger for
           right  button  events.   (Needs  hardware  support.  Not all models
           implement this feature.)

       ·   Run-time configuration using shared  memory.  This  means  you  can
           change parameter settings without restarting the X server.

       Note  that  depending  on the touchpad firmware, some of these features
       might be available even without using the synaptics driver.  Note  also
       that  some  functions are not available on all touchpad models, because
       they need support from  the  touchpad  hardware/firmware.  (Multifinger
       taps for example.)

DESCRIPTION

       The   driver   behavior  can  be  configured  with  parameters.   These
       parameters are options in the InputDevice section in  the  XOrg/XFree86
       config  file.  See the INSTALL file for a working example.  If you have
       the SHMConfig parameter enabled, these parameters can also  be  changed
       at runtime with the synclient(1) program.  The following parameters are
       available:

       Device (String)
              Synaptics device.

       Protocol (String)

              auto-dev   automatic, default

              psaux      raw
              event      linux 2.6 kernel events
              psm        FreeBSD psm driver

       SHMConfig (Bool)
              Switch on/off shared memory for configuration.

       LeftEdge (Integer)
              X coordinate for left edge.

       RightEdge (Integer)
              X coordinate for right edge.

       TopEdge (Integer)
              Y coordinate for top edge.

       BottomEdge (Integer)
              Y coordinate for bottom edge.

       FingerLow (Integer)
              When finger pressure drops below this value, the  driver  counts
              it as a release.

       FingerHigh (Integer)
              When finger pressure goes above this value, the driver counts it
              as a touch.

       MaxTapTime (Integer)
              Maximum time (in milliseconds) for detecting a tap.

       MaxTapMove (Integer)
              Maximum movement of the finger for detecting a tap.

       MaxDoubleTapTime (Integer)
              Maximum time (in milliseconds) for detecting a double tap.

       ClickTime (Integer)
              The duration of the mouse click generated by tapping.

       FastTaps (Bool)
              Makes the driver react faster to a single tap,  but  also  makes
              double clicks caused by double tapping slower.

       VertScrollDelta (Integer)
              Move distance of the finger for a scroll event.

       HorizScrollDelta (Integer)
              Move distance of the finger for a scroll event.

       EdgeMotionMinZ (Integer)
              Finger pressure at which minimum edge motion speed is set.

       EdgeMotionMaxZ (Integer)
              Finger pressure at which maximum edge motion speed is set.

       EdgeMotionMinSpeed (Integer)
              Slowest setting for edge motion speed.

       EdgeMotionMaxSpeed (Integer)
              Fastest setting for edge motion speed.

       EdgeMotionUseAlways (Bool)
              If  on,  edge motion is also used for normal movements.  If off,
              egde motion is used only when dragging.

       Repeater (String)
              Repeater device.

       MinSpeed (Float)
              Minimum speed factor.

       MaxSpeed (Float)
              Maximum speed factor.

       AccelFactor (Float)
              Acceleration factor.

       UpDownScrolling (Bool)
              If on, the up/down buttons generate button 4/5 events.  If  off,
              the  up  button  generates  a  double  click and the down button
              generates a button 2 event.

       LeftRightScrolling (Bool)
              If on, the left/right buttons generate button  6/7  events.   If
              off, the left/right buttons both generate button 2 events.

       UpDownRepeat (Bool)
              If   on,   and  the  up/down  buttons  are  used  for  scrolling
              (UpDownScrolling), these buttons will  send  auto-repeating  4/5
              events,   with   the   delay   between   repeats  determined  by
              ScrollButtonRepeat.

       LeftRightRepeat (Bool)
              If on,  and  the  left/right  buttons  are  used  for  scrolling
              (LeftRightScrolling), these buttons will send auto-repeating 6/7
              events,  with  the   delay   between   repeats   determined   by
              ScrollButtonRepeat.

       ScrollButtonRepeat (Integer)
              The  number of milliseconds between repeats of button events 4-7
              from the up/down/left/right scroll buttons.

       EmulateMidButtonTime (Integer)
              Maximum time (in milliseconds) for middle button emulation.

       TouchpadOff (Integer)
              Switch off the touchpad.  Valid values are:

              0   Touchpad is enabled
              1   Touchpad is switched off
              2   Only tapping and scrolling is switched off

       GuestMouseOff (Bool)
              Switch on/off guest mouse (often a stick).

       LockedDrags (Bool)
              If off, a tap and drag gesture ends when you release the finger.
              If on, the gesture is active until you tap a second time.

       RTCornerButton (Integer)
              Which  mouse  button is reported on a right top corner tap.  Set
              to 0 to disable.

       RBCornerButton (Integer)
              Which mouse button is reported on a  right  bottom  corner  tap.
              Set to 0 to disable.

       LTCornerButton (Integer)
              Which mouse button is reported on a left top corner tap.  Set to
              0 to disable.

       LBCornerButton (Integer)
              Which mouse button is reported on a left bottom corner tap.  Set
              to 0 to disable.

       TapButton1 (Integer)
              Which  mouse  button is reported on a non-corner one-finger tap.
              Set to 0 to disable.

       TapButton2 (Integer)
              Which mouse button is reported on a non-corner  two-finger  tap.
              Set to 0 to disable.

       TapButton3 (Integer)
              Which mouse button is reported on a non-corner three-finger tap.
              Set to 0 to disable.

       CircularScrolling (Bool)
              If on, circular scrolling is used.

       CircScrollDelta (Float)
              Move angle (radians) of finger to generate a scroll event.

       CircScrollTrigger (Integer)
              Trigger region on the touchpad to start circular scrolling

              0   All Edges
              1   Top Edge
              2   Top Right Corner
              3   Right Edge
              4   Bottom Right Corner
              5   Bottom Edge
              6   Bottom Left Corner
              7   Left Edge
              8   Top Left Corner

       CircularPad (Bool)
              Instead of being a rectangle, the edge is the  ellipse  enclosed
              by   the  Left/Right/Top/BottomEdge  parameters.   For  circular
              touchpads.

       PalmDetect (Bool)
              If palm detection  should  be  enabled.   Note  that  this  also
              requires hardware/firmware support from the touchpad.

       PalmMinWidth (Integer)
              Minimum finger width at which touch is considered a palm.

       PalmMinZ (Integer)
              Minimum finger pressure at which touch is considered a palm.

       CoastingSpeed (Float)
              Coasting threshold scrolling speed.  0 disables coasting.

       The  LeftEdge, RightEdge, TopEdge and BottomEdge parameters are used to
       define the edge and corner areas of the touchpad.  The parameters split
       the touchpad area in 9 pieces, like this:

             |             |
             | LeftEdge    | RightEdge
       +-----+-------------+---+ Physical top edge
       | 1   |      2      | 3 |
       +-----+-------------+---+ TopEdge
       |     |             |   |
       | 4   |      5      | 6 |
       |     |             |   |
       +-----+-------------+---+ BottomEdge
       | 7   |      8      | 9 |
       +-----+-------------+---+ Physical bottom edge
       |Physical left edge     | Physical right edge

       Coordinates to the left of LeftEdge are part of the left edge (areas 1,
       4 and 7), coordinates to the left of LeftEdge and above  TopEdge  (area
       1)  are  part  of  the  upper  left  corner,  etc.   A good way to find
       appropriate edge parameters is to enable the SHMConfig option  and  run
       "synclient  -m 1" to see the x/y coordinates corresponding to different
       positions on the touchpad.

       A tap event happens when the finger is touched and released in  a  time
       interval shorter than MaxTapTime, and the touch and release coordinates
       are less than MaxTapMove units apart.  A "touch" event happens when the
       Z  value goes above FingerHigh, and an "untouch" event happens when the
       Z value goes below FingerLow.

       The MaxDoubleTapTime parameter has the same function as the  MaxTapTime
       parameter,  but  for  the second, third, etc tap in a tap sequence.  If
       you can’t perform double clicks fast enough (for example, xmms  depends
       on  fast double clicks), try reducing this parameter.  If you can’t get
       word selection to work in xterm (ie  button  down,  button  up,  button
       down, move mouse), try increasing this parameter.

       The  ClickTime parameter controls the delay between the button down and
       button up X events generated in response to a tap event.   A  too  long
       value  can  cause undesirable autorepeat in scroll bars and a too small
       value means that visual feedback  from  the  gui  application  you  are
       interacting with is harder to see.

       The  MinSpeed,  MaxSpeed and AccelFactor parameters control the pointer
       motion speed.  The speed value defines  the  scaling  between  touchpad
       coordinates  and  screen  coordinates.   When  moving  the  finger very
       slowly, the MinSpeed value is used, when moving very fast the  MaxSpeed
       value  is  used.   When  moving the finger at moderate speed, you get a
       pointer motion speed somewhere between MinSpeed and MaxSpeed.   If  you
       don’t  want  any  acceleration,  set  MinSpeed and MaxSpeed to the same
       value.

       The MinSpeed, MaxSpeed and AccelFactor parameters don’t have any effect
       on  scrolling  speed.   Scrolling  speed  is determined solely from the
       VertScrollDelta and HorizScrollDelta parameters.  To  disable  vertical
       or  horizontal  scrolling,  set  VertScrollDelta or HorizScrollDelta to
       zero.

       When hitting an egde, movement  can  be  automatically  continued.   If
       EdgeMotionUseAlways  is  false, edge motion is only used when dragging.
       With EdgeMotionUseAlways set to true, it is also used for normal cursor
       movements.

       Edge  motion  speed  is calculated by taking into account the amount of
       pressure applied to the touchpad.   The  sensitivity  can  be  adjusted
       using   the   EdgeMotion   parameters.    If   the  pressure  is  below
       EdgeMotionMinZ, EdgeMotionMinSpeed is used,  and  if  the  pressure  is
       greater   than  EdgeMotionMaxZ,  EdgeMotionMaxSpeed  is  used.   For  a
       pressure value between EdgeMotionMinZ and EdgeMotionMaxZ, the speed  is
       increased linearly.

       Since   most  synaptics  touchpad  models  don’t  have  a  button  that
       corresponds to the middle button on a mouse,  the  driver  can  emulate
       middle mouse button events.  If you press both the left and right mouse
       buttons at almost the same  time  (no  more  than  EmulateMidButtonTime
       milliseconds apart) the driver generates a middle mouse button event.

       Circular  scrolling  acts  like  a  scrolling  wheel  on  the trackpad.
       Scrolling is engaged when a drag starts in the given  CircScrollTrigger
       region,  which  can  be  all  edges, a particular side, or a particular
       corner.  Once scrolling is engaged, moving  your  finger  in  clockwise
       circles  around  the  trackpad  will  generate  scroll  down events and
       counter clockwise scroll up events.  Lifting your finger will disengage
       circular  scrolling.   Use tight circles near the center of the pad for
       fast scrolling  and  large  circles  for  better  control.   When  used
       together  with  vertical  scrolling,  hitting  the upper or lower right
       corner will seamlessly switch over from vertical to circular scrolling.

       Coasting  is  enabled  by setting the CoastingSpeed parameter to a non-
       zero value.  When coasting is  enabled,  horizontal/vertical  scrolling
       can  continue after the finger is released from the lower/right edge of
       the touchpad.  The driver computes the scrolling speed corresponding to
       the finger speed immediately before the finger leaves the touchpad.  If
       this  scrolling  speed  is  larger  than  the  CoastingSpeed  parameter
       (measured  in  scroll  events  per second), the scrolling will continue
       with the same speed in the same direction until the finger touches  the
       touchpad again.

AUTHORS

       Peter Osterlund <petero2@telia.com> and many others.

SEE ALSO

       synclient(1), syndaemon(1)

                                    0.14.4                        synaptics(5)