Update: The new Lenovo 'ClickPad' now works in Linux, out-of-the-box. You
can read my update, here.
After becoming more and more frustrated with Ubuntu lately, I finally decided to migrate to Fedora. The latest and greatest is Fedora 20, so I grabbed that.
My work laptop is a Lenovo T430s. Fedora 20 installed on the T430s and everything worked perfectly out-of-the-box.
On my personal laptop, the T440s, however, that is unfortunately not the case. Now, to be fair, almost everything works. Even the "mini display / thunderbolt" port works perfectly - I plugged in a mini-display-to-HDMI adapter and Fedora displayed to my TV perfectly.
But, unfortunately, the one thing that doesn't work is a really serious problem: the mouse.
Lenovo made an epicly terrible decision and decided to ditch TrackPoint and create "ClickPad". You still have the little red nubbin for a mouse, but there are no longer hardware buttons for TrackPoint - they are virtual buttons on a giant click pad.
And the click pad is the most poorly designed mouse pad I have ever used. It's so bad, you can actually hear how cheap it is. When you 'click', the entire pad depresses by a couple of millimeters. It's so bad that I registered for Vine Video and made a recording to show you this atrocity:
Did you notice in the Vine how when I clicked the pad my screen went nuts? Yup, that's the problem. There are no native drivers for the ClickPad in Linux right now.
Apparently, my old distro-of-choice, ArchLinux, actually has an unofficial package in AUR that will make the ClickPad work properly. I attempted to use this software, even recompiling the xf86-input-synaptics driver from source with the patches in an attempt to get it running, but no dice.
Another user on Reddit claimed he was able to get it running, so I worked with him for a week in an attempt to replicate his configuration. This also didn't work.
At this point, my mouse nubbin works as a mouse, and I can left and right click at the top of the clickpad. This is enough to get by, but it means most of the Synaptics driver just isn't working properly. I'm really hopeful that updated drivers get pushed soon.
In the meantime, if you are stuck with one of these ClickPads, here is my Synaptics configuration that makes it at least functional for basic clicking.
# 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" # Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" Option "ClickPad" "true" Option "EmulateMidButtonTime" "0" # 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*" # Turn on Palm Detection Option "PalmDetect" "1" # Scroll Actions Option "VertTwoFingerScroll" "1" Option "HorizTwoFingerScroll" "1" # Area defines Option "AreaTopEdge" "3500" Option "SoftButtonAreas" "65% 0 0 3500 35% 65% 0 3500" Option "RBCornerButton" "1" # Speed options Option "MinSpeed" "1" Option "MaxSpeed" "1" Option "AccelerationProfile" "2" # Option "AdaptiveDeceleration" "16" # Option "ConstantDeceleration" "16" Option "VelocityScale" "32" # Tap with one finger for left click # Tap with two fingers for right click # Tap with three fingers for middle click Option "TapButton1" "1" Option "TapButton3" "2" Option "TapButton2" "3" Option "FastTaps" "1" EndSection Section "InputClass" Identifier "touchpad ignore duplicates" MatchIsTouchpad "on" MatchOS "Linux" MatchDevicePath "/dev/input/mouse*" Option "Ignore" "on" EndSection
That said, this Lenovo ClickPad design is so terrible I recommend not buying anything that has it, anyway. Lenovo obviously tried really, really hard to copy Apple's trackpads, and it just didn't go well.