Provided by: xserver-xorg-input-synaptics_1.8.2-1ubuntu3_amd64 bug

NAME

       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 touchpads.  Even though touchpads 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 (tap-and-
           drag gesture).

       ·   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  right  button and three finger for middle button
           events.  (Needs hardware support.  Not all models implement this feature.)

       ·   Pressure-dependent motion speed.

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

       The  name  "synaptics"  is historical and the driver still provides the synaptics protocol
       parsing code. Under Linux however, the hardware-specifics are handled by  the  kernel  and
       this driver will work for any touchpad that has a working kernel driver. If your device is
       recognized as "PS/2 Mouse" or similar, the kernel driver does not support your device  and
       this driver will only provide limited functionality.

CONFIGURATION OPTIONS

       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.

       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 "LeftEdge" "integer"
              X coordinate for left edge. Property: "Synaptics Edges"

       Option "RightEdge" "integer"
              X coordinate for right edge. Property: "Synaptics Edges"

       Option "TopEdge" "integer"
              Y coordinate for top edge. Property: "Synaptics Edges"

       Option "BottomEdge" "integer"
              Y coordinate for bottom edge. Property: "Synaptics Edges"

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

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

       Option "MaxTapTime" "integer"
              Maximum time (in milliseconds)  for  detecting  a  tap.  Property:  "Synaptics  Tap
              Durations"

       Option "MaxTapMove" "integer"
              Maximum movement of the finger for detecting a tap. Property: "Synaptics Tap Move"

       Option "MaxDoubleTapTime" "integer"
              Maximum time (in milliseconds) for detecting a double tap. Property: "Synaptics Tap
              Durations"

       Option "ClickTime" "integer"
              The duration of the mouse click generated  by  tapping.  Property:  "Synaptics  Tap
              Durations"

       Option "ClickPad" "boolean"
              Whether the device is a click pad. See ClickPad support for more details. Property:
              "Synaptics ClickPad"

       Option "VertEdgeScroll" "boolean"
              Enable vertical scrolling when dragging along the right edge. Property:  "Synaptics
              Edge Scrolling"

       Option "HorizEdgeScroll" "boolean"
              Enable  horizontal  scrolling  when  dragging  along  the  bottom  edge.  Property:
              "Synaptics Edge Scrolling"

       Option "CornerCoasting" "boolean"
              Enable edge scrolling to continue  while  the  finger  stays  in  an  edge  corner.
              Property: "Synaptics Edge Scrolling"

       Option "VertTwoFingerScroll" "boolean"
              Enable  vertical scrolling when dragging with two fingers anywhere on the touchpad.
              Property: "Synaptics Two-Finger Scrolling"

       Option "HorizTwoFingerScroll" "boolean"
              Enable horizontal  scrolling  when  dragging  with  two  fingers  anywhere  on  the
              touchpad. Property: "Synaptics Two-Finger Scrolling"

       Option "VertScrollDelta" "integer"
              Move  distance  of  the  finger  for a scroll event. Property: "Synaptics Scrolling
              Distance"

       Option "HorizScrollDelta" "integer"
              Move distance of the finger for a  scroll  event.  Property:  "Synaptics  Scrolling
              Distance"

       Option "MinSpeed" "float"
              Minimum speed factor. Property: "Synaptics Move Speed"

       Option "MaxSpeed" "float"
              Maximum speed factor. Property: "Synaptics Move Speed"

       Option "AccelFactor" "float"
              Acceleration factor for normal pointer movements. Property: "Synaptics Move Speed"

       Option "PressureMotionMinZ" "integer"
              Finger  pressure  at  which  minimum  pressure  motion factor is applied. Property:
              "Synaptics Pressure Motion"

       Option "PressureMotionMaxZ" "integer"
              Finger pressure at which maximum pressure  motion  factor  is  applied.   Property:
              "Synaptics Pressure Motion"

       Option "PressureMotionMinFactor" "integer"
              Lowest  setting  for  pressure  motion factor. Property: "Synaptics Pressure Motion
              Factor"

       Option "PressureMotionMaxFactor" "integer"
              Greatest setting for pressure motion factor. Property: "Synaptics  Pressure  Motion
              Factor"

       Option "HorizHysteresis" "integer"
              The  minimum  horizontal  HW  distance  required  to generate motion events. Can be
              specified as a percentage. Increase if noise motion is a problem for you.  Zero  is
              disabled.   Default:  0.5  percent  of  the  diagonal  or  (in  case  of evdev) the
              appropriate "fuzz" as advertised by the device.

       Option "VertHysteresis" "integer"
              The  minimum  vertical  HW  distance  required  to  generate  motion  events.   See
              HorizHysteresis.

       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.  This
              option  is  only  available  for touchpads with physical scroll buttons.  Property:
              "Synaptics Button Scrolling"

       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.  This option is only available for touchpads
              with physical scroll buttons.  Property: "Synaptics Button Scrolling"

       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.  This option is only available for touchpads with
              physical scroll buttons.  Property: "Synaptics Button Scrolling Repeat"

       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.  This option is only available for touchpads with
              physical scroll buttons.  Property: "Synaptics Button Scrolling Repeat"

       Option "ScrollButtonRepeat" "integer"
              The  number  of  milliseconds  between  repeats  of  button  events  4-7  from  the
              up/down/left/right  scroll  buttons.   This  option is only available for touchpads
              with physical scroll buttons.  Property: "Synaptics Button Scrolling Time"

       Option "EmulateMidButtonTime" "integer"
              Maximum time (in milliseconds) for middle button  emulation.  Property:  "Synaptics
              Middle Button Timeout"

       Option "EmulateTwoFingerMinZ" "integer"
              For  touchpads  not  capable  of  detecting  multiple  fingers  but  are capable of
              detecting finger pressure and width, this sets the Z pressure threshold.  When both
              Z pressure and W width thresholds are crossed, a two finger press will be emulated.
              This defaults to a value that disables emulation on touchpads with real  two-finger
              detection  and  defaults  to  a value that enables emulation on remaining touchpads
              that support pressure and width support.  Property: "Synaptics Two-Finger Pressure"

       Option "EmulateTwoFingerMinW" "integer"
              For touchpads not  capable  of  detecting  multiple  fingers  but  are  capable  of
              detecting  finger width and pressure, this sets the W width threshold.  When both W
              width and Z pressure thresholds are crossed, a two finger press will  be  emulated.
              This  feature  works  best  with  (PalmDetect) off. Property: "Synaptics Two-Finger
              Width"

       Option "TouchpadOff" "integer"
              Switch off the touchpad.  Valid values are:

              0   Touchpad is enabled
              1   Touchpad is switched off (physical clicks still work)
              2   Only tapping and scrolling is switched off
              When the touchpad is switched off, button events caused by a physical button  press
              are  still  interpreted.  On a ClickPad, this includes software-emulated middle and
              right buttons as defined by the SoftButtonAreas setting.

       Property: "Synaptics Off"

       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.
              Property: "Synaptics Locked Drags"

       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.
              Property: "Synaptics Locked Drags Timeout"

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

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

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

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

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

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

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

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

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

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

       Option "CircularScrolling" "boolean"
              If on, circular scrolling is used. Property: "Synaptics Circular Scrolling"

       Option "CircScrollDelta" "float"
              Move angle (radians) of finger to generate a  scroll  event.  Property:  "Synaptics
              Circular Scrolling Distance"

       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
              Property: "Synaptics Circular Scrolling Trigger"

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

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

       Option "PalmMinWidth" "integer"
              Minimum finger width at which touch is considered a palm. Property: "Synaptics Palm
              Dimensions"

       Option "PalmMinZ" "integer"
              Minimum  finger  pressure at which touch is considered a palm. Property: "Synaptics
              Palm Dimensions"

       Option "CoastingSpeed" "float"
              Your finger needs to produce this  many  scrolls  per  second  in  order  to  start
              coasting.   The  default  is  20  which  should  prevent you from starting coasting
              unintentionally.  0 disables coasting. Property: "Synaptics Coasting Speed"

       Option "CoastingFriction" "float"
              Number  of  scrolls/second²  to  decrease  the  coasting  speed.   Default  is  50.
              Property: "Synaptics Coasting Speed"

       Option "SingleTapTimeout" "integer"
              Timeout  after  a  tap  to  recognize  it as a single tap. Property: "Synaptics Tap
              Durations"

       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.

       Option "TapAndDragGesture" "boolean"
              Switch on/off the tap-and-drag gesture.  This gesture  is  an  alternative  way  of
              dragging.   It  is  performed  by tapping (touching and releasing the finger), then
              touching again and moving the finger on the touchpad.  The gesture  is  enabled  by
              default  and  can  be  disabled  by  setting the TapAndDragGesture option to false.
              Property: "Synaptics Gestures"

       Option
              ®esolutionDetect" "" boolean " Allow or prevent the synaptics driver from reporting
              the  size  of  the  touchpad  to  the  X  server.   The X server normally uses this
              information to scale movements so that touchpad movement  corresponds  visually  to
              mouse  cursor  movements  on  the  screen.   However,  in some rare cases where the
              touchpad height/width ratio is significantly different  from  the  laptop,  it  can
              cause  the  mouse  cursor  to  skip  pixels in the X or Y axis.  This option allows
              disabling this scaling behavior, which can provide smoother mouse movement in  such
              cases.  Property: "Synaptics Resolution Detect"

       Option "VertResolution" "integer"
              Resolution  of  X  coordinates in units/millimeter. The value is used together with
              HorizResolution to compensate unequal vertical and horizontal sensitivity.  Setting
              VertResolution  and  HorizResolution  equal  values  means no compensation. Default
              value is read from the touchpad or set to 1 if value could not be read.   Property:
              "Synaptics Pad Resolution"

       Option "HorizResolution" "integer"
              Resolution  of  Y  coordinates in units/millimeter. The value is used together with
              VertResolution to compensate unequal vertical and horizontal  sensitivity.  Setting
              VertResolution  and  HorizResolution  equal  values  means no compensation. Default
              value is read from the touchpad or set to 1 if value could not be read.   Property:
              "Synaptics Pad Resolution"

       Option "AreaLeftEdge" "integer"
              Ignore  movements, scrolling and tapping which start left of this edge.  The option
              is disabled by default and can be enabled by setting the AreaLeftEdge option to any
              integer  value other than zero. If supported by the server (version 1.9 and later),
              the edge may be specified in percent of the total width of the touchpad.  Property:
              "Synaptics Area"

       Option "AreaRightEdge" "integer"
              Ignore movements, scrolling and tapping which start right of this edge.  The option
              is disabled by default and can be enabled by setting the  AreaRightEdge  option  to
              any  integer  value  other  than  zero. If supported by the server (version 1.9 and
              later), the edge may be specified in percent of the total width  of  the  touchpad.
              Property: "Synaptics Area"

       Option "AreaTopEdge" "integer"
              Ignore movements, scrolling and tapping which start above this edge.  The option is
              disabled by default and can be enabled by setting the  AreaTopEdge  option  to  any
              integer  value other than zero. If supported by the server (version 1.9 and later),
              the edge may be specified in percent of the total height of the touchpad. Property:
              "Synaptics Area"

       Option "AreaBottomEdge" "integer"
              Ignore movements, scrolling and tapping which start below this edge.  The option is
              disabled by default and can be enabled by setting the AreaBottomEdge option to  any
              integer  value other than zero. If supported by the server (version 1.9 and later),
              the edge may be specified in percent of the total height of the touchpad. Property:
              "Synaptics Area"

       Option "SoftButtonAreas" "RBL RBR RBT RBB MBL MBR MBT MBB"
              This  option  is only available on ClickPad devices.  Enable soft button click area
              support on ClickPad devices.  The first four parameters are the left,  right,  top,
              bottom  edge  of the right button, respectively, the second four parameters are the
              left, right, top, bottom edge of the middle button, respectively. Any of the values
              may  be given as percentage of the touchpad width or height, whichever applies.  If
              any edge is set to 0 (not 0%), the button is assumed to extend to infinity  in  the
              given  direction.  Setting  all  values  to  0 (not 0%) disables soft button areas.
              Button areas may not overlap, however it is permitted for two buttons to  share  an
              edge value.  Property: "Synaptics Soft Button Areas"

       Option "HasSecondarySoftButtons" "boolean"
              This  option  is only available on ClickPad devices.  Enable the secondary software
              button   area   support.   The   exact    area    must    be    set    in    option
              "SecondarySoftButtonAreas".  See ClickPad support for more details.

       Option "SecondarySoftButtonAreas" "RBL RBR RBT RBB MBL MBR MBT MBB"
              This   option   is   only   available  on  ClickPad  devices  and  only  if  Option
              "HasSecondarySoftButtons" is enabled.  Define the secondary soft button click areas
              on  ClickPad  devices  (usually  on top of the device).  For the allowed values for
              this option, see Option "SoftButtonAreas".  Primary and secondary soft button areas
              must  not  overlap each other. If they do, the behavior of the driver is undefined.
              Property:  "Synaptics  Secondary  Soft  Button  Areas".  This  property   is   only
              initialized  if  Option "HasSecondarySoftButtons" is enabled and this option is set
              in the xorg.conf(5).

