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
50           implement this feature.)
51
52       ·   Pressure dependent motion speed.
53
54       ·   Run-time  configuration  using  shared  memory.  This means you can
55           change parameter settings without restarting the X server.
56
57       Note that depending on the touchpad firmware, some  of  these  features
58       might  be  available even without using the synaptics driver. Note also
59       that some functions are not available on all touchpad  models,  because
60       they  need  support  from  the touchpad hardware/firmware. (Multifinger
61       taps for example.)
62
63       The name "synaptics" is historical and the driver  still  provides  the
64       synaptics  protocol  parsing  code.  Under Linux however, the hardware-
65       specifics are handled by the kernel and this driver will work  for  any
66       touchpad that has a working kernel driver.
67
68

CONFIGURATION OPTIONS

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

CONFIGURATION DETAILS

467   Area handling
468       The  LeftEdge, RightEdge, TopEdge and BottomEdge parameters are used to
469       define the edge and corner areas of the touchpad.  The parameters split
470       the touchpad area in 9 pieces, like this:
471
472             │ LeftEdge    │ RightEdge
473       ┌─────└─────────────└───┐ Physical top edge
474       │ 1   │      2      │ 3 │
475       └─────└─────────────└───┘ TopEdge
476       │     │             │   │
477       │ 4   │      5      │ 6 │
478       │     │             │   │
479       └─────└─────────────└───┘ BottomEdge
480       │ 7   │      8      │ 9 │
481       └─────└─────────────└───┘ Physical bottom edge
482       │Physical left edge     │ Physical right edge
483
484       Coordinates to the left of LeftEdge are part of the left edge (areas 1,
485       4 and 7), coordinates to the left of LeftEdge and above  TopEdge  (area
486       1) are part of the upper left corner, etc.
487
488       A good way to find appropriate edge parameters is to enable the SHMCon‐
489       fig option and run "synclient -m 1" to see the x/y  coordinates  corre‐
490       sponding to different positions on the touchpad.
491
492       The  perceived  physical  edges  may be adjusted with the AreaLeftEdge,
493       AreaRightEdge, AreaTopEdge, and AreaBottomEdge options. If these values
494       are  set to something other than the physical edges, input in the space
495       between the area edge and the respective physical edge is ignored. Note
496       that this reduces the available space on the touchpad.
497
498   Tapping
499       A  tap  event happens when the finger is touched and released in a time
500       interval shorter than MaxTapTime, and the touch and release coordinates
501       are less than MaxTapMove units apart.  A "touch" event happens when the
502       Z value goes above FingerHigh, and an "untouch" event happens when  the
503       Z value goes below FingerLow.
504
505       The  MaxDoubleTapTime parameter has the same function as the MaxTapTime
506       parameter, but for the second, third, etc tap in a  tap  sequence.   If
507       you  can't perform double clicks fast enough (for example, xmms depends
508       on fast double clicks), try reducing this parameter.  If you can't  get
509       word  selection  to  work  in  xterm (ie button down, button up, button
510       down, move mouse), try increasing this parameter.
511
512       The ClickTime parameter controls the delay between the button down  and
513       button  up  X  events generated in response to a tap event.  A too long
514       value can cause undesirable autorepeat in scroll bars and a  too  small
515       value  means  that  visual  feedback  from  the gui application you are
516       interacting with is harder to see.  For  this  parameter  to  have  any
517       effect, "FastTaps" has to be disabled.
518
519   Acceleration
520       The  MinSpeed,  MaxSpeed and AccelFactor parameters control the pointer
521       motion speed.  The speed value defines  the  scaling  between  touchpad
522       coordinates  and  screen  coordinates.   When  moving  the  finger very
523       slowly, the MinSpeed value is used, when moving very fast the  MaxSpeed
524       value  is  used.   When  moving the finger at moderate speed, you get a
525       pointer motion speed somewhere between MinSpeed and MaxSpeed.   If  you
526       don't  want  any  acceleration,  set  MinSpeed and MaxSpeed to the same
527       value.
528
529       The MinSpeed, MaxSpeed and AccelFactor parameters don't have any effect
530       on  scrolling  speed.   Scrolling  speed  is determined solely from the
531       VertScrollDelta and HorizScrollDelta parameters.  To  disable  vertical
532       or  horizontal  scrolling,  set  VertScrollDelta or HorizScrollDelta to
533       zero.
534
535       When hitting an egde, movement  can  be  automatically  continued.   If
536       EdgeMotionUseAlways  is  false, edge motion is only used when dragging.
537       With EdgeMotionUseAlways set to true, it is also used for normal cursor
538       movements.
539
540       Edge  motion  speed  is calculated by taking into account the amount of
541       pressure applied to the touchpad.   The  sensitivity  can  be  adjusted
542       using  the EdgeMotion parameters.  If the pressure is below EdgeMotion‐
543       MinZ, EdgeMotionMinSpeed is used, and if the pressure is  greater  than
544       EdgeMotionMaxZ,  EdgeMotionMaxSpeed  is  used.   For  a  pressure value
545       between EdgeMotionMinZ and EdgeMotionMaxZ, the speed is increased  lin‐
546       early.
547
548       When  pressure  motion is activated, the cursor motion speed depends on
549       the pressure exerted on the touchpad (the more pressure exerted on  the
550       touchpad,  the  faster the pointer).  More precisely the speed is first
551       calculated according to MinSpeed, MaxSpeed and AccelFactor, and then is
552       multiplied  by  a  sensitivity  factor.   The sensitivity factor can be
553       adjusted using the PressureMotion parameters.  If the pressure is below
554       PressureMotionMinZ,  PressureMotionMinFactor  is used, and if the pres‐
555       sure is greater  than  PressureMotionMaxZ,  PressureMotionMaxFactor  is
556       used.   By default, PressureMotionMinZ and PressureMotionMaxZ are equal
557       to EdgeMotionMinZ and EdgeMotionMaxZ.  For  a  pressure  value  between
558       PressureMotionMinZ and PressureMotionMaxZ, the factor is increased lin‐
559       early.
560
561   Middle button emulation
562       Since most synaptics touchpad models don't have a  button  that  corre‐
563       sponds  to  the middle button on a mouse, the driver can emulate middle
564       mouse button events.  If you press both the left and right  mouse  but‐
565       tons  at  almost  the same time (no more than EmulateMidButtonTime mil‐
566       liseconds apart) the driver generates a middle mouse button event.
567
568   Circular scrolling
569       Circular scrolling  acts  like  a  scrolling  wheel  on  the  touchpad.
570       Scrolling  is engaged when a drag starts in the given CircScrollTrigger
571       region, which can be all edges, a particular side, or a particular cor‐
572       ner.   Once  scrolling is engaged, moving your finger in clockwise cir‐
573       cles around the center of the touchpad will generate scroll down events
574       and  counter  clockwise motion will generate scroll up events.  Lifting
575       your finger will disengage circular scrolling.  Use tight circles  near
576       the  center  of the pad for fast scrolling and large circles for better
577       control.  When used together with vertical scrolling, hitting the upper
578       or lower right corner will seamlessly switch over from vertical to cir‐
579       cular scrolling.
580
581
582   Coasting
583       Coasting is enabled by setting the CoastingSpeed parameter  to  a  non-
584       zero  value.   Coasting comes in two flavors: conventional (finger off)
585       coasting, and corner (finger on) coasting.
586
587       Conventional coasting is enabled when coasting is enabled, and  Corner‐
588       Coasting is set to false.  When conventional coasting is enabled, hori‐
589       zontal/vertical scrolling can continue after  the  finger  is  released
590       from  the  lower/right  edge  of the touchpad.  The driver computes the
591       scrolling speed corresponding to the finger  speed  immediately  before
592       the finger leaves the touchpad.  If this scrolling speed is larger than
593       the CoastingSpeed parameter (measured in scroll events per second), the
594       scrolling will continue with the same speed in the same direction until
595       the finger touches the touchpad again.
596
597       Corner coasting is enabled when coasting is enabled, and CornerCoasting
598       is  set  to  true.  When corner coasting is enabled, edge scrolling can
599       continue as long as the finger stays in a corner.  Coasting begins when
600       the finger enters the corner, and continues until the finger leaves the
601       corner.  CornerCoasting takes precedence over the seamless switch  from
602       edge  scrolling  to  circular scrolling.  That is, if CornerCoasting is
603       active, scrolling will stop, and circular  scrolling  will  not  start,
604       when the finger leaves the corner.
605
606
607   Trackstick mode
608       Trackstick  emulation  mode is entered when pressing the finger hard on
609       the touchpad.  The FingerPress parameter controls the minimum  required
610       finger pressure.  If the finger hasn't moved more than MaxTapMove after
611       MaxTapTime has elapsed, trackstick mode is entered.  In this mode, mov‐
612       ing  the  finger  slightly  in  any direction gives a speed vector that
613       moves the pointer.  The TrackstickSpeed parameter  controls  the  ratio
614       between pointer speed and finger movement distance.  Trackstick mode is
615       exited when the finger pressure drops below FingerLow or when the  fin‐
616       ger is moved further than MaxTapMove away from the initial position.
617
618

