#title Synaptics Touchpad ||<>|| = Introduction = A '''[[http://en.wikipedia.org/wiki/Touchpad|touchpad]]''', and clickpad is a built-in input device for laptops that is used as a computer mouse. Synaptics is a driver for these. = Default clickpad gestures = The default gestures are: * Single finger press on the top 80% of the clickpad surface = primary click * Two finger press on the top 80% of the clickpad surface = secondary click * Two finger movement vertically = scroll vertically * Two finger movement horizontally = scroll horizontally When clicking the bottom 20% clickpad buttons, one would want to use two fingers to maximize the accuracy of the click. = Basic Configuration with a Graphical Interface = Ubuntu provides basic configuration of your touchpad options in '''System > Preferences > Mouse''', under the Touchpad tab. 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'. (This method is not available under Ubuntu 14.04.) == 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) {{{ xinput list }}} * 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) {{{ xinput list }}} 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] }}} Set sensitivity: {{{ 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. = Troubleshooting = == Determine whether a touchpad has been detected == To check if a touchpad has been detected open a [[UsingTheTerminal|terminal]] and check the input device list given by this command: {{{ xinput list }}} 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 [[https://wiki.ubuntu.com/DebuggingTouchpadDetection|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: {{{ synclient PARAMETER=# }}} 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 }}} = See also = * [[SynapticsTouchpad/ShortcutKey|Turning Synaptics Touchpads On/Off with a Shortcut Key]] = Known Issues = * [[https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/1264713|Tapping top right of touchpad pastes undesirably]] ---- CategoryXwindowSystem