Provided by: xserver-xorg-input-synaptics-lts-utopic_1.8.1-1ubuntu1~trusty1_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)