1SYNAPTICS(4)               Kernel Interfaces Manual               SYNAPTICS(4)
2
3
4

NAME

6       synaptics - touchpad input driver
7

SYNOPSIS

9       Section "InputDevice"
10         Identifier "devname"
11         Driver "synaptics"
12         Option "Device"   "devpath"
13         Option "Path"     "path"
14         ...
15       EndSection
16

DESCRIPTION

18       synaptics is an Xorg input driver for touchpads.  Even though touchpads
19       can be handled by the normal evdev or mouse drivers, this driver allows
20       more  advanced features of the touchpad to become available. Some bene‐
21       fits would be:
22
23       •   Movement with adjustable, non-linear acceleration and speed.
24
25       •   Button events through short touching of the touchpad.
26
27       •   Double-Button events through double short touching of the touchpad.
28
29       •   Dragging through short touching and holding down the finger on  the
30           touchpad (tap-and-drag gesture).
31
32       •   Middle and right button events on the upper and lower corner of the
33           touchpad.
34
35       •   Vertical scrolling (button four and five events) through moving the
36           finger on the right side of the touchpad.
37
38       •   The up/down button sends button four/five events.
39
40       •   Horizontal  scrolling  (button six and seven events) through moving
41           the finger on the lower side of the touchpad.
42
43       •   The  multi-buttons  send  button  four/five  events  for   vertical
44           scrolling and button six/seven events for horizontal scrolling.
45
46       •   Adjustable finger detection.
47
48       •   Multifinger  taps: two finger for right button and three finger for
49           middle button events.  (Needs hardware support.  Not all models im‐
50           plement this feature.)
51
52       •   Pressure-dependent motion speed.
53
54       Note  that  depending  on the touchpad firmware, some of these features
55       might be available even without using the synaptics driver.  Note  also
56       that  some  functions are not available on all touchpad models, because
57       they need support from  the  touchpad  hardware/firmware.  (Multifinger
58       taps for example.)
59
60       The  name  "synaptics"  is historical and the driver still provides the
61       synaptics protocol parsing code. Under  Linux  however,  the  hardware-
62       specifics  are  handled by the kernel and this driver will work for any
63       touchpad that has a working kernel driver. If your device is recognized
64       as "PS/2 Mouse" or similar, the kernel driver does not support your de‐
65       vice and this driver will only provide limited functionality.
66
67

CONFIGURATION OPTIONS