DEVICE PROPERTIES

620       Synaptics  1.0 and higher support input device properties if the driver
621       is running on X server 1.6 or higher. On these driver versions,  Option
622       "SHMConfig"  is  not  needed to enable run-time configuration. The syn‐
623       client tool shipped with synaptics version 1.1 uses input device  prop‐
624       erties by default.  Properties supported:
625
626       Synaptics Edges
627              32 bit, 4 values, left, right, top, bottom.
628
629
630       Synaptics Finger
631              32 bit, 3 values, low, high, press.
632
633
634       Synaptics Tap Time
635              32 bit.
636
637
638       Synaptics Tap Move
639              32 bit.
640
641
642       Synaptics Tap Durations
643              32  bit,  3  values,  single touch timeout, max tapping time for
644              double taps, duration of a single click.
645
646
647       Synaptics Tap FastTap
648              8 bit (BOOL).
649
650
651       Synaptics Middle Button Timeout
652              32 bit.
653
654
655       Synaptics Two-Finger Pressure
656              32 bit.
657
658
659       Synaptics Two-Finger Width
660              32 bit.
661
662
663       Synaptics Scrolling Distance
664              32 bit, 2 values, vert, horiz.
665
666
667       Synaptics Edge Scrolling
668              8 bit (BOOL), 3 values, vertical, horizontal, corner.
669
670
671       Synaptics Two-Finger Scrolling
672              8 bit (BOOL), 2 values, vertical, horizontal.
673
674
675       Synaptics Move Speed
676              FLOAT, 4 values, min, max, accel, trackstick.
677
678
679       Synaptics Edge Motion Pressure
680              32 bit, 2 values, min, max.
681
682
683       Synaptics Edge Motion Speed
684              32 bit, 2 values, min, max.
685
686
687       Synaptics Edge Motion Always
688              8 bit (BOOL).
689
690
691       Synaptics Button Scrolling
692              8 bit (BOOL), 2 values, updown, leftright.
693
694
695       Synaptics Button Scrolling Repeat
696              8 bit (BOOL), 2 values, updown, leftright.
697
698
699       Synaptics Button Scrolling Time
700              32 bit.
701
702
703       Synaptics Off
704              8 bit, valid values (0, 1, 2).
705
706
707       Synaptics Locked Drags
708              8 bit (BOOL).
709
710
711       Synaptics Locked Drags Timeout
712              32 bit.
713
714
715       Synaptics Tap Action
716              8 bit, up to MAX_TAP values (see  synaptics.h),  0  disables  an
717              element. order: RT, RB, LT, LB, F1, F2, F3.
718
719
720       Synaptics Click Action
721              8  bit,  up to MAX_CLICK values (see synaptics.h), 0 disables an
722              element.  order: Finger 1, 2, 3.
723
724
725       Synaptics Circular Scrolling
726              8 bit (BOOL).
727
728
729       Synaptics Circular Scrolling Distance
730              FLOAT.
731
732
733       Synaptics Circular Scrolling Trigger
734              8 bit, valid values 0..8 (inclusive) order: any edge, top, top +
735              right,  right, right + bottom, bottom, bottom + left, left, left
736              + top.
737
738
739       Synaptics Circular Pad
740              8 bit (BOOL).
741
742
743       Synaptics Palm Detection
744              8 bit (BOOL).
745
746
747       Synaptics Palm Dimensions
748              32 bit, 2 values, width, z.
749
750
751       Synaptics Coasting Speed
752              FLOAT, 2 values, speed, friction.
753
754
755       Synaptics Pressure Motion
756              32 bit, 2 values, min, max.
757
758
759       Synaptics Pressure Motion Factor
760              FLOAT, 2 values, min, max.
761
762
763       Synaptics Grab Event Device
764              8 bit (BOOL).
765
766
767       Synaptics Gestures
768              8 bit (BOOL), 1 value, tap-and-drag.
769
770
771       Synaptics Area
772              The AreaLeftEdge, AreaRightEdge, AreaTopEdge and  AreaBottomEdge
773              parameters  are  used  to define the edges of the active area of
774              the touchpad. All movements, scrolling and  tapping  which  take
775              place  outside  of  this  area will be ignored. This property is
776              disabled by default.
777
778              32 bit, 4 values, left, right, top, bottom. 0 disables  an  ele‐
779              ment.
780
781
782       Synaptics Capabilities
783              This read-only property expresses the physical capability of the
784              touchpad, most notably whether the  touchpad  hardware  supports
785              multi-finger tapping and scrolling.
786
787              8  bit (BOOL), 7 values (read-only), has left button, has middle
788              button, has right  button,  two-finger  detection,  three-finger
789              detection, pressure detection, and finger/palm width detection.
790
791
792       Synaptics Pad Resolution
793              32  bit  unsigned, 2 values (read-only), vertical, horizontal in
794              units/millimeter.
795
796