CONFIGURATION DETAILS

   Area handling
       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 use evtest(1) on the  device  to  see
       the x/y coordinates corresponding to different positions on the touchpad.

       The  perceived  physical  edges  may  be  adjusted  with  the AreaLeftEdge, AreaRightEdge,
       AreaTopEdge, and AreaBottomEdge options. If these values are set to something  other  than
       the  physical  edges,  input  that  starts  in  the  space  between  the area edge and the
       respective physical edge is ignored.  Note that this reduces the available  space  on  the
       touchpad to start motions in.

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

   Acceleration
       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   invert   the  direction  of  vertical  or  horizontal  scrolling,  set
       VertScrollDelta or HorizScrollDelta to a negative value.

       Acceleration is mostly handled outside the driver, thus the driver will translate MinSpeed
       into  constant  deceleration and adapt MaxSpeed at startup time. This ensures you can user
       the other acceleration profiles, albeit without pressure motion. However  the  numbers  at
       runtime will likely be different from any options you may have set.

   Pressure motion
       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.  For a pressure value
       between PressureMotionMinZ and PressureMotionMaxZ, the factor is increased linearly.

   Middle button emulation
       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
       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
       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.

   Noise cancellation
       The synaptics has a built-in noise cancellation  based  on  hysteresis.  This  means  that
       incoming coordinates actually shift a box of predefined dimensions such that it covers the
       incoming coordinate, and only the boxes own  center  is  used  as  input.  Obviously,  the
       smaller  the  box  the  better,  but  the  likelyhood  of noise motion coming through also
       increases.

   ClickPad support
       A click pad device has button(s) integrated into the touchpad surface. The user must press
       downward on the touchpad in order to generated a button press. ClickPad support is enabled
       if the option ClickPad is set or the property is set at runtime. On some  platforms,  this
       option  will  be  set automatically if the kernel detects a matching device. On Linux, the
       device must have the INPUT_PROP_BUTTONPAD property set.

       ClickPads do not support middle mouse button emulation. If enabling  ClickPad  support  at
       runime,  the  user  must  also set the middle mouse button timeout to 0. If auto-detected,
       middle mouse button emulation is disabled by the driver.

       ClickPads provide software  emulated  buttons  through  Option  "SoftButtonAreas".   These
       buttons  enable areas on the touchpad to perform as right or middle mouse button. When the
       user performs a click within a defined soft button  area,  a  right  or  middle  click  is
       performed.

       Some laptops, most notably the Lenovo T440, T540 and x240 series, provide a pointing stick
       without physical buttons. On those laptops, the top of  the  touchpad  acts  as  software-
       emulated  button  area. This area can be enabled with Option "HasSecondarySoftButtons" and
       configured with Option "SecondarySoftButtonAreas".  On some platforms, this option will be
       set  automatically if the kernel detects a matching device. On Linux, the device must have
       the INPUT_PROP_TOPBUTTONPAD property set.