69       Please refer to xorg.conf(5) for general configuration details and  for
70       options  that  can  be  used with all input drivers.  This section only
71       covers configuration details specific to this driver.
72
73       The following driver Options are supported:
74
75       Option "Device" "string"
76              This option specifies the device file in your  "/dev"  directory
77              which  will  be used to access the physical device. Normally you
78              should use something like "/dev/input/eventX", where X  is  some
79              integer.
80
81       Option "Protocol" "string"
82              Specifies  which kernel driver will be used by this driver. This
83              is the list of supported drivers and their default  use  scenar‐
84              ios.
85
86              auto-dev   automatic, default (recommend)
87              event      Linux 2.6 kernel events
88              psaux      raw device access (Linux 2.4)
89              psm        FreeBSD psm driver
90
91       Option "LeftEdge" "integer"
92              X coordinate for left edge. Property: "Synaptics Edges"
93
94       Option "RightEdge" "integer"
95              X coordinate for right edge. Property: "Synaptics Edges"
96
97       Option "TopEdge" "integer"
98              Y coordinate for top edge. Property: "Synaptics Edges"
99
100       Option "BottomEdge" "integer"
101              Y coordinate for bottom edge. Property: "Synaptics Edges"
102
103       Option "FingerLow" "integer"
104              When  finger  pressure drops below this value, the driver counts
105              it as a release. Property: "Synaptics Finger"
106
107       Option "FingerHigh" "integer"
108              When finger pressure goes above this value, the driver counts it
109              as a touch. Property: "Synaptics Finger"
110
111       Option "MaxTapTime" "integer"
112              Maximum  time  (in  milliseconds) for detecting a tap. Property:
113              "Synaptics Tap Durations"
114
115       Option "MaxTapMove" "integer"
116              Maximum movement of the finger for detecting  a  tap.  Property:
117              "Synaptics Tap Move"
118
119       Option "MaxDoubleTapTime" "integer"
120              Maximum time (in milliseconds) for detecting a double tap. Prop‐
121              erty: "Synaptics Tap Durations"
122
123       Option "ClickTime" "integer"
124              The duration of the mouse click generated by tapping.  Property:
125              "Synaptics Tap Durations"
126
127       Option "ClickPad" "boolean"
128              Whether the device is a click pad. See ClickPad support for more
129              details. Property: "Synaptics ClickPad"
130
131       Option "VertEdgeScroll" "boolean"
132              Enable vertical scrolling when dragging along  the  right  edge.
133              Property: "Synaptics Edge Scrolling"
134
135       Option "HorizEdgeScroll" "boolean"
136              Enable horizontal scrolling when dragging along the bottom edge.
137              Property: "Synaptics Edge Scrolling"
138
139       Option "CornerCoasting" "boolean"
140              Enable edge scrolling to continue while the finger stays  in  an
141              edge corner.  Property: "Synaptics Edge Scrolling"
142
143       Option "VertTwoFingerScroll" "boolean"
144              Enable  vertical  scrolling  when dragging with two fingers any‐
145              where  on  the   touchpad.   Property:   "Synaptics   Two-Finger
146              Scrolling"
147
148       Option "HorizTwoFingerScroll" "boolean"
149              Enable  horizontal scrolling when dragging with two fingers any‐
150              where  on  the   touchpad.   Property:   "Synaptics   Two-Finger
151              Scrolling"
152
153       Option "VertScrollDelta" "integer"
154              Move  distance  of  the  finger  for  a  scroll event. Property:
155              "Synaptics Scrolling Distance"
156
157       Option "HorizScrollDelta" "integer"
158              Move distance of  the  finger  for  a  scroll  event.  Property:
159              "Synaptics Scrolling Distance"
160
161       Option "MinSpeed" "float"
162              Minimum speed factor. Property: "Synaptics Move Speed"
163
164       Option "MaxSpeed" "float"
165              Maximum speed factor. Property: "Synaptics Move Speed"
166
167       Option "AccelFactor" "float"
168              Acceleration  factor  for  normal  pointer  movements. Property:
169              "Synaptics Move Speed"
170
171       Option "PressureMotionMinZ" "integer"
172              Finger pressure at which minimum pressure motion factor  is  ap‐
173              plied. Property: "Synaptics Pressure Motion"
174
175       Option "PressureMotionMaxZ" "integer"
176              Finger  pressure  at which maximum pressure motion factor is ap‐
177              plied.  Property: "Synaptics Pressure Motion"
178
179       Option "PressureMotionMinFactor" "integer"
180              Lowest setting for pressure motion factor. Property:  "Synaptics
181              Pressure Motion Factor"
182
183       Option "PressureMotionMaxFactor" "integer"
184              Greatest  setting  for pressure motion factor. Property: "Synap‐
185              tics Pressure Motion Factor"
186
187       Option "HorizHysteresis" "integer"
188              The minimum horizontal HW distance required to  generate  motion
189              events.  Can be specified as a percentage. Increase if noise mo‐
190              tion is a problem for you. Zero is disabled.  Default: 0.5  per‐
191              cent  of  the  diagonal  or  (in  case of evdev) the appropriate
192              "fuzz" as advertised by the device.
193
194       Option "VertHysteresis" "integer"
195              The minimum vertical HW distance  required  to  generate  motion
196              events. See HorizHysteresis.
197
198       Option "UpDownScrolling" "boolean"
199              If  on, the up/down buttons generate button 4/5 events.  If off,
200              the up button generates a double click and the down button  gen‐
201              erates  a  button  2  event.  This  option is only available for
202              touchpads with physical scroll  buttons.   Property:  "Synaptics
203              Button Scrolling"
204
205       Option "LeftRightScrolling" "boolean"
206              If  on,  the  left/right buttons generate button 6/7 events.  If
207              off, the left/right buttons both generate button 2 events.  This
208              option is only available for touchpads with physical scroll but‐
209              tons.  Property: "Synaptics Button Scrolling"
210
211       Option "UpDownScrollRepeat" "boolean"
212              If on, and the up/down buttons are used for  scrolling  (UpDown‐
213              Scrolling),  these  buttons will send auto-repeating 4/5 events,
214              with the delay between repeats determined by ScrollButtonRepeat.
215              This option is only available for touchpads with physical scroll
216              buttons.  Property: "Synaptics Button Scrolling Repeat"
217
218       Option "LeftRightScrollRepeat" "boolean"
219              If on, and the left/right buttons are used for scrolling  (Left‐
220              RightScrolling),  these  buttons  will  send  auto-repeating 6/7
221              events, with the delay between repeats determined by  ScrollBut‐
222              tonRepeat.   This  option  is  only available for touchpads with
223              physical scroll buttons.  Property: "Synaptics Button  Scrolling
224              Repeat"
225
226       Option "ScrollButtonRepeat" "integer"
227              The  number of milliseconds between repeats of button events 4-7
228              from the up/down/left/right scroll buttons.  This option is only
229              available for touchpads with physical scroll buttons.  Property:
230              "Synaptics Button Scrolling Time"
231
232       Option "EmulateMidButtonTime" "integer"
233              Maximum time (in  milliseconds)  for  middle  button  emulation.
234              Property: "Synaptics Middle Button Timeout"
235
236       Option "EmulateTwoFingerMinZ" "integer"
237              For  touchpads not capable of detecting multiple fingers but are
238              capable of detecting finger pressure and width, this sets the  Z
239              pressure threshold.  When both Z pressure and W width thresholds
240              are crossed, a two finger press will be emulated. This  defaults
241              to  a  value that disables emulation on touchpads with real two-
242              finger detection and defaults to a value that enables  emulation
243              on  remaining touchpads that support pressure and width support.
244              Property: "Synaptics Two-Finger Pressure"
245
246       Option "EmulateTwoFingerMinW" "integer"
247              For touchpads not capable of detecting multiple fingers but  are
248              capable  of detecting finger width and pressure, this sets the W
249              width threshold.  When both W width and  Z  pressure  thresholds
250              are  crossed,  a two finger press will be emulated. This feature
251              works best with (PalmDetect) off. Property: "Synaptics  Two-Fin‐
252              ger Width"
253
254       Option "TouchpadOff" "integer"
255              Switch off the touchpad.  Valid values are:
256
257              0   Touchpad is enabled
258              1   Touchpad is switched off (physical clicks still work)
259              2   Only tapping and scrolling is switched off
260              When  the  touchpad  is  switched off, button events caused by a
261              physical button press are still interpreted. On a ClickPad, this
262              includes  software-emulated  middle and right buttons as defined
263              by the SoftButtonAreas setting.
264
265       Property: "Synaptics Off"
266
267       Option "LockedDrags" "boolean"
268              If off, a tap-and-drag gesture ends when you release the finger.
269              If on, the gesture is active until you tap a second time, or un‐
270              til  LockedDragTimeout  expires.  Property:  "Synaptics   Locked
271              Drags"
272
273       Option "LockedDragTimeout" "integer"
274              This parameter specifies how long it takes (in milliseconds) for
275              the LockedDrags mode to be automatically turned  off  after  the
276              finger  is  released  from  the  touchpad.  Property: "Synaptics
277              Locked Drags Timeout"
278
279       Option "RTCornerButton" "integer"
280              Which mouse button is reported on a right top corner  tap.   Set
281              to 0 to disable. Property: "Synaptics Tap Action"
282
283       Option "RBCornerButton" "integer"
284              Which  mouse  button  is  reported on a right bottom corner tap.
285              Set to 0 to disable. Property: "Synaptics Tap Action"
286
287       Option "LTCornerButton" "integer"
288              Which mouse button is reported on a left top corner tap.  Set to
289              0 to disable. Property: "Synaptics Tap Action"
290
291       Option "LBCornerButton" "integer"
292              Which mouse button is reported on a left bottom corner tap.  Set
293              to 0 to disable. Property: "Synaptics Tap Action"
294
295       Option "TapButton1" "integer"
296              Which mouse button is reported on a non-corner  one-finger  tap.
297              Set to 0 to disable. Property: "Synaptics Tap Action"
298
299       Option "TapButton2" "integer"
300              Which  mouse  button is reported on a non-corner two-finger tap.
301              Set to 0 to disable. Property: "Synaptics Tap Action"
302
303       Option "TapButton3" "integer"
304              Which mouse button is reported on a non-corner three-finger tap.
305              Set to 0 to disable. Property: "Synaptics Tap Action"
306
307       Option "ClickFinger1" "integer"
308              Which  mouse button is reported when left-clicking with one fin‐
309              ger.  Set to 0 to disable. Property: "Synaptics Click Action"
310
311       Option "ClickFinger2" "integer"
312              Which mouse button is reported when left-clicking with two  fin‐
313              gers.  Set to 0 to disable. Property: "Synaptics Click Action"
314
315       Option "ClickFinger3" "integer"
316              Which  mouse  button  is  reported when left-clicking with three
317              fingers.  Set to 0 to disable. Property:  "Synaptics  Click  Ac‐
318              tion"
319
320       Option "CircularScrolling" "boolean"
321              If on, circular scrolling is used. Property: "Synaptics Circular
322              Scrolling"
323
324       Option "CircScrollDelta" "float"
325              Move angle (radians) of finger to generate a scroll event. Prop‐
326              erty: "Synaptics Circular Scrolling Distance"
327
328       Option "CircScrollTrigger" "integer"
329              Trigger region on the touchpad to start circular scrolling
330
331              0   All Edges
332              1   Top Edge
333              2   Top Right Corner
334              3   Right Edge
335              4   Bottom Right Corner
336              5   Bottom Edge
337              6   Bottom Left Corner
338
339              7   Left Edge
340              8   Top Left Corner
341              Property: "Synaptics Circular Scrolling Trigger"
342
343       Option "CircularPad" "boolean"
344              Instead  of  being a rectangle, the edge is the ellipse enclosed
345              by  the  Left/Right/Top/BottomEdge  parameters.   For   circular
346              touchpads. Property: "Synaptics Circular Pad"
347
348       Option "PalmDetect" "boolean"
349              If  palm  detection  should be enabled.  Note that this also re‐
350              quires hardware/firmware support from  the  touchpad.  Property:
351              "Synaptics Palm Detection"
352
353       Option "PalmMinWidth" "integer"
354              Minimum  finger width at which touch is considered a palm. Prop‐
355              erty: "Synaptics Palm Dimensions"
356
357       Option "PalmMinZ" "integer"
358              Minimum finger pressure at which touch  is  considered  a  palm.
359              Property: "Synaptics Palm Dimensions"
360
361       Option "CoastingSpeed" "float"
362              Your finger needs to produce this many scrolls per second in or‐
363              der to start coasting.  The default is 20 which  should  prevent
364              you  from  starting coasting unintentionally.  0 disables coast‐
365              ing. Property: "Synaptics Coasting Speed"
366
367       Option "CoastingFriction" "float"
368              Number of scrolls/second² to decrease the coasting  speed.   De‐
369              fault is 50.  Property: "Synaptics Coasting Speed"
370
371       Option "SingleTapTimeout" "integer"
372              Timeout  after  a tap to recognize it as a single tap. Property:
373              "Synaptics Tap Durations"
374
375       Option "GrabEventDevice" "boolean"
376              If GrabEventDevice is true, the driver will grab the  event  de‐
377              vice  for exclusive use when using the linux 2.6 event protocol.
378              When using other protocols, this option has no effect.  Grabbing
379              the  event device means that no other user space or kernel space
380              program sees the touchpad events.  This is desirable  if  the  X
381              config  file includes /dev/input/mice as an input device, but is
382              undesirable if you want to monitor the device from  user  space.
383              When  changing  this  parameter  with the synclient program, the
384              change will not take effect until the synaptics driver  is  dis‐
385              abled  and  re-enabled.   This can be achieved by switching to a
386              text console and then switching back to X.
387
388       Option "TapAndDragGesture" "boolean"
389              Switch on/off the tap-and-drag gesture.  This gesture is an  al‐
390              ternative way of dragging.  It is performed by tapping (touching
391              and releasing the finger), then touching again  and  moving  the
392              finger  on  the touchpad.  The gesture is enabled by default and
393              can be disabled  by  setting  the  TapAndDragGesture  option  to
394              false. Property: "Synaptics Gestures"
395
396       Option "VertResolution" "integer"
397              Resolution  of  X  coordinates in units/millimeter. The value is
398              used together with HorizResolution to compensate unequal  verti‐
399              cal  and  horizontal  sensitivity.  Setting  VertResolution  and
400              HorizResolution equal  values  means  no  compensation.  Default
401              value  is  read from the touchpad or set to 1 if value could not
402              be read.  Property: "Synaptics Pad Resolution"
403
404       Option "HorizResolution" "integer"
405              Resolution of Y coordinates in units/millimeter.  The  value  is
406              used together with VertResolution to compensate unequal vertical
407              and horizontal sensitivity. Setting VertResolution and HorizRes‐
408              olution  equal  values  means  no compensation. Default value is
409              read from the touchpad or set to 1 if value could not  be  read.
410              Property: "Synaptics Pad Resolution"
411
412       Option "AreaLeftEdge" "integer"
413              Ignore movements, scrolling and tapping which start left of this
414              edge.  The option is disabled by default and can be  enabled  by
415              setting  the AreaLeftEdge option to any integer value other than
416              zero. If supported by the server (version 1.9  and  later),  the
417              edge  may  be  specified  in  percent  of the total width of the
418              touchpad. Property: "Synaptics Area"
419
420       Option "AreaRightEdge" "integer"
421              Ignore movements, scrolling and tapping  which  start  right  of
422              this edge.  The option is disabled by default and can be enabled
423              by setting the AreaRightEdge option to any integer  value  other
424              than  zero.  If supported by the server (version 1.9 and later),
425              the edge may be specified in percent of the total width  of  the
426              touchpad. Property: "Synaptics Area"
427
428       Option "AreaTopEdge" "integer"
429              Ignore  movements,  scrolling and tapping which start above this
430              edge.  The option is disabled by default and can be  enabled  by
431              setting  the  AreaTopEdge option to any integer value other than
432              zero. If supported by the server (version 1.9  and  later),  the
433              edge  may  be  specified  in  percent of the total height of the
434              touchpad. Property: "Synaptics Area"
435
436       Option "AreaBottomEdge" "integer"
437              Ignore movements, scrolling and tapping which start  below  this
438              edge.   The  option is disabled by default and can be enabled by
439              setting the AreaBottomEdge option to  any  integer  value  other
440              than  zero.  If supported by the server (version 1.9 and later),
441              the edge may be specified in percent of the total height of  the
442              touchpad. Property: "Synaptics Area"
443
444       Option "SoftButtonAreas" "RBL RBR RBT RBB MBL MBR MBT MBB"
445              This  option is only available on ClickPad devices.  Enable soft
446              button click area support on ClickPad devices.  The  first  four
447              parameters  are  the  left, right, top, bottom edge of the right
448              button, respectively, the second four parameters are  the  left,
449              right,  top, bottom edge of the middle button, respectively. Any
450              of the values may be given as percentage of the  touchpad  width
451              or height, whichever applies.  If any edge is set to 0 (not 0%),
452              the button is assumed to extend to infinity in the given  direc‐
453              tion.  Setting all values to 0 (not 0%) disables soft button ar‐
454              eas. Button areas may not overlap, however it is  permitted  for
455              two  buttons  to share an edge value.  Property: "Synaptics Soft
456              Button Areas"
457
458       Option "HasSecondarySoftButtons" "boolean"
459              This option is only available on ClickPad devices.   Enable  the
460              secondary  software  button area support. The exact area must be
461              set in option "SecondarySoftButtonAreas".  See ClickPad  support
462              for more details.
463
464       Option "SecondarySoftButtonAreas" "RBL RBR RBT RBB MBL MBR MBT MBB"
465              This  option  is  only available on ClickPad devices and only if
466              Option "HasSecondarySoftButtons" is enabled.   Define  the  sec‐
467              ondary  soft  button click areas on ClickPad devices (usually on
468              top of the device).  For the allowed values for this option, see
469              Option "SoftButtonAreas".  Primary and secondary soft button ar‐
470              eas must not overlap each other. If they do, the behavior of the
471              driver is undefined.  Property: "Synaptics Secondary Soft Button
472              Areas". This property is only  initialized  if  Option  "HasSec‐
473              ondarySoftButtons"  is  enabled  and  this  option is set in the
474              xorg.conf(5).
475
476

