Lenovo T440s Linux Trackpad Settings

I would give the Lenovo T440s a 5 out of 5 if it were not for the trackpad. The rest of the computer is rock solid and really a great setup. The keyboard is my favorite because of the feel of the keys, the sound the keys make, and the keys’ apparent ruggedness. With the tweaks below, it makes the trackpad bearable though it still could use improvement.

I assume that you are using Ubuntu 14.04 LTS but these settings definitely could work for other distros or versions.

Explanation of Settings

Make the trackpad less jumpy

These options make touch with the trackpad less jumpy and set the distance which a touch has to travel before registering input.

Option "HorizHysteresis" "50"
Option "VertHysteresis" "50"
Button Areas

The default synaptics script (located in /usr/share/X11/xorg.conf.d/50-synaptics.conf) has a right button configured on the bottom of the trackpad. I don’t like having a right button, only a left button. Setting all to zero fixes this. If you would like the right button, remove this line.

Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
Touch Free Zone

This option makes it so that there is an area that doesn’t register touch at the bottom. This allows me to click with my thumb down there without moving the pointer (think Macbook). Unfortunately, in order to do a click and drag I have to click with my index finger and then hold that click with my thumb and then use my index finger for the drag. It is a bit of a pain but I am getting used to it.

Option "AreaBottomEdge" "82%"
Palm Options

These do as they say, if it detects the input as a “palm” then it does not register the input.

Option "PalmDetect"    "1"
Option "PalmMinWidth"  "5"
Option "PalmMinZ"      "40"

How to Use the Settings

Here are the man pages for the available options: xorg Synaptics options and Synaptics Ubuntu Manpage

  • Create the file: /usr/share/X11/xorg.conf.d/99-T440s-synaptics.conf
  • Put the following into it:
Section "InputClass"
    Identifier "Default clickpad buttons"
    MatchDriver "synaptics"
	Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
    Option "PalmDetect"    "1"
    Option "PalmMinWidth"  "5"
    Option "PalmMinZ"      "40"
    Option "HorizHysteresis" "50"
    Option "VertHysteresis" "50"
	Option "AreaBottomEdge" "82%"
EndSection
  • Restart your system and test the changes.

Testing

To see what your current settings you use the command: synclient -l. The output should look something like so:

LeftEdge                = 1310
RightEdge               = 4826
TopEdge                 = 2220
BottomEdge              = 4636
FingerLow               = 25
FingerHigh              = 30
MaxTapTime              = 180
MaxTapMove              = 218
MaxDoubleTapTime        = 180
SingleTapTimeout        = 180
ClickTime               = 100
EmulateMidButtonTime    = 0
EmulateTwoFingerMinZ    = 282
EmulateTwoFingerMinW    = 7
VertScrollDelta         = -99
HorizScrollDelta        = -99
VertEdgeScroll          = 0
HorizEdgeScroll         = 0
CornerCoasting          = 0
VertTwoFingerScroll     = 1
HorizTwoFingerScroll    = 1
MinSpeed                = 1
MaxSpeed                = 1.75
AccelFactor             = 0.0403307
TouchpadOff             = 0
LockedDrags             = 0
LockedDragTimeout       = 5000
RTCornerButton          = 0
RBCornerButton          = 0
LTCornerButton          = 0
LBCornerButton          = 0
TapButton1              = 0
TapButton2              = 0
TapButton3              = 0
ClickFinger1            = 1
ClickFinger2            = 3
ClickFinger3            = 0
CircularScrolling       = 0
CircScrollDelta         = 0.1
CircScrollTrigger       = 0
CircularPad             = 0
PalmDetect              = 1
PalmMinWidth            = 5
PalmMinZ                = 40
CoastingSpeed           = 20
CoastingFriction        = 50
PressureMotionMinZ      = 30
PressureMotionMaxZ      = 160
PressureMotionMinFactor = 1
PressureMotionMaxFactor = 1
ResolutionDetect        = 1
GrabEventDevice         = 1
TapAndDragGesture       = 1
AreaLeftEdge            = 0
AreaRightEdge           = 0
AreaTopEdge             = 0
AreaBottomEdge          = 4326
HorizHysteresis         = 50
VertHysteresis          = 50
ClickPad                = 1
RightButtonAreaLeft     = 0
RightButtonAreaRight    = 0
RightButtonAreaTop      = 0
RightButtonAreaBottom   = 0
MiddleButtonAreaLeft    = 0
MiddleButtonAreaRight   = 0
MiddleButtonAreaTop     = 0
MiddleButtonAreaBottom  = 0

Testing out a setting

If you want to test out a setting you can run something like so:

synclient ClickPad=0 PalmDetect=0

These settings will be erased as soon as you restart or the system goes to sleep.

Resources

Just a bunch of links that I found in regards to this trackpad and system. Hope they help somebody.

Written on February 12, 2015