Lubuntu | Ubuntu – How to customize the Synaptics Touchpad Settings
by Riley MacDonald, June 2, 2017

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
Open the comment form

Leave a comment:

Comments will be reviewed before they are posted.

User Comments:

mario on 2020-12-05 23:29:37 said:
also looking a solution wich prevents me for getting out of the window... as mentioned, i don't like this little jumping chaotic cursor while texting. on new laptop asynclient entries in the terminal changes the value but didn't work. this solutions help me out. thanks a lot!!

Henry on 2020-06-28 15:33:28 said:
Although an old topic, I needed to make settings permanent on Ubuntu 20.04 which didn't have an xorg.conf.d diretory in /etc/X11, so I copied over the directory and made changes as advised to the new 70-synaptics.conf. Lots of weird and wonderful solutions on the internet forums but this was the simplest and most successful. Many thanks.