CONFIGURATION DETAILS

478   Area handling
479       The LeftEdge, RightEdge, TopEdge and BottomEdge parameters are used  to
480       define the edge and corner areas of the touchpad.  The parameters split
481       the touchpad area in 9 pieces, like this:
482             │             │
483             │ LeftEdge    │ RightEdge
484       ┌─────└─────────────└───┐ Physical top edge
485       │ 1   │      2      │ 3 │
486       └─────└─────────────└───┘ TopEdge
487       │     │             │   │
488       │ 4   │      5      │ 6 │
489       │     │             │   │
490       └─────└─────────────└───┘ BottomEdge
491       │ 7   │      8      │ 9 │
492       └─────└─────────────└───┘ Physical bottom edge
493       │Physical left edge     │ Physical right edge
494
495       Coordinates to the left of LeftEdge are part of the left edge (areas 1,
496       4  and  7), coordinates to the left of LeftEdge and above TopEdge (area
497       1) are part of the upper left corner, etc.
498
499       A good way to find appropriate edge parameters is to use  evtest(1)  on
500       the  device to see the x/y coordinates corresponding to different posi‐
501       tions on the touchpad.
502
503       The perceived physical edges may be  adjusted  with  the  AreaLeftEdge,
504       AreaRightEdge, AreaTopEdge, and AreaBottomEdge options. If these values
505       are set to something other than the physical edges, input  that  starts
506       in  the space between the area edge and the respective physical edge is
507       ignored.  Note that this reduces the available space on the touchpad to
508       start motions in.
509
510   Tapping
511       A  tap  event happens when the finger is touched and released in a time
512       interval shorter than MaxTapTime, and the touch and release coordinates
513       are less than MaxTapMove units apart.  A "touch" event happens when the
514       Z value goes above FingerHigh, and an "untouch" event happens when  the
515       Z value goes below FingerLow.
516
517       The  MaxDoubleTapTime parameter has the same function as the MaxTapTime
518       parameter, but for the second, third, etc tap in a  tap  sequence.   If
519       you  can't perform double clicks fast enough (for example, xmms depends
520       on fast double clicks), try reducing this parameter.  If you can't  get
521       word  selection  to  work  in  xterm (ie button down, button up, button
522       down, move mouse), try increasing this parameter.
523
524       The ClickTime parameter controls the delay between the button down  and
525       button  up  X  events generated in response to a tap event.  A too long
526       value can cause undesirable autorepeat in scroll bars and a  too  small
527       value  means  that visual feedback from the gui application you are in‐
528       teracting with is harder to see.
529
530   Acceleration
531       The MinSpeed, MaxSpeed and AccelFactor parameters control  the  pointer
532       motion speed.  The speed value defines the scaling between touchpad co‐
533       ordinates and screen coordinates.  When moving the finger very  slowly,
534       the MinSpeed value is used, when moving very fast the MaxSpeed value is
535       used.  When moving the finger at moderate speed, you get a pointer  mo‐
536       tion  speed somewhere between MinSpeed and MaxSpeed.  If you don't want
537       any acceleration, set MinSpeed and MaxSpeed to the same value.
538
539       The MinSpeed, MaxSpeed and AccelFactor parameters don't have any effect
540       on  scrolling  speed.   Scrolling  speed  is determined solely from the
541       VertScrollDelta and HorizScrollDelta parameters.  To invert the  direc‐
542       tion  of  vertical  or  horizontal  scrolling,  set  VertScrollDelta or
543       HorizScrollDelta to a negative value.
544
545       Acceleration is mostly handled outside the driver, thus the driver will
546       translate  MinSpeed  into  constant  deceleration and adapt MaxSpeed at
547       startup time. This ensures you can user  the  other  acceleration  pro‐
548       files,  albeit  without pressure motion. However the numbers at runtime
549       will likely be different from any options you may have set.
550
551
552   Pressure motion
553       When pressure motion is activated, the cursor motion speed  depends  on
554       the  pressure exerted on the touchpad (the more pressure exerted on the
555       touchpad, the faster the pointer).  More precisely the speed  is  first
556       calculated according to MinSpeed, MaxSpeed and AccelFactor, and then is
557       multiplied by a sensitivity factor.
558
559       The sensitivity factor can be adjusted using the PressureMotion parame‐
560       ters.   If the pressure is below PressureMotionMinZ, PressureMotionMin‐
561       Factor is used, and if the pressure is greater than PressureMotionMaxZ,
562       PressureMotionMaxFactor  is  used.   For a pressure value between Pres‐
563       sureMotionMinZ and PressureMotionMaxZ, the  factor  is  increased  lin‐
564       early.
565
566   Middle button emulation
567       Since  most  synaptics  touchpad models don't have a button that corre‐
568       sponds to the middle button on a mouse, the driver can  emulate  middle
569       mouse  button  events.  If you press both the left and right mouse but‐
570       tons at almost the same time (no more  than  EmulateMidButtonTime  mil‐
571       liseconds apart) the driver generates a middle mouse button event.
572
573   Circular scrolling
574       Circular  scrolling  acts  like  a  scrolling  wheel  on  the touchpad.
575       Scrolling is engaged when a drag starts in the given  CircScrollTrigger
576       region, which can be all edges, a particular side, or a particular cor‐
577       ner.  Once scrolling is engaged, moving your finger in  clockwise  cir‐
578       cles around the center of the touchpad will generate scroll down events
579       and counter clockwise motion will generate scroll up  events.   Lifting
580       your  finger will disengage circular scrolling.  Use tight circles near
581       the center of the pad for fast scrolling and large circles  for  better
582       control.  When used together with vertical scrolling, hitting the upper
583       or lower right corner will seamlessly switch over from vertical to cir‐
584       cular scrolling.
585
586
587   Coasting
588       Coasting  is  enabled  by setting the CoastingSpeed parameter to a non-
589       zero value.  Coasting comes in two flavors: conventional  (finger  off)
590       coasting, and corner (finger on) coasting.
591
592       Conventional  coasting is enabled when coasting is enabled, and Corner‐
593       Coasting is set to false.  When conventional coasting is enabled, hori‐
594       zontal/vertical  scrolling  can  continue  after the finger is released
595       from the lower/right edge of the touchpad.   The  driver  computes  the
596       scrolling  speed  corresponding  to the finger speed immediately before
597       the finger leaves the touchpad.  If this scrolling speed is larger than
598       the CoastingSpeed parameter (measured in scroll events per second), the
599       scrolling will continue with the same speed in the same direction until
600       the finger touches the touchpad again.
601
602       Corner coasting is enabled when coasting is enabled, and CornerCoasting
603       is set to true.  When corner coasting is enabled,  edge  scrolling  can
604       continue as long as the finger stays in a corner.  Coasting begins when
605       the finger enters the corner, and continues until the finger leaves the
606       corner.   CornerCoasting takes precedence over the seamless switch from
607       edge scrolling to circular scrolling.  That is,  if  CornerCoasting  is
608       active,  scrolling  will  stop,  and circular scrolling will not start,
609       when the finger leaves the corner.
610
611
612   Noise cancellation
613       The synaptics has a built-in noise cancellation  based  on  hysteresis.
614       This means that incoming coordinates actually shift a box of predefined
615       dimensions such that it covers the incoming coordinate,  and  only  the
616       boxes  own  center is used as input. Obviously, the smaller the box the
617       better, but the likelihood of noise  motion  coming  through  also  in‐
618       creases.
619
620
621   ClickPad support
622       A  click pad device has button(s) integrated into the touchpad surface.
623       The user must press downward on the touchpad in order  to  generated  a
624       button press. ClickPad support is enabled if the option ClickPad is set
625       or the property is set at runtime. On some platforms, this option  will
626       be set automatically if the kernel detects a matching device. On Linux,
627       the device must have the INPUT_PROP_BUTTONPAD property set.
628
629       ClickPads do not support middle mouse  button  emulation.  If  enabling
630       ClickPad  support  at  runime,  the user must also set the middle mouse
631       button timeout to 0. If auto-detected, middle mouse button emulation is
632       disabled by the driver.
633
634       ClickPads  provide  software  emulated buttons through Option "SoftBut‐
635       tonAreas".  These buttons enable areas on the touchpad  to  perform  as
636       right  or  middle mouse button. When the user performs a click within a
637       defined soft button area, a right or middle click is performed.
638
639       Some laptops, most notably the Lenovo T440, T540 and x240 series,  pro‐
640       vide  a  pointing stick without physical buttons. On those laptops, the
641       top of the touchpad acts as software-emulated button  area.  This  area
642       can  be  enabled  with  Option "HasSecondarySoftButtons" and configured
643       with Option "SecondarySoftButtonAreas".  On some platforms, this option
644       will  be  set automatically if the kernel detects a matching device. On
645       Linux, the device must have the INPUT_PROP_TOPBUTTONPAD property set.
646
647

