While I’ve enjoyed running Lubuntu 16.04 | 17.04
for software development on a a few different laptops the touchpad has always been an issue for me. It’s usually configured to be too sensitive which constantly interferes with keyboard usage. I struggled to find the best method to customize these settings. This post explains how to disable TapButton1
. TapButton1
defines if a mouse click should happen when touching the touchpad. The default is extremely annoying when typing as any touch will cause the cursor to jump to the mouse location.
You can manage the touchpad settings using the synclient
command line tool. I added an init.d shell script to apply the desired synclient
values for my ultrabook at startup. While this worked the same approach didn’t work for my Dell XPS 15. After investing some time researching I believe this is the best method for customizing the touchpad settings.
The synaptics touchpad configuration file is located /usr/share/X11/xorg.conf.d
. The 70-synaptics.conf
configuration file contains a nice little note regarding customization:
# Example xorg.conf.d snippet that assigns the touchpad driver # to all touchpads. See xorg.conf.d(5) for more information on # InputClass. # DO NOT EDIT THIS FILE, your distribution will likely overwrite # it when updating. Copy (and rename) this file into # /etc/X11/xorg.conf.d first. # Additional options may be added in the form of # Option "OptionName" "value" # |
The comment is a bit misleading, xorg.conf.d is a directory. I missed this the first time around. Run the following command to copy the configuration file to etc
where you can safely customize it (you may need to use sudo
).
cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d/ |
Once copied, pop your favorite text editor and customize the settings as desired. A complete list of current settings a key names can be fetched by running.
synclient |
Which will result in output similar to:
Parameter settings: LeftEdge = 49 RightEdge = 1179 TopEdge = 50 BottomEdge = 878 FingerLow = 25 FingerHigh = 30 MaxTapTime = 180 MaxTapMove = 67 MaxDoubleTapTime = 180 SingleTapTimeout = 180 ClickTime = 100 EmulateMidButtonTime = 0 EmulateTwoFingerMinZ = 282 EmulateTwoFingerMinW = 7 VertScrollDelta = 30 HorizScrollDelta = 30 VertEdgeScroll = 1 HorizEdgeScroll = 0 CornerCoasting = 0 VertTwoFingerScroll = 1 HorizTwoFingerScroll = 0 MinSpeed = 1 MaxSpeed = 1.75 AccelFactor = 0.129955 TouchpadOff = 0 LockedDrags = 0 LockedDragTimeout = 5000 RTCornerButton = 2 RBCornerButton = 3 LTCornerButton = 0 LBCornerButton = 0 TapButton1 = 0 TapButton2 = 3 TapButton3 = 0 ClickFinger1 = 1 ClickFinger2 = 3 ClickFinger3 = 0 CircularScrolling = 0 CircScrollDelta = 0.1 CircScrollTrigger = 0 CircularPad = 0 PalmDetect = 0 PalmMinWidth = 10 PalmMinZ = 200 CoastingSpeed = 20 CoastingFriction = 50 PressureMotionMinZ = 30 PressureMotionMaxZ = 160 PressureMotionMinFactor = 1 PressureMotionMaxFactor = 1 ResolutionDetect = 1 GrabEventDevice = 0 TapAndDragGesture = 1 AreaLeftEdge = 0 AreaRightEdge = 0 AreaTopEdge = 0 AreaBottomEdge = 0 HorizHysteresis = 7 VertHysteresis = 7 ClickPad = 1 RightButtonAreaLeft = 614 RightButtonAreaRight = 0 RightButtonAreaTop = 760 RightButtonAreaBottom = 0 MiddleButtonAreaLeft = 0 MiddleButtonAreaRight = 0 MiddleButtonAreaTop = 0 MiddleButtonAreaBottom = 0 |
More information regarding InputClass
can be found here. Here’s a copy of my 70-synaptics.conf
file which disables the desired TapButton1
by setting the value to 0.
Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" # This option is recommend on all Linux systems using evdev, but cannot be # enabled by default. See the following link for details: # http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html MatchDevicePath "/dev/input/event*" Option "TapButton1" "0" EndSection Section "InputClass" Identifier "touchpad ignore duplicates" MatchIsTouchpad "on" MatchOS "Linux" MatchDevicePath "/dev/input/mouse*" Option "Ignore" "on" EndSection # This option enables the bottom right corner to be a right button on clickpads # and the right and middle top areas to be right / middle buttons on clickpads # with a top button area. # This option is only interpreted by clickpads. Section "InputClass" Identifier "Default clickpad buttons" MatchDriver "synaptics" Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%" EndSection # This option disables software buttons on Apple touchpads. # This option is only interpreted by clickpads. Section "InputClass" Identifier "Disable clickpad buttons on Apple touchpads" MatchProduct "Apple|bcm5974" MatchDriver "synaptics" Option "SoftButtonAreas" "0 0 0 0 0 0 0 0" EndSection |