Provided by: xserver-xorg-input-synaptics_1.7.4-0ubuntu1_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
              2   Only tapping and scrolling is switched off
              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  take  place  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 take place  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 take place 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 take place 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"

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 in the
       space between the area edge and the respective physical edge is  ignored.  Note  that  this  reduces  the
       available space on the touchpad.

   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.

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)

X Version 11                               xf86-input-synaptics 1.7.4                               SYNAPTICS(4)