DEVICE PROPERTIES

649       Synaptics 1.0 and higher support input device properties if the  driver
650       is  running  on X server 1.6 or higher. The synclient tool shipped with
651       synaptics version 1.1 uses input device properties by default.  Proper‐
652       ties supported:
653
654       Synaptics Edges
655              32 bit, 4 values, left, right, top, bottom.
656
657
658       Synaptics Finger
659              32 bit, 3 values, low, high, press.
660
661
662       Synaptics Tap Time
663              32 bit.
664
665
666       Synaptics Tap Move
667              32 bit.
668
669
670       Synaptics Tap Durations
671              32  bit,  3  values,  single touch timeout, max tapping time for
672              double taps, duration of a single click.
673
674
675       Synaptics ClickPad
676              8 bit (Bool).
677
678
679       Synaptics Middle Button Timeout
680              32 bit.
681
682
683       Synaptics Two-Finger Pressure
684              32 bit.
685
686
687       Synaptics Two-Finger Width
688              32 bit.
689
690
691       Synaptics Scrolling Distance
692              32 bit, 2 values, vert, horiz.
693
694
695       Synaptics Edge Scrolling
696              8 bit (BOOL), 3 values, vertical, horizontal, corner.
697
698
699       Synaptics Two-Finger Scrolling
700              8 bit (BOOL), 2 values, vertical, horizontal.
701
702
703       Synaptics Move Speed
704              FLOAT, 4 values, min, max, accel, <deprecated>
705
706
707       Synaptics Button Scrolling
708              8 bit (BOOL), 2 values, updown, leftright.
709
710
711       Synaptics Button Scrolling Repeat
712              8 bit (BOOL), 2 values, updown, leftright.
713
714
715       Synaptics Button Scrolling Time
716              32 bit.
717
718
719       Synaptics Off
720              8 bit, valid values (0, 1, 2).
721
722
723       Synaptics Locked Drags
724              8 bit (BOOL).
725
726
727       Synaptics Locked Drags Timeout
728              32 bit.
729
730
731       Synaptics Tap Action
732              8 bit, up to MAX_TAP values (see synaptics.h), 0 disables an el‐
733              ement. order: RT, RB, LT, LB, F1, F2, F3.
734
735
736       Synaptics Click Action
737              8  bit,  up to MAX_CLICK values (see synaptics.h), 0 disables an
738              element.  order: Finger 1, 2, 3.
739
740
741       Synaptics Circular Scrolling
742              8 bit (BOOL).
743
744
745       Synaptics Circular Scrolling Distance
746              FLOAT.
747
748
749       Synaptics Circular Scrolling Trigger
750              8 bit, valid values 0..8 (inclusive) order: any edge, top, top +
751              right,  right, right + bottom, bottom, bottom + left, left, left
752              + top.
753
754
755       Synaptics Circular Pad
756              8 bit (BOOL).
757
758
759       Synaptics Palm Detection
760              8 bit (BOOL).
761
762
763       Synaptics Palm Dimensions
764              32 bit, 2 values, width, z.
765
766
767       Synaptics Coasting Speed
768              FLOAT, 2 values, speed, friction.
769
770
771       Synaptics Pressure Motion
772              32 bit, 2 values, min, max.
773
774
775       Synaptics Pressure Motion Factor
776              FLOAT, 2 values, min, max.
777
778
779       Synaptics Grab Event Device
780              8 bit (BOOL).
781
782
783       Synaptics Gestures
784              8 bit (BOOL), 1 value, tap-and-drag.
785
786
787       Synaptics Area
788              The AreaLeftEdge, AreaRightEdge, AreaTopEdge and  AreaBottomEdge
789              parameters  are  used  to define the edges of the active area of
790              the touchpad. All movements, scrolling and  tapping  which  take
791              place  outside  of  this  area will be ignored. This property is
792              disabled by default.
793
794              32 bit, 4 values, left, right, top, bottom. 0 disables  an  ele‐
795              ment.
796
797
798       Synaptics Soft Button Areas
799              This  property is only available on ClickPad devices.  The Right
800              and middle soft button areas are used to support right and  mid‐
801              dle click actions on a ClickPad device. Providing 0 for all val‐
802              ues of a given button disables the button area.
803
804              32 bit, 8 values, RBL, RBR, RBT, RBB, MBL, MBR, MBT, MBB.
805
806
807       Synaptics Capabilities
808              This read-only property expresses the physical capability of the
809              touchpad,  most  notably  whether the touchpad hardware supports
810              multi-finger tapping and scrolling.
811
812              8 bit (BOOL), 7 values (read-only), has left button, has  middle
813              button, has right button, two-finger detection, three-finger de‐
814              tection, pressure detection, and finger/palm width detection.
815
816
817       Synaptics Pad Resolution
818              32 bit unsigned, 2 values (read-only), vertical,  horizontal  in
819              units/millimeter.
820
821

