Provided by: xserver-xorg-input-synaptics_1.9.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  re-enabled.  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.

   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  likelihood  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/70-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 "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)