3.3. Configuring a TouchpadMany laptops use a Synaptics TouchPad (or an Alps GlidePoint, which can use the same driver). By default, a touchpad will emulate a PS/2 mouse, so it should work fine with the default driver, but if you use the Synaptics-specific driver, you can exquisitely fine-tune the touchpad's extended features. 3.3.1. How Do I Do That?You will need to manually edit the X server configuration file, /etc/X11/xorg.conf, to make two changes.
First, add an InputDevice line to the ServerLayout section: Section "ServerLayout" Identifier "Default Layout" Screen 0 "Screen0" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "TouchPad0" "AlwaysCore" InputDevice "Keyboard0" "CoreKeyboard" EndSection Next, add a new InputDevice section (you can add this to any part of the file that is not between Section and EndSection lines): Section "InputDevice" Identifier "Touchpad0" Driver "synaptics" Option "SHMConfig" "on" EndSection When you restart the X server by restarting the system or pressing Ctrl-Alt-Backspace (save any work first!), the Synaptics driver will be loaded with a default configuration that will permit you to:
These default options work well for most users, but the driver is incredibly customizable. It's also one of the few X drivers that can be adjusted without restarting the X server, through the use of the synclient program. Running synclient with the -l option will list the current driver settings: $ synclient -l Parameter settings: LeftEdge = 1900 RightEdge = 5400 TopEdge = 1900 BottomEdge = 4000 FingerLow = 25 FingerHigh = 30 MaxTapTime = 180 MaxTapMove = 220 MaxDoubleTapTime = 180 ClickTime = 100 FastTaps = 0 EmulateMidButtonTime = 75 VertScrollDelta = 100 HorizScrollDelta = 100 MinSpeed = 0.09 MaxSpeed = 0.18 AccelFactor = 0.0015 EdgeMotionMinZ = 30 EdgeMotionMaxZ = 160 EdgeMotionMinSpeed = 1 EdgeMotionMaxSpeed = 400 EdgeMotionUseAlways = 0 UpDownScrolling = 1 LeftRightScrolling = 1 UpDownRepeat = 1 LeftRightRepeat = 1 ScrollButtonRepeat = 100 TouchpadOff = 0 GuestMouseOff = 0 LockedDrags = 0 RTCornerButton = 2 RBCornerButton = 3 LTCornerButton = 0 LBCornerButton = 0 TapButton1 = 1 TapButton2 = 2 TapButton3 = 3 CircularScrolling = 0 CircScrollDelta = 0.1 CircScrollTrigger = 0 CircularPad = 0 PalmDetect = 1 PalmMinWidth = 10 PalmMinZ = 200 CoastingSpeed = 0 These parameters are fully explained in the manpage for synaptics, but the most commonly altered values are described in Table 3-3. To test an option value, use the synclient program: $ synclient VertScrollDelta=10 $ synclient PalmDetect=0 If you need to find position or pressure values for these options, you can use the monitor (-m) option of synclient to experiment: $ synclient -m 100 time x y z f w l r u d m multi gl gm gr gdx gdy 0.000 3277 2899 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0 1.247 3687 3172 65 1 5 0 0 0 0 0 00000000 0 0 0 0 0 1.351 3402 3070 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0 1.871 3926 3650 62 1 4 0 0 0 0 0 00000000 0 0 0 0 0 1.975 4337 3339 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0 2.495 3932 3133 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0 2.599 3816 3245 1 1 9 0 0 0 0 0 00000000 0 0 0 0 0 2.703 3810 3286 1 1 7 0 0 0 0 0 00000000 0 0 0 0 0 2.807 3923 3224 1 1 14 0 0 0 0 0 00000000 0 0 0 0 0 2.911 3923 3224 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0 8.423 4018 3986 131 2 5 0 0 0 0 0 00000000 0 0 0 0 0 8.527 4104 3933 134 2 5 0 0 0 0 0 00000000 0 0 0 0 0 8.631 4653 3827 0 0 0 0 0 0 0 0 00000000 0 0 0 0 0 ...( Ctrl-C to terminate)... In this output, the following options indicate:
Once you have tweaked the values to suit your needs, add your preferred values to the Synaptics InputDevice section of the /etc/X11/xorg.conf file, using the Option keyword: Section "InputDevice" Identifier "Touchpad0" Driver "synaptics" Option "SHMConfig" "on" Option "VertScrollDelta" "10" Option "PalmDetect" "0" EndSection These settings will then take effect when the system is restarted. 3.3.2. How Does It Work?The Synaptics TouchPad (or Alps GlidePad) device is connected through a PS/2 or USB interface and contains a microcontroller, touch sensor, buttons, and interface electronics. The firmware is programmed to emulate a standard mouse unless (or until) the device driver sends it codes to switch it into native mode. The Synaptics driver works with the microcontroller in the touchpad to translate user activity into standard mouse signals. There are only 16 types of events that are reported to the X server: button down and button up for buttons 1 through 7, and horizontal and vertical motion. All of the possible tap, press, and slide gestures are translated into combinations of these 16 events. For example, touching the pad with one finger on the right side (X position greater than RightEdge, and Y position between TopEdge and BottomEdge), and then moving your finger up more than VertScrollDelta units will be interpreted as a vertical scroll action, which will result in a button-down event on button 4, followed by a button-up event on button 4 (this corresponds to rotating the scroll wheel forward one click on a standard mouse). Not all touchpad models have the hardware or firmware to provide all of the features supported by the driver; for example, most models do not have all of the possible buttons, and some lack multiple-finger or finger-width detection. 3.3.3. What About...3.3.3.1. ...using a touchpad and a mouse at the same time?This can be done if the Synaptics device is defined in addition to a traditional mouse, as recommended in the X11 configuration shown in this lab. 3.3.3.2. ...disabling the touchpad automatically when I'm typing?Even with palm detection, some typists and touchpads register false information during typing (especially true with certain laptop case designs, which transmit case stress to the touchpad). To help in these situations, the Synaptics software includes the syndaemon program, which will automatically disable the touchpad when the keyboard is in use. To start this daemon, simply type its name as a command: $ syndaemon 3.3.4. Where Can I Learn More?
![]() |