Provided by: xserver-xorg-input-synaptics_0.15.2-0ubuntu7_i386 bug

NAME

       synaptics - Synaptics touchpad input driver

SYNOPSIS

       Section "InputDevice"
         Identifier "devname"
         Driver "synaptics"
         Option "Device"   "devpath"
         Option "Path"     "path"
         ...
       EndSection

DESCRIPTION

       synaptics  is  an  Xorg  input  driver for the touchpads from Synaptics
       Incorporated. Even tough these touchpads (by default,  operating  in  a
       compatibility  mode  emulating  a standard mouse) can be handled by the
       normal evdev  or  mouse  drivers,  this  driver  allows  more  advanced
       features of the touchpad to become available. Some benefits would be:

       ·   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  for   vertical
           scrolling and button 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.)

       ·   Pressure dependent motion speed.

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

CONFIGURATION DETAILS

       Please refer to xorg.conf(5) for general configuration details and  for
       options  that  can  be  used with all input drivers.  This section only
       covers configuration details specific to this driver.  If you have  the
       SHMConfig  parameter  enabled,  these parameters can also be changed at
       runtime with the synclient(1) program.

       The following driver Options are supported:

       Option "Device" "string"
              This option specifies the device file in your  "/dev"  directory
              which  will  be used to access the physical device. Normally you
              should use something like "/dev/input/eventX", where X  is  some
              integer.

       Option "Protocol" "string"
              Specifies  which kernel driver will be used by this driver. This
              is  the  list  of  supported  drivers  and  their  default   use
              scenarios.

              auto-dev   automatic, default (recommend)
              event      Linux 2.6 kernel events
              psaux      raw device access (Linux 2.4)
              psm        FreeBSD psm driver

       Option "SHMConfig" "boolean"
              Switch  on/off shared memory for configuration. This enables the
              driver to be configured at runtime. Note that this is considered
              a security risk since any user can access the configuration.

       Option "LeftEdge" "integer"
              X coordinate for left edge.

       Option "RightEdge" "integer"
              X coordinate for right edge.

       Option "TopEdge" "integer"
              Y coordinate for top edge.

       Option "BottomEdge" "integer"
              Y coordinate for bottom edge.

       Option "SpecialScrollAreaRight" "boolean"
              Detect   special   scroll   wheel   region  and  set  coordinate
              automaticly (region must  have  a  very  large  X   coordinate).
              Disable option if you don’t want use it region.

       Option "FingerLow" "integer"
              When  finger  pressure drops below this value, the driver counts
              it as a release.

       Option "FingerHigh" "integer"
              When finger pressure goes above this value, the driver counts it
              as a touch.

       Option "FingerPress" "integer"
              When finger pressure goes above this value, the driver counts it
              as a press.  Currently a press  is  equivalent  to  putting  the
              touchpad in trackstick emulation mode.

       Option "MaxTapTime" "integer"
              Maximum time (in milliseconds) for detecting a tap.

       Option "BMaxTapMove" "integer"
              Maximum movement of the finger for detecting a tap.

       Option "MaxDoubleTapTime" "integer"
              Maximum time (in milliseconds) for detecting a double tap.

       Option "ClickTime" "integer"
              The duration of the mouse click generated by tapping.

       Option "FastTaps" "boolean"
              Makes  the  driver  react faster to a single tap, but also makes
              double clicks caused by double tapping slower.

       Option "VertEdgeScroll" "boolean"
              Enable vertical scrolling when dragging along the right edge.

       Option "HorizEdgeScroll" "boolean"
              Enable horizontal scrolling when dragging along the bottom edge.

       Option "CornerCoasting" "boolean"
              Enable  edge  scrolling to continue while the finger stays in an
              edge corner.

       Option "VertTwoFingerScroll" "boolean"
              Enable  vertical  scrolling  when  dragging  with  two   fingers
              anywhere on the touchpad.

       Option "HorizTwoFingerScroll" "boolean"
              Enable  horizontal  scrolling  when  dragging  with  two fingers
              anywhere on the touchpad.

       Option "VertScrollDelta" "integer"
              Move distance of the finger for a scroll event.

       Option "HorizScrollDelta" "integer"
              Move distance of the finger for a scroll event.

       Option "EdgeMotionMinZ" "integer"
              Finger pressure at which minimum edge motion speed is set.

       Option "EdgeMotionMaxZ" "integer"
              Finger pressure at which maximum edge motion speed is set.

       Option "EdgeMotionMinSpeed" "integer"
              Slowest setting for edge motion speed.

       Option "EdgeMotionMaxSpeed" "integer"
              Fastest setting for edge motion speed.

       Option "EdgeMotionUseAlways" "boolean"
              If on, edge motion is also used for normal movements.   If  off,
              egde motion is used only when dragging.

       Option "Repeater" "string"
              Repeater device.

       Option "MinSpeed" "float"
              Minimum speed factor.

       Option "MaxSpeed (" "float")
              Maximum speed factor.

       Option "AccelFactor (" "float")
              Acceleration factor for normal pointer movements.

       Option "TrackstickSpeed (" "float")
              Speed scale when in trackstick emulation mode.

       Option "PressureMotionMinZ" "integer"
              Finger  pressure  at  which  minimum  pressure  motion factor is
              applied.

       Option "PressureMotionMaxZ" "integer"
              Finger pressure at  which  maximum  pressure  motion  factor  is
              applied.

       Option "PressureMotionMinFactor" "integer"
              Lowest setting for pressure motion factor.

       Option "PressureMotionMaxFactor" "integer"
              Greatest setting for pressure motion factor.

       Option "UpDownScrolling" "boolean"
              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.

       Option "LeftRightScrolling" "boolean"
              If  on,  the  left/right buttons generate button 6/7 events.  If
              off, the left/right buttons both generate button 2 events.

       Option "UpDownScrollRepeat" "boolean"
              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.

       Option "LeftRightScrollRepeat" "boolean"
              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.

       Option "ScrollButtonRepeat" "integer"
              The number of milliseconds between repeats of button events  4-7
              from the up/down/left/right scroll buttons.

       Option "EmulateMidButtonTime" "integer"
              Maximum time (in milliseconds) for middle button emulation.

       Option "EmulateTwoFingerMinZ" "integer"
              For  touchpads not capable of detecting multiple fingers (Alps),
              this sets the Z pressure  threshold  to  emulate  a  two  finger
              press.

       Option "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

       Option "GuestMouseOff" "boolean"
              Switch on/off guest mouse (often a stick).

       Option "LockedDrags" "boolean"
              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,  or
              until LockedDragTimeout expires.

       Option "LockedDragTimeout" "integer"
              This parameter specifies how long it takes (in milliseconds) for
              the LockedDrags mode to be automatically turned  off  after  the
              finger is released from the touchpad.

       Option "RTCornerButton" "integer"
              Which  mouse  button is reported on a right top corner tap.  Set
              to 0 to disable.

       Option "RBCornerButton" "integer"
              Which mouse button is reported on a  right  bottom  corner  tap.
              Set to 0 to disable.

       Option "LTCornerButton" "integer"
              Which mouse button is reported on a left top corner tap.  Set to
              0 to disable.

       Option "LBCornerButton" "integer"
              Which mouse button is reported on a left bottom corner tap.  Set
              to 0 to disable.

       Option "TapButton1" "integer"
              Which  mouse  button is reported on a non-corner one-finger tap.
              Set to 0 to disable.

       Option "TapButton2" "integer"
              Which mouse button is reported on a non-corner  two-finger  tap.
              Set to 0 to disable.

       Option "TapButton3" "integer"
              Which mouse button is reported on a non-corner three-finger tap.
              Set to 0 to disable.

       Option "ClickFinger1" "integer"
              Which mouse button  is  reported  when  left-clicking  with  one
              finger.  Set to 0 to disable.

       Option "ClickFinger2" "integer"
              Which  mouse  button  is  reported  when  left-clicking with two
              fingers.  Set to 0 to disable.

       Option "ClickFinger3" "integer"
              Which mouse button is reported  when  left-clicking  with  three
              fingers.  Set to 0 to disable.

       Option "CircularScrolling" "boolean"
              If on, circular scrolling is used.

       Option "CircScrollDelta (" "float")
              Move angle (radians) of finger to generate a scroll event.

       Option "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

       Option "CircularPad" "boolean"
              Instead  of  being a rectangle, the edge is the ellipse enclosed
              by  the  Left/Right/Top/BottomEdge  parameters.   For   circular
              touchpads.

       Option "PalmDetect" "boolean"
              If  palm  detection  should  be  enabled.   Note  that this also
              requires hardware/firmware support from the touchpad.

       Option "PalmMinWidth" "integer"
              Minimum finger width at which touch is considered a palm.

       Option "PalmMinZ" "integer"
              Minimum finger pressure at which touch is considered a palm.

       Option "CoastingSpeed (" "float")
              Coasting threshold scrolling speed.  0 disables coasting.

       Option "SingleTapTimeout" "integer"
              Timeout after a tap to recognize it as a single tap.

       Option "GrabEventDevice" "boolean"
              If GrabEventDevice is true,  the  driver  will  grab  the  event
              device  for  exclusive  use  when  using  the  linux  2.6  event
              protocol.  When  using  other  protocols,  this  option  has  no
              effect.   Grabbing  the  event  device  means that no other user
              space or kernel space program sees the touchpad events.  This is
              desirable  if  the  X config file includes /dev/input/mice as an
              input device, but is undesirable if  you  want  to  monitor  the
              device  from  user space.  When changing this parameter with the
              synclient program, the change will not  take  effect  until  the
              synaptics  driver  is  disabled  and  reenabled.   This  can  be
              achieved by switching to a text console and then switching  back
              to X.

       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.  For this parameter to have any
       effect, "FastTaps" has to be disabled.

       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.

       When pressure motion is activated, the cursor motion speed  depends  on
       the  pressure exerted on the touchpad (the more pressure exerted on the
       touchpad, the faster the pointer).  More precisely the speed  is  first
       calculated according to MinSpeed, MaxSpeed and AccelFactor, and then is
       multiplied by a sensitivity factor.   The  sensitivity  factor  can  be
       adjusted using the PressureMotion parameters.  If the pressure is below
       PressureMotionMinZ,  PressureMotionMinFactor  is  used,  and   if   the
       pressure is greater than PressureMotionMaxZ, PressureMotionMaxFactor is
       used.  By default, PressureMotionMinZ and PressureMotionMaxZ are  equal
       to  EdgeMotionMinZ  and  EdgeMotionMaxZ.   For a pressure value between
       PressureMotionMinZ and  PressureMotionMaxZ,  the  factor  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 touchpad.
       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  center  of the touchpad will generate scroll down
       events and counter clockwise motion will  generate  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.  Coasting comes in two flavors: conventional  (finger  off)
       coasting, and corner (finger on) coasting.

       Conventional   coasting  is  enabled  when  coasting  is  enabled,  and
       CornerCoasting is set to false.  When conventional 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.

       Corner coasting is enabled when coasting is enabled, and CornerCoasting
       is set to true.  When corner coasting is enabled,  edge  scrolling  can
       continue as long as the finger stays in a corner.  Coasting begins when
       the finger enters the corner, and continues until the finger leaves the
       corner.   CornerCoasting takes precedence over the seamless switch from
       edge scrolling to circular scrolling.  That is,  if  CornerCoasting  is
       active,  scrolling  will  stop,  and circular scrolling will not start,
       when the finger leaves the corner.

       Trackstick emulation mode is entered when pressing the finger  hard  on
       the  touchpad.  The FingerPress parameter controls the minimum required
       finger pressure.  If the finger hasn’t moved more than MaxTapMove after
       MaxTapTime  has  elapsed,  trackstick  mode  is entered.  In this mode,
       moving the finger slightly in any direction gives a speed  vector  that
       moves  the  pointer.   The TrackstickSpeed parameter controls the ratio
       between pointer speed and finger movement distance.  Trackstick mode is
       exited  when  the  finger  pressure  drops  below FingerLow or when the
       finger is moved further than MaxTapMove away from the initial position.

NOTES

       There      is      an      example      hal      policy     file     in
       ${sourcecode}/fdi/11-x11-synaptics.fdi which  will  enable  the  driver
       based on the information if the hardware is availabe. Fell free to copy
       it to /etc/hal/fdi/policy and customize it to your needs. You can  pass
       custom  options  to  the driver using x11_options properties. Note that
       this requires xorg-server-1.5 or higher.

AUTHORS

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

SEE ALSO

       Xorg(1), xorg.conf(5), xorgconfig(1), Xserver(1),  X(7),  synclient(1),
       syndaemon(1)