diff options
author | Christoph Brill <egore911@egore911.de> | 2008-06-06 21:28:44 +0200 |
---|---|---|
committer | Christoph Brill <egore911@egore911.de> | 2008-06-06 21:28:44 +0200 |
commit | 7761e3903fa70aed951c0fc81b58382cf0ac6057 (patch) | |
tree | cb9d66afc4602552a002349b2cfdfd7a56545a20 /man/synaptics.man | |
parent | da95796d0686b474ebd0752959e5d1706d82b1c3 (diff) |
Initial version that passes "make distcheck".
This version is able to build against latest xorg git (including xinput
changes for MPX). It incoperates many concepts stolen from xf86-input-evdev.
I'm not sure about *BSD support, but from what I understood psmcomm is only
used on *BSD whild eventcomm is only used on Linux. So I enabled the build
of these only on the given operating system. Also fix some minor issues that
are related to the old build system (VERSION_ID related).
Diffstat (limited to 'man/synaptics.man')
-rw-r--r-- | man/synaptics.man | 587 |
1 files changed, 587 insertions, 0 deletions
diff --git a/man/synaptics.man b/man/synaptics.man new file mode 100644 index 0000000..6e99bd0 --- /dev/null +++ b/man/synaptics.man @@ -0,0 +1,587 @@ +.TH "synaptics" "5" "0.14.6" "" "" +.SH "NAME" +.LP +synaptics - Synaptics touchpad driver for XOrg/XFree86. +.SH "INTRODUCTION" +.LP +This is a driver for the Synaptics TouchPad for XOrg/XFree86 4.x. +. +A Synaptics touchpad by default operates in compatibility mode by +emulating a standard mouse. +. +However, by using a dedicated driver, more advanced features of the +touchpad becomes available, such as: +.IP \(bu 4 +Movement with adjustable, non-linear acceleration and speed. +.IP \(bu 4 +Button events through short touching of the touchpad. +.IP \(bu 4 +Double-Button events through double short touching of the touchpad. +.IP \(bu 4 +Dragging through short touching and holding down the finger on the +touchpad. +.IP \(bu 4 +Middle and right button events on the upper and lower corner of the +touchpad. +.IP \(bu 4 +Vertical scrolling (button four and five events) through moving the +finger on the right side of the touchpad. +.IP \(bu 4 +The up/down button sends button four/five events. +.IP \(bu 4 +Horizontal scrolling (button six and seven events) through moving the +finger on the lower side of the touchpad. +.IP \(bu 4 +The multi-buttons send button four/five events for vertical scrolling +and button six/seven events for horizontal scrolling. +.IP \(bu 4 +Adjustable finger detection. +.IP \(bu 4 +Multifinger taps: two finger for middle button and three finger for +right button events. +. +(Needs hardware support. +. +Not all models implement this feature.) +.IP \(bu 4 +Pressure dependent motion speed. +.IP \(bu 4 +Run-time configuration using shared memory. This means you can change +parameter settings without restarting the X server. +.LP +Note that depending on the touchpad firmware, some of these features +might be available even without using the synaptics driver. Note also +that some functions are not available on all touchpad models, because +they need support from the touchpad hardware/firmware. (Multifinger +taps for example.) +.SH "DESCRIPTION" +.LP +The driver behavior can be configured with parameters. +. +These parameters are options in the InputDevice section in the +XOrg/XFree86 config file. +. +See the INSTALL file for a working example for a synaptics touchpad. +. +See the README.alps file for a working example for an ALPS touchpad. +. +If you have the SHMConfig parameter enabled, these parameters can also +be changed at runtime with the synclient(1) program. +. +The following parameters are available: +.TP +\fBDevice\fR (String) +Synaptics device. +.TP +\fBProtocol\fR (String) +.TS +l l. +auto-dev automatic, default +psaux raw +event linux 2.6 kernel events +psm FreeBSD psm driver +.TE +.TP +\fBSHMConfig\fR (Bool) +Switch on/off shared memory for configuration. +.TP +\fBLeftEdge\fR (Integer) +X coordinate for left edge. +.TP +\fBRightEdge\fR (Integer) +X coordinate for right edge. +.TP +\fBTopEdge\fR (Integer) +Y coordinate for top edge. +.TP +\fBBottomEdge\fR (Integer) +Y coordinate for bottom edge. +.TP +\fBFingerLow\fR (Integer) +When finger pressure drops below this value, the driver counts it as a +release. +.TP +\fBFingerHigh\fR (Integer) +When finger pressure goes above this value, the driver counts it as a +touch. +.TP +\fBFingerPress\fR (Integer) +When finger pressure goes above this value, the driver counts it as a +press. +. +Currently a press is equivalent to putting the touchpad in trackstick +emulation mode. +.TP +\fBMaxTapTime\fR (Integer) +Maximum time (in milliseconds) for detecting a tap. +.TP +\fBMaxTapMove\fR (Integer) +Maximum movement of the finger for detecting a tap. +.TP +\fBMaxDoubleTapTime\fR (Integer) +Maximum time (in milliseconds) for detecting a double tap. +.TP +\fBClickTime\fR (Integer) +The duration of the mouse click generated by tapping. +.TP +\fBFastTaps\fR (Bool) +Makes the driver react faster to a single tap, but also makes double +clicks caused by double tapping slower. +.TP +\fBVertEdgeScroll\fR (Bool) +Enable vertical scrolling when dragging along the right edge. +.TP +\fBHorizEdgeScroll\fR (Bool) +Enable horizontal scrolling when dragging along the bottom edge. +.TP +\fBCornerCoasting\fR (Bool) +Enable edge scrolling to continue while the finger stays in an edge corner. +.TP +\fBVertTwoFingerScroll\fR (Bool) +Enable vertical scrolling when dragging with two fingers anywhere on +the touchpad. +.TP +\fBHorizTwoFingerScroll\fR (Bool) +Enable horizontal scrolling when dragging with two fingers anywhere on +the touchpad. +.TP +\fBVertScrollDelta\fR (Integer) +Move distance of the finger for a scroll event. +.TP +\fBHorizScrollDelta\fR (Integer) +Move distance of the finger for a scroll event. +.TP +\fBEdgeMotionMinZ\fR (Integer) +Finger pressure at which minimum edge motion speed is set. +.TP +\fBEdgeMotionMaxZ\fR (Integer) +Finger pressure at which maximum edge motion speed is set. +.TP +\fBEdgeMotionMinSpeed\fR (Integer) +Slowest setting for edge motion speed. +.TP +\fBEdgeMotionMaxSpeed\fR (Integer) +Fastest setting for edge motion speed. +.TP +\fBEdgeMotionUseAlways\fR (Bool) +If on, edge motion is also used for normal movements. +. +If off, egde motion is used only when dragging. +.TP +\fBRepeater\fR (String) +Repeater device. +.TP +\fBMinSpeed\fR (Float) +Minimum speed factor. +.TP +\fBMaxSpeed\fR (Float) +Maximum speed factor. +.TP +\fBAccelFactor\fR (Float) +Acceleration factor for normal pointer movements. +.TP +\fBTrackstickSpeed\fR (Float) +Speed scale when in trackstick emulation mode. +.TP +\fBPressureMotionMinZ\fR (Integer) +Finger pressure at which minimum pressure motion factor is applied. +.TP +\fBPressureMotionMaxZ\fR (Integer) +Finger pressure at which maximum pressure motion factor is applied. +.TP +\fBPressureMotionMinFactor\fR (Integer) +Lowest setting for pressure motion factor. +.TP +\fBPressureMotionMaxFactor\fR (Integer) +Greatest setting for pressure motion factor. +.TP +\fBUpDownScrolling\fR (Bool) +If on, the up/down buttons generate button 4/5 events. +. +If off, the up button generates a double click and the down button +generates a button 2 event. +.TP +\fBLeftRightScrolling\fR (Bool) +If on, the left/right buttons generate button 6/7 events. +. +If off, the left/right buttons both generate button 2 events. +.TP +\fBUpDownScrollRepeat\fR (Bool) +If on, and the up/down buttons are used for scrolling +(\fBUpDownScrolling\fR), these buttons will send auto-repeating 4/5 events, +with the delay between repeats determined by \fBScrollButtonRepeat\fR. +.TP +\fBLeftRightScrollRepeat\fR (Bool) +If on, and the left/right buttons are used for scrolling +(\fBLeftRightScrolling\fR), these buttons will send auto-repeating 6/7 events, +with the delay between repeats determined by \fBScrollButtonRepeat\fR. +.TP +\fBScrollButtonRepeat\fR (Integer) +The number of milliseconds between repeats of button events 4-7 from the +up/down/left/right scroll buttons. +.TP +\fBEmulateMidButtonTime\fR (Integer) +Maximum time (in milliseconds) for middle button emulation. +.TP +\fBEmulateTwoFingerMinZ\fR (Integer) +For touchpads not capable of detecting multiple fingers (Alps), this sets the +Z pressure threshold to emulate a two finger press. +.TP +\fBTouchpadOff\fR (Integer) +Switch off the touchpad. +. +Valid values are: +.TS +l l. +0 Touchpad is enabled +1 Touchpad is switched off +2 Only tapping and scrolling is switched off +.TE +.TP +\fBGuestMouseOff\fR (Bool) +Switch on/off guest mouse (often a stick). +.TP +\fBLockedDrags\fR (Bool) +If off, a tap and drag gesture ends when you release the finger. +. +If on, the gesture is active until you tap a second time, or until +LockedDragTimeout expires. +.TP +\fBLockedDragTimeout\fR (Integer) +This parameter specifies how long it takes (in milliseconds) for the +LockedDrags mode to be automatically turned off after the finger is +released from the touchpad. +.TP +\fBRTCornerButton\fR (Integer) +. +Which mouse button is reported on a right top corner tap. +. +Set to 0 to disable. +.TP +\fBRBCornerButton\fR (Integer) +Which mouse button is reported on a right bottom corner tap. +. +Set to 0 to disable. +.TP +\fBLTCornerButton\fR (Integer) +Which mouse button is reported on a left top corner tap. +. +Set to 0 to disable. +.TP +\fBLBCornerButton\fR (Integer) +Which mouse button is reported on a left bottom corner tap. +. +Set to 0 to disable. +.TP +\fBTapButton1\fR (Integer) +Which mouse button is reported on a non-corner one-finger tap. +. +Set to 0 to disable. +.TP +\fBTapButton2\fR (Integer) +Which mouse button is reported on a non-corner two-finger tap. +. +Set to 0 to disable. +.TP +\fBTapButton3\fR (Integer) +Which mouse button is reported on a non-corner three-finger tap. +. +Set to 0 to disable. +.TP +\fBCircularScrolling\fR (Bool) +If on, circular scrolling is used. +.TP +\fBCircScrollDelta\fR (Float) +Move angle (radians) of finger to generate a scroll event. +.TP +\fBCircScrollTrigger\fR (Integer) +Trigger region on the touchpad to start circular scrolling +.TS +l l. +0 All Edges +1 Top Edge +2 Top Right Corner +3 Right Edge +4 Bottom Right Corner +5 Bottom Edge +6 Bottom Left Corner +7 Left Edge +8 Top Left Corner +.TE +.TP +\fBCircularPad\fR (Bool) +. +Instead of being a rectangle, the edge is the ellipse enclosed by the +Left/Right/Top/BottomEdge parameters. +. +For circular touchpads. +.TP +\fBPalmDetect\fR (Bool) +If palm detection should be enabled. +. +Note that this also requires hardware/firmware support from the +touchpad. +.TP +\fBPalmMinWidth\fR (Integer) +Minimum finger width at which touch is considered a palm. +.TP +\fBPalmMinZ\fR (Integer) +Minimum finger pressure at which touch is considered a palm. +.TP +\fBCoastingSpeed\fR (Float) +Coasting threshold scrolling speed. +. +0 disables coasting. +.TP +\fBSingleTapTimeout\fR (Integer) +Timeout after a tap to recognize it as a single tap. +.TP +\fBGrabEventDevice\fR (Bool) +If GrabEventDevice is true, the driver will grab the event device for +exclusive use when using the linux 2.6 event protocol. +. +When using other protocols, this option has no effect. +. +Grabbing the event device means that no other user space or kernel +space program sees the touchpad events. +. +This is desirable if the X config file includes /dev/input/mice as an +input device, but is undesirable if you want to monitor the device +from user space. +. +When changing this parameter with the synclient program, the change +will not take effect until the synaptics driver is disabled and +reenabled. +. +This can be achieved by switching to a text console and then switching +back to X. +. +. +.LP +The LeftEdge, RightEdge, TopEdge and BottomEdge parameters are used to +define the edge and corner areas of the touchpad. +. +The parameters split the touchpad area in 9 pieces, like this: +.LP +.TS +l|l|lsls +--- +|c|cw(5P)|c|l +--- +|c|c|c|l +|c|c|c|l +|c|c|c|l +--- +|c|c|c|l +--- +|lsl|ll. + LeftEdge RightEdge + Physical top edge +1 2 3 + TopEdge + +4 5 6 + + BottomEdge +7 8 9 + Physical bottom edge +Physical left edge Physical right edge +.TE +.LP +Coordinates to the left of LeftEdge are part of the left edge (areas +1, 4 and 7), coordinates to the left of LeftEdge and above TopEdge +(area 1) are part of the upper left corner, etc. +. +A good way to find appropriate edge parameters is to enable the +SHMConfig option and run "synclient -m 1" to see the x/y coordinates +corresponding to different positions on the touchpad. +. +.LP +A tap event happens when the finger is touched and released in a time +interval shorter than MaxTapTime, and the touch and release +coordinates are less than MaxTapMove units apart. +. +A "touch" event happens when the Z value goes above FingerHigh, and an +"untouch" event happens when the Z value goes below FingerLow. +. +.LP +The MaxDoubleTapTime parameter has the same function as the MaxTapTime +parameter, but for the second, third, etc tap in a tap sequence. +. +If you can't perform double clicks fast enough (for example, xmms +depends on fast double clicks), try reducing this parameter. +. +If you can't get word selection to work in xterm (ie button down, +button up, button down, move mouse), try increasing this parameter. +. +.LP +The ClickTime parameter controls the delay between the button down and +button up X events generated in response to a tap event. +. +A too long value can cause undesirable autorepeat in scroll bars and a +too small value means that visual feedback from the gui application +you are interacting with is harder to see. +. +For this parameter to have any effect, "FastTaps" has to be disabled. +. +.LP +The MinSpeed, MaxSpeed and AccelFactor parameters control the pointer +motion speed. +. +The speed value defines the scaling between touchpad coordinates and +screen coordinates. +. +When moving the finger very slowly, the MinSpeed value is used, when +moving very fast the MaxSpeed value is used. +. +When moving the finger at moderate speed, you get a pointer motion +speed somewhere between MinSpeed and MaxSpeed. +. +If you don't want any acceleration, set MinSpeed and MaxSpeed to the +same value. +. +.LP +The MinSpeed, MaxSpeed and AccelFactor parameters don't have any +effect on scrolling speed. +. +Scrolling speed is determined solely from the VertScrollDelta and +HorizScrollDelta parameters. +. +To disable vertical or horizontal scrolling, set VertScrollDelta or +HorizScrollDelta to zero. +. +.LP +When hitting an egde, movement can be automatically continued. +. +If EdgeMotionUseAlways is false, edge motion is only used when +dragging. +. +With EdgeMotionUseAlways set to true, it is also used for normal +cursor movements. +. +.LP +Edge motion speed is calculated by taking into account the amount of +pressure applied to the touchpad. +. +The sensitivity can be adjusted using the EdgeMotion parameters. +. +If the pressure is below EdgeMotionMinZ, EdgeMotionMinSpeed is used, +and if the pressure is greater than EdgeMotionMaxZ, EdgeMotionMaxSpeed +is used. +. +For a pressure value between EdgeMotionMinZ and EdgeMotionMaxZ, the +speed is increased linearly. +. +.LP +When pressure motion is activated, the cursor motion speed depends +on the pressure exerted on the touchpad (the more pressure exerted on +the touchpad, the faster the pointer). +. +More precisely the speed is first calculated according to MinSpeed, +MaxSpeed and AccelFactor, and then is multiplied by a sensitivity +factor. +. +The sensitivity factor can be adjusted using the PressureMotion +parameters. +. +If the pressure is below PressureMotionMinZ, PressureMotionMinFactor +is used, and if the pressure is greater than PressureMotionMaxZ, +PressureMotionMaxFactor is used. +. +By default, PressureMotionMinZ and PressureMotionMaxZ are equal to +EdgeMotionMinZ and EdgeMotionMaxZ. +. +For a pressure value between PressureMotionMinZ and +PressureMotionMaxZ, the factor is increased linearly. +. +.LP +Since most synaptics touchpad models don't have a button that +corresponds to the middle button on a mouse, the driver can emulate +middle mouse button events. +. +If you press both the left and right mouse buttons at almost the same +time (no more than EmulateMidButtonTime milliseconds apart) the driver +generates a middle mouse button event. +. +.LP +Circular scrolling acts like a scrolling wheel on the touchpad. +. +Scrolling is engaged when a drag starts in the given CircScrollTrigger +region, which can be all edges, a particular side, or a particular +corner. +. +Once scrolling is engaged, moving your finger in clockwise circles +around the center of the touchpad will generate scroll down events and +counter clockwise motion will generate scroll up events. +. +Lifting your finger will disengage circular scrolling. +. +Use tight circles near the center of the pad for fast scrolling and +large circles for better control. +. +When used together with vertical scrolling, hitting the upper or lower +right corner will seamlessly switch over from vertical to circular +scrolling. +. +.LP +Coasting is enabled by setting the CoastingSpeed parameter to a +non-zero value. +. +Coasting comes in two flavors: conventional (finger off) coasting, and +corner (finger on) coasting. +.LP +Conventional coasting is enabled when coasting is enabled, +and CornerCoasting is set to false. +. +When conventional coasting is enabled, horizontal/vertical scrolling +can continue after the finger is released from the lower/right edge of +the touchpad. +. +The driver computes the scrolling speed corresponding to the finger +speed immediately before the finger leaves the touchpad. +. +If this scrolling speed is larger than the CoastingSpeed parameter +(measured in scroll events per second), the scrolling will continue +with the same speed in the same direction until the finger touches the +touchpad again. +. +.LP +Corner coasting is enabled when coasting is enabled, and +CornerCoasting is set to true. +. +When corner coasting is enabled, edge scrolling can continue as long +as the finger stays in a corner. +. +Coasting begins when the finger enters the corner, and continues until +the finger leaves the corner. +. +CornerCoasting takes precedence over the seamless switch from edge +scrolling to circular scrolling. That is, if CornerCoasting is +active, scrolling will stop, and circular scrolling will not start, +when the finger leaves the corner. +. +.LP +Trackstick emulation mode is entered when pressing the finger hard on +the touchpad. +. +The FingerPress parameter controls the minimum required finger +pressure. +. +If the finger hasn't moved more than MaxTapMove after MaxTapTime has +elapsed, trackstick mode is entered. +. +In this mode, moving the finger slightly in any direction gives a +speed vector that moves the pointer. +. +The TrackstickSpeed parameter controls the ratio between pointer speed +and finger movement distance. +. +Trackstick mode is exited when the finger pressure drops below +FingerLow or when the finger is moved further than MaxTapMove away +from the initial position. +.SH "AUTHORS" +.LP +Peter Osterlund <petero2@telia.com> and many others. +.SH "SEE ALSO" +.LP +synclient(1), syndaemon(1) |