NOTES

798       There is an example hal policy file in  ${sourcecode}/fdi/11-x11-synap‐
799       tics.fdi  which  will enable the driver based on the information if the
800       hardware is available. Feel free to copy it to /etc/hal/fdi/policy  and
801       customize  it  to your needs. You can pass custom options to the driver
802       using x11_options properties. Note that this  requires  xorg-server-1.5
803       or higher.
804
805       If either of Protocol "auto-dev" (default) or Protocol "event" is used,
806       the driver initializes defaults based on the capabilities  reported  by
807       the  kernel driver. Acceleration, edges and resolution are based on the
808       dimensions reported by the kernel. If the kernel  reports  multi-finger
809       detection,  two-finger  vertical  scrolling is enabled, horizontal two-
810       finger scrolling is disabled and edge  scrolling  is  disabled.  If  no
811       multi-finger  capabilities  are reported, edge scrolling is enabled for
812       both horizontal and vertical scrolling.  Tapping is disabled by default
813       for touchpads with one or more physical buttons.  To enable it you need
814       to map tap actions to buttons. See the "TapButton1",  "TapButton2"  and
815       "TapButton3" options.
816
817       Button  mapping  for physical buttons is handled in the server.  If the
818       device is switched to left-handed (an  in-server  mapping  of  physical
819       buttons  1,  2,  3  to the logical buttons 3, 2, 1, respectively), both
820       physical and TapButtons are affected. To counteract this,  the  TapBut‐
821       tons need to be set up in reverse order (TapButton1=3, TapButton2=1).
822
823

REMOVED OPTIONS

825       The following options are no longer part of the driver configuration:
826
827       Option "Repeater" "string"
828
829       Option "HistorySize" "integer"
830
831       Option "SpecialScrollAreaRight" "boolean"
832
833       Option "GuestMouseOff" "boolean"
834
835

AUTHORS

837       Peter Osterlund <petero2@telia.com> and many others.
838

SEE ALSO

840       Xorg(1), xorg.conf(5), Xserver(1), X(7), synclient(1), syndaemon(1)
841
842
843
844X Version 11              xf86-input-synaptics 1.3.0              SYNAPTICS(4)
Impressum