1SYNAPTICS(4) Kernel Interfaces Manual SYNAPTICS(4)
2
3
4
6 synaptics - touchpad input driver
7
9 Section "InputDevice"
10 Identifier "devname"
11 Driver "synaptics"
12 Option "Device" "devpath"
13 Option "Path" "path"
14 ...
15 EndSection
16
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
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
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
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
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
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
837 Peter Osterlund <petero2@telia.com> and many others.
838
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)