NOTES

823       Configuration  through  InputClass sections is recommended in X servers
824       1.8  and  later.  See  xorg.conf.d(5)  for  more  details.  An  example
825       xorg.conf.d snippet is provided in ${sourcecode}/conf/70-synaptics.conf
826
827       Configuration  through  hal  fdi files is recommended in X servers 1.5,
828       1.6 and 1.7. An example  hal  policy  file  is  provided  in  ${source‐
829       code}/conf/11-x11-synaptics.fdi
830
831       If either of Protocol "auto-dev" (default) or Protocol "event" is used,
832       the driver initializes defaults based on the capabilities  reported  by
833       the  kernel driver. Acceleration, edges and resolution are based on the
834       dimensions reported by the kernel. If the kernel  reports  multi-finger
835       detection,  two-finger  vertical  scrolling is enabled, horizontal two-
836       finger scrolling is disabled and edge  scrolling  is  disabled.  If  no
837       multi-finger  capabilities  are reported, edge scrolling is enabled for
838       both horizontal and vertical scrolling.  Tapping is disabled by default
839       for touchpads with one or more physical buttons.  To enable it you need
840       to map tap actions to buttons. See the "TapButton1",  "TapButton2"  and
841       "TapButton3" options.
842
843       Button  mapping  for physical buttons is handled in the server.  If the
844       device is switched to left-handed (an  in-server  mapping  of  physical
845       buttons  1,  2,  3  to the logical buttons 3, 2, 1, respectively), both
846       physical and TapButtons are affected. To counteract this,  the  TapBut‐
847       tons need to be set up in reverse order (TapButton1=3, TapButton2=1).
848
849

REMOVED OPTIONS

851       The following options are no longer part of the driver configuration:
852
853       Option "Repeater" "string"
854
855       Option "HistorySize" "integer"
856
857       Option "SpecialScrollAreaRight" "boolean"
858
859       Option "GuestMouseOff" "boolean"
860
861       Option "SHMConfig" "boolean"
862
863       Option "FingerPress" "integer"
864
865       Option "TrackstickSpeed" "float"
866
867       Option "EdgeMotionMinZ" "integer"
868
869       Option "EdgeMotionMaxZ" "integer"
870
871       Option "EdgeMotionMinSpeed" "integer"
872
873       Option "EdgeMotionMaxSpeed" "integer"
874
875       Option "EdgeMotionUseAlways" "boolean"
876
877
878
879       AUTHORS
880
881       Peter Osterlund <petero2@telia.com> and many others.
882

SEE ALSO

884       Xorg(1), xorg.conf(5), Xserver(1), X(7), synclient(1), syndaemon(1)
885
886
887
888X Version 11              xf86-input-synaptics 1.9.2              SYNAPTICS(4)
Impressum