DEVICE PROPERTIES

       Synaptics 1.0 and higher support input device properties if the driver  is  running  on  X
       server  1.6  or  higher.  The synclient tool shipped with synaptics version 1.1 uses input
       device properties by default.  Properties supported:

       Synaptics Edges
              32 bit, 4 values, left, right, top, bottom.

       Synaptics Finger
              32 bit, 3 values, low, high, press.

       Synaptics Tap Time
              32 bit.

       Synaptics Tap Move
              32 bit.

       Synaptics Tap Durations
              32 bit, 3 values, single touch timeout, max tapping time for double taps,  duration
              of a single click.

       Synaptics ClickPad
              8 bit (Bool).

       Synaptics Middle Button Timeout
              32 bit.

       Synaptics Two-Finger Pressure
              32 bit.

       Synaptics Two-Finger Width
              32 bit.

       Synaptics Scrolling Distance
              32 bit, 2 values, vert, horiz.

       Synaptics Edge Scrolling
              8 bit (BOOL), 3 values, vertical, horizontal, corner.

       Synaptics Two-Finger Scrolling
              8 bit (BOOL), 2 values, vertical, horizontal.

       Synaptics Move Speed
              FLOAT, 4 values, min, max, accel, <deprecated>

       Synaptics Button Scrolling
              8 bit (BOOL), 2 values, updown, leftright.

       Synaptics Button Scrolling Repeat
              8 bit (BOOL), 2 values, updown, leftright.

       Synaptics Button Scrolling Time
              32 bit.

       Synaptics Off
              8 bit, valid values (0, 1, 2).

       Synaptics Locked Drags
              8 bit (BOOL).

       Synaptics Locked Drags Timeout
              32 bit.

       Synaptics Tap Action
              8  bit,  up  to MAX_TAP values (see synaptics.h), 0 disables an element. order: RT,
              RB, LT, LB, F1, F2, F3.

       Synaptics Click Action
              8 bit, up to MAX_CLICK values (see synaptics.h), 0  disables  an  element.   order:
              Finger 1, 2, 3.

       Synaptics Circular Scrolling
              8 bit (BOOL).

       Synaptics Circular Scrolling Distance
              FLOAT.

       Synaptics Circular Scrolling Trigger
              8  bit,  valid  values  0..8  (inclusive) order: any edge, top, top + right, right,
              right + bottom, bottom, bottom + left, left, left  + top.

       Synaptics Circular Pad
              8 bit (BOOL).

       Synaptics Palm Detection
              8 bit (BOOL).

       Synaptics Palm Dimensions
              32 bit, 2 values, width, z.

       Synaptics Coasting Speed
              FLOAT, 2 values, speed, friction.

       Synaptics Pressure Motion
              32 bit, 2 values, min, max.

       Synaptics Pressure Motion Factor
              FLOAT, 2 values, min, max.

       Synaptics Resolution Detect
              8 bit (BOOL).

       Synaptics Grab Event Device
              8 bit (BOOL).

       Synaptics Gestures
              8 bit (BOOL), 1 value, tap-and-drag.

       Synaptics Area
              The AreaLeftEdge, AreaRightEdge, AreaTopEdge and AreaBottomEdge parameters are used
              to  define  the  edges of the active area of the touchpad. All movements, scrolling
              and tapping which take place outside of this area will be ignored. This property is
              disabled by default.

              32 bit, 4 values, left, right, top, bottom. 0 disables an element.

       Synaptics Soft Button Areas
              This  property  is  only  available on ClickPad devices.  The Right and middle soft
              button areas are used to support right and  middle  click  actions  on  a  ClickPad
              device. Providing 0 for all values of a given button disables the button area.

              32 bit, 8 values, RBL, RBR, RBT, RBB, MBL, MBR, MBT, MBB.

       Synaptics Capabilities
              This  read-only  property  expresses  the physical capability of the touchpad, most
              notably whether the touchpad hardware supports multi-finger tapping and scrolling.

              8 bit (BOOL), 7 values (read-only), has left button, has middle button,  has  right
              button,  two-finger  detection,  three-finger  detection,  pressure  detection, and
              finger/palm width detection.

       Synaptics Pad Resolution
              32 bit unsigned, 2 values (read-only), vertical, horizontal in units/millimeter.

