Bug 74544

Summary: Support for laptops without trackstick buttons (T440, etc.)
Product: xorg Reporter: Peter Hutterer <peter.hutterer>
Component: Input/synapticsAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium CC: benjamin.tissoires, birger, florian.lorenzen, jckeerthan, peter.hutterer, scott.ashford
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 66658, 73158, 74543, 75290, 75513, 76156    
Bug Blocks:    

Description Peter Hutterer 2014-02-05 00:52:30 UTC
Tracker bug for the work that needs to be done to support the T440 models (and similar). These laptops have a trackstick without buttons, the buttons are painted on the touchpad instead.

Required to make this work with the current stack:
* synaptics needs to support a second software button area (#74543)
* synaptics needs to switch into a mode where it disables motion events to avoid spurious cursor jumps when touching the touchpad while the trackstick is in use (#73158)
* syndaemon needs to monitor the trackstick and switch the touchpad into that mode (#66658)


Proposed behaviour:
When the touchpad is switched to the "no movement" mode it should stay there until a touchpad event outside of the software button area. Then toggle back to normal touchpad mode.
Comment 1 Peter Hutterer 2014-02-24 05:33:45 UTC
Hans posted a 8-patch series here: http://patchwork.freedesktop.org/patch/20788/
Comment 2 Peter Hutterer 2014-02-25 03:54:47 UTC
*** Bug 75451 has been marked as a duplicate of this bug. ***
Comment 3 Peter Hutterer 2014-03-12 22:41:01 UTC
*** Bug 70780 has been marked as a duplicate of this bug. ***
Comment 4 Peter Hutterer 2014-03-25 22:45:49 UTC
*** Bug 76584 has been marked as a duplicate of this bug. ***
Comment 5 birger 2014-03-26 10:46:39 UTC
In case someone looking for a short term fix come looking here:
On the 2nd gen X1 the touchpad is so big that it isn't a big deal to reserve the area above the red line as a dedicated button area. I did it with these lines in a new file I called /etc/X11/xorg.conf.d/10-clickpad.conf

Section "InputClass"
Identifier "Default clickpad buttons"
MatchDriver "synaptics"
# Option "SoftButtonAreas" "RBL RBR RBT RBB MBL MBR MBT MBB"
Option "SoftButtonAreas" "3600 0 0 2299 2700 3599 0 2299"
Option "AreaTopEdge" "2300"
EndSection

The AreaTopEdge line takes the area above the red line out of the touchpad area and makes it a button-only area. This way you avoid cursor movements while touching or pressing buttons.

SoftButtonAreas define the location of the middle and right buttons. Everything not defined as middle or right button is left button.

The rest of the pad works as a normal touchpad, with 2 finger scrolling, etc.
Comment 6 Peter Hutterer 2014-03-26 10:52:03 UTC
At this point the only things we're waiting for are kernel patches, one for the min/max range that is off in these devices, one for allowing easier matching. See the post below for more details on how to configure it:
http://who-t.blogspot.com.au/2014/03/xorg-synaptics-support-for-lenovo-t440.html

All the synaptics-related patches are in git master (and 1.8-rc1), minus the configuration bits that we can't ship until the kernel works properly.
Comment 7 Peter Hutterer 2014-05-13 00:49:52 UTC
We've now got most of these supported by the (Linux) kernel which fixes up the min/max issues. The new INPUT_PROP_TOPBUTTONPAD evdev property tells us when to apply the secondary software button area in the driver. So I consider this generic bug as closed, any hw-specific issues or incremental issues should warrant a new bug.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.