A touchpad is a built-in input device for laptops that is used as a computer mouse. Synaptics is a driver for this.
Basic Configuration with a Graphical Interface
Ubuntu provides configuration of the most common touchpad options in System > Preferences > Mouse, under the Touchpad tab. If you cannot find this tab, see the Troubleshooting section at the end of this page.
Try the touchpad after unchecking the Enable mouse clicks with touchpad check box.
Check operation after Enable horizontal scrolling is checked. This may not have been the default setting.
Disabling Touchpad while Typing
Go to System > Preferences > Mouse > Touchpad and uncheck 'Disable touchpad while typing' and 'Enable mouse clicks with touchpad'.
Completely disabling Touchpad
Some systems don't have the option to permanently disable the touchpad via BIOS or it's located in an external keyboard. To fully disable you can do the following:
- Determine the device id (the device name should be something with touchpad or glidepoint)
- Disable it (e.g. here the device id is 15)
xinput set-prop 15 "Device Enabled" 0
You may run the command during session startup
Adjust Touchpad Sensitivity
Determine device number (see above)
Open a separate terminal to watch emitted events:
Replace [device number] with the number of your touchpad from 'xinput list'. It will probably be one of the devices under "Virtual core pointer".
This step is not mandatory but it can help to track problems:
xinput --test [device number]
If text flies by as you move your mouse pointer using the touchpad, you know that you got the correct device number.
Open another terminal to see current settings: (Again this step can be omitted but is helpful to see available options. Watch for "Synaptics Finger". It will change as soon as you apply the next command.)
xinput --watch-props [device number]
xinput --set-prop [device number] "Synaptics Finger" 50 80 257
The terminal running 'xinput --watch-props' should now display
Property 'Synaptics Finger' changed. Synaptics Finger (267): 50, 80, 257
The higher you set the numbers the more force is needed to make an event fire. And the less sensitive the touchpad get.
Determine whether a touchpad has been detected
To check if a touchpad has been detected open a terminal and check the input device list given by this command:
If one of the lines mentions a touchpad or glidepoint (perhaps also "Synaptics" or "ALPS"), your touchpad has been detected.
If one of the lines mentions an "ADB mouse", then your touchpad is old. Use the trackpad command line tool to configure it. Here's an example to switch on tapping and dragging:
sudo trackpad show sudo trackpad tap sudo trackpad drag
Enabling SHMConfig in order to get synclient debug output
Online, the most commonly found procedure for doing this involves using HAL. However, since HAL hasn't been present in Ubuntu since 10.04, you will have to do it the other way -- by editing xorg.conf.
sudo gedit /etc/X11/xorg.conf
Paste this into the document:
Section "InputClass" Identifier "enable synaptics SHMConfig" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "SHMConfig" "on" EndSection
If it's not empty, put it at the end. Save, close the file and reboot.
Now you should be able to see what kind of input your touchpad detects by running
synclient -m 100
The synclient manpage will explain what the numbers you see onscreen mean.
Touchpad not working after login
This usually happens when you disable your touchpad and then suspend your computer. To fix this just run this command:
gconftool-2 --set --type boolean /desktop/gnome/peripherals/touchpad/touchpad_enabled true
If nothing else works, please see the official Ubuntu touchpad debugging article.
Control touchpad features using synclient
synclient is a commandline utility to query and modify Synaptics driver options. This would allow one to adjust touchpad features that may not be exposed via the GUI. One would adjust parameters via a terminal:
where PARAMETER is as listed below, and # is a number. While the formal definition of each parameter may be found in the synaptics manpage, here is a more user friendly description of each of the parameters:
LeftEdge RightEdge TopEdge BottomEdge FingerLow FingerHigh MaxTapTime MaxTapMove MaxDoubleTapTime SingleTapTimeout ClickTime EmulateMidButtonTime EmulateTwoFingerMinZ EmulateTwoFingerMinW VertScrollDelta - Controls the speed and direction of vertical scrolling. The fastest natural direction scroll speed is 1. Larger positive values decrease the scroll speed. The fastest reverse direction scroll speed is -1, with larger negative values decreasing the scroll speed. HorizScrollDelta - Controls the speed and direction of horizontal scrolling. The fastest natural direction scroll speed is 1. Larger positive values decrease the scroll speed. The fastest reverse direction scroll speed is -1, with larger negative values decrease the scroll speed. VertEdgeScroll - Enables=1/Disables=0 vertical scrolling when dragging across the right edge of the touchpad. HorizEdgeScroll - Enables=1/Disables=0 vertical scrolling when dragging across the right edge of the touchpad. CornerCoasting VertTwoFingerScroll - Enables=1/Disables=0 vertical scrolling when using two fingers anywhere on the touchpad. HorizTwoFingerScroll - Enables=1/Disables=0 horizontal scrolling when using two fingers anywhere on the touchpad. MinSpeed - Adjusts the minimum speed of your touchpad cursor. Lowest is 0. MaxSpeed - Adjusts the maximum speed of your touchpad cursor. Lowest is 0. AccelFactor - Adjust the rate of speed increment at which the touchpad cursor increases from MinSpeed to MaxSpeed. Lowest is 0. TouchpadOff - Enables=1/Disables=0 the touchpad entirely. LockedDrags LockedDragTimeout RTCornerButton - Disables=0 click when one taps the right top corner of the touchpad. RBCornerButton - Disables=0 click when one taps the right bottom corner of the touchpad. LTCornerButton - Disables=0 click when one taps the left top corner of the touchpad. LBCornerButton - Disables=0 click when one taps the left bottom corner of the touchpad. TapButton1 TapButton2 TapButton3 ClickFinger1 ClickFinger2 ClickFinger3 CircularScrolling CircScrollDelta CircScrollTrigger PalmDetect PalmMinWidth PalmMinZ CoastingSpeed CoastingFriction PressureMotionMinZ PressureMotionMaxZ PressureMotionMinFactor PressureMotionMaxFactor ResolutionDetect GrabEventDevice TapAndDragGesture AreaLeftEdge AreaRightEdge AreaTopEdge AreaBottomEdge HorizHysteresis VertHysteresis ClickPad