Go to main content

man pages section 4: Device and Network Interfaces

Exit Print View

Updated: Thursday, June 13, 2019
 
 

synaptics (4)

Name

synaptics - touchpad input driver

Synopsis

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

Description

SYNAPTICS(4)               Kernel Interfaces Manual               SYNAPTICS(4)



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 bene-
       fits would be:

       o   Movement with adjustable, non-linear acceleration and speed.

       o   Button events through short touching of the touchpad.

       o   Double-Button events through double short touching of the touchpad.

       o   Dragging through short touching and holding down the finger on  the
           touchpad (tap-and-drag gesture).

       o   Middle and right button events on the upper and lower corner of the
           touchpad.

       o   Vertical scrolling (button four and five events) through moving the
           finger on the right side of the touchpad.

       o   The up/down button sends button four/five events.

       o   Horizontal  scrolling  (button six and seven events) through moving
           the finger on the lower side of the touchpad.

       o   The  multi-buttons  send  button  four/five  events  for   vertical
           scrolling and button six/seven events for horizontal scrolling.

       o   Adjustable finger detection.

       o   Multifinger  taps: two finger for right button and three finger for
           middle button events.  (Needs hardware  support.   Not  all  models
           implement this feature.)

       o   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  scenar-
              ios.

              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. Prop-
              erty: "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 any-
              where  on  the   touchpad.   Property:   "Synaptics   Two-Finger
              Scrolling"

       Option "HorizTwoFingerScroll" "boolean"
              Enable  horizontal scrolling when dragging with two fingers any-
              where  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: "Synap-
              tics 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  gen-
              erates  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 but-
              tons.  Property: "Synaptics Button Scrolling"

       Option "UpDownScrollRepeat" "boolean"
              If on, and the up/down buttons are used for  scrolling  (UpDown-
              Scrolling),  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  (Left-
              RightScrolling),  these  buttons  will  send  auto-repeating 6/7
              events, with the delay between repeats determined by  ScrollBut-
              tonRepeat.   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-Fin-
              ger 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 fin-
              ger.  Set to 0 to disable. Property: "Synaptics Click Action"

       Option "ClickFinger2" "integer"
              Which mouse button is reported when left-clicking with two  fin-
              gers.  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. Prop-
              erty: "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. Prop-
              erty: "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 coast-
              ing. 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 proto-
              col.  When using other protocols, this  option  has  no  effect.
              Grabbing the event device means that no other user space or ker-
              nel 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 syn-
              client program, the change will not take effect until the synap-
              tics  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 (touch-
              ing 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 "VertResolution" "integer"
              Resolution  of  X  coordinates in units/millimeter. The value is
              used together with HorizResolution to compensate unequal  verti-
              cal  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 HorizRes-
              olution  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  direc-
              tion.  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  sec-
              ondary  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 "Has-
              SecondarySoftButtons"  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 posi-
       tions 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 direc-
       tion 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 pro-
       files, 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 parame-
       ters.  If the pressure is below PressureMotionMinZ,  PressureMotionMin-
       Factor is used, and if the pressure is greater than PressureMotionMaxZ,
       PressureMotionMaxFactor is used.  For a pressure  value  between  Pres-
       sureMotionMinZ  and  PressureMotionMaxZ,  the  factor is increased lin-
       early.

   Middle button emulation
       Since most synaptics touchpad models don't have a  button  that  corre-
       sponds  to  the middle button on a mouse, the driver can emulate middle
       mouse button events.  If you press both the left and right  mouse  but-
       tons  at  almost  the same time (no more than EmulateMidButtonTime mil-
       liseconds 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 cor-
       ner.   Once  scrolling is engaged, moving your finger in clockwise cir-
       cles 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 cir-
       cular 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  Corner-
       Coasting is set to false.  When conventional coasting is enabled, hori-
       zontal/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  "SoftBut-
       tonAreas".   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, pro-
       vide 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.  Proper-
       ties 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 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 ele-
              ment.


       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 mid-
              dle click actions on a ClickPad device. Providing 0 for all val-
              ues 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.



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+---------------------------------------------+
       |ATTRIBUTE TYPE |              ATTRIBUTE VALUE                |
       +---------------+---------------------------------------------+
       |Availability   | x11/server/xorg/driver/xorg-input-synaptics |
       +---------------+---------------------------------------------+
       |Stability      | Volatile                                    |
       +---------------+---------------------------------------------+
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 ${source-
       code}/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 TapBut-
       tons 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)


       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source   was   downloaded   from    https://www.x.org/releases/individ-
       ual/driver/xf86-input-synaptics-1.9.1.tar.bz2

       Further information about this software can be found on the open source
       community website at https://www.x.org.



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