NOTES

       Configuration through InputClass sections is recommended in X servers 1.8 and  later.  See
       xorg.conf.d(5)   for   more  details.  An  example  xorg.conf.d  snippet  is  provided  in
       ${sourcecode}/conf/50-synaptics.conf

       Configuration through hal fdi files is recommended in X  servers  1.5,  1.6  and  1.7.  An
       example hal policy file is provided in ${sourcecode}/conf/11-x11-synaptics.fdi

       If  either  of  Protocol  "auto-dev"  (default)  or  Protocol  "event" is used, the driver
       initializes  defaults  based  on  the  capabilities  reported  by   the   kernel   driver.
       Acceleration,  edges and resolution are based on the dimensions reported by the kernel. If
       the kernel reports multi-finger  detection,  two-finger  vertical  scrolling  is  enabled,
       horizontal  two-finger  scrolling is disabled and edge scrolling is disabled. If no multi-
       finger capabilities are reported, edge  scrolling  is  enabled  for  both  horizontal  and
       vertical  scrolling.   Tapping  is  disabled  by  default  for  touchpads with one or more
       physical buttons.  To enable  it  you  need  to  map  tap  actions  to  buttons.  See  the
       "TapButton1", "TapButton2" and "TapButton3" options.

       Button  mapping  for physical buttons is handled in the server.  If the device is switched
       to left-handed (an in-server mapping of physical buttons 1, 2, 3 to the logical buttons 3,
       2,  1,  respectively),  both physical and TapButtons are affected. To counteract this, the
       TapButtons need to be set up in reverse order (TapButton1=3, TapButton2=1).

REMOVED OPTIONS

       The following options are no longer part of the driver configuration:

       Option "Repeater" "string"

       Option "HistorySize" "integer"

       Option "SpecialScrollAreaRight" "boolean"

       Option "GuestMouseOff" "boolean"

       Option "SHMConfig" "boolean"

       Option "FingerPress" "integer"

       Option "TrackstickSpeed" "float"

       Option "FastTaps" "boolean"

       Option "EdgeMotionMinZ" "integer"

       Option "EdgeMotionMaxZ" "integer"

       Option "EdgeMotionMinSpeed" "integer"

       Option "EdgeMotionMaxSpeed" "integer"

       Option "EdgeMotionUseAlways" "boolean"

       AUTHORS

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

SEE ALSO

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