Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1026577 - Unexpected touchpad behaviour on Lenovo T440
Unexpected touchpad behaviour on Lenovo T440
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: xorg-x11-drv-synaptics (Show other bugs)
6.5
Unspecified Linux
high Severity high
: rc
: ---
Assigned To: Benjamin Tissoires
Desktop QE
:
Depends On: 1042514 1077486 1093449
Blocks: 1025049 1056244 1083163
  Show dependency treegraph
 
Reported: 2013-11-04 20:35 EST by Vasiliy Sharapov
Modified: 2014-10-14 00:52 EDT (History)
13 users (show)

See Also:
Fixed In Version: xorg-x11-drv-synaptics-1.7.5.901-2.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-10-14 00:52:41 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Flat press (single) (9.41 KB, text/x-log)
2013-12-03 20:47 EST, Vasiliy Sharapov
no flags Details
Flat press (multiple with movements between) (181.49 KB, text/x-log)
2013-12-03 20:49 EST, Vasiliy Sharapov
no flags Details
Flat press (multiple) (68.17 KB, text/x-log)
2013-12-03 20:49 EST, Vasiliy Sharapov
no flags Details
Point press (single) (3.64 KB, text/x-log)
2013-12-03 20:50 EST, Vasiliy Sharapov
no flags Details
Point press (multiple with movements between) (86.45 KB, text/x-log)
2013-12-03 20:50 EST, Vasiliy Sharapov
no flags Details
Point press (multiple) (25.00 KB, text/x-log)
2013-12-03 20:50 EST, Vasiliy Sharapov
no flags Details
Xorg log (89.68 KB, text/x-log)
2013-12-03 20:50 EST, Vasiliy Sharapov
no flags Details
Swipe left to right (from beyond the touchpad to beyond the touchpad in case you need edge info) (9.41 KB, text/plain)
2013-12-04 19:02 EST, Peter Hutterer
no flags Details
Swipe top to bottom (from beyond the touchpad to beyond the touchpad in case you need edge info) (10.27 KB, text/plain)
2013-12-04 19:04 EST, Peter Hutterer
no flags Details
ctual touchpad presses (4 individual -> 4 with moving between -> 4 individual double) (131.42 KB, text/plain)
2013-12-04 19:05 EST, Peter Hutterer
no flags Details
Just touchpad taps (4 individual -> 4 with moving between -> 4 individual double) (81.65 KB, text/plain)
2013-12-04 19:05 EST, Peter Hutterer
no flags Details
Vertical down -> vertical up -> horizontal right -> horizontal left (176.50 KB, text/plain)
2013-12-04 19:06 EST, Peter Hutterer
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2014:1376 normal SHIPPED_LIVE xcb-util, xorg-x11-drivers, and mesa bug fix and enhancement update 2014-10-13 21:11:03 EDT

  None (edit)
Description Vasiliy Sharapov 2013-11-04 20:35:49 EST
Version-Release number of selected component (if applicable):
RHEL6.5-20131024.1

The touchpad on the T440 behaves differently between Win7 and RHEL:
1. In win7 there is a right-click zone in the bottom ~25% of the right half of the touchpad, all single-touch presses in this zone are interpreted as right clicks, all single-touch presses in any other area are interpreted as a left-click. In el6.5 there is no right click zone and two-finger presses are the only way to right-click.
2. Pressing with an enlarging area, such as a fingertip that enlarges into a fingerprint introduces less cursor movement in Win7. This may be some clever trick, because the default sensitivity and acceleration appear to be very similar, except in this one case.
Comment 2 RHEL Product and Program Management 2013-11-10 04:17:44 EST
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.
Comment 4 Peter Hutterer 2013-11-25 22:47:15 EST
Vasiliy: please get evemu from http://people.redhat.com/~phuttere/rpms/evemu/ and record the device with evemu-record. Specifically, make a separate recording of everything you want to work in a specific manner describing what you expect the action to do.

Please also supply an xorg.log.

As for the configuration, drop this into /etc/X11/xorg.conf.d/99-clickpad-softbuttons.conf
Section "InputClass"
        Identifier "Default clickpad buttons"
        MatchDriver "synaptics"
        MatchIsTouchpad "on"
        Option "ClickPad" "on"
        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
EndSection


It is the default upstream, but it doesn't apply in RHEL because the kernel doesn't provide the property we need to identify clickpads. So you'll have to set the ClickPad option manually. The 50% value is where the right button should start, change it to 0 to have the bottom 18% a right click, and the other 82% as left-click.


As for number 2: if I read this correctly you want the cursor to move slower on higher finger pressure? or what exactly do you mean here?
Comment 5 Peter Hutterer 2013-11-27 20:01:59 EST
workaround, and this could be a file we ship as quirk for t440s. Drop this into /etc/hal/fdi/policy/ and reboot.

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
        <match key="/org/freedesktop/Hal/devices/computer:system.hardware.product" contains="t440">
                <match key="input.product" contains="Synaptics">
                        <merge key="input.x11_options.ClickPad" type="string">on</merge>
                        <merge key="input.x11_options.SoftButtonAreas" type="string">0 0 82% 0 0 0 0 0</merge>
                </match>
        </match>
  </device>
</deviceinfo>


Check your lshal output for the right system.hardware.product and of course
the touchpad if it really has Synaptics in the name and adjust accordingly.

This assigns the bottom 18% to the right button.
Comment 9 Vasiliy Sharapov 2013-12-03 20:46:56 EST
(In reply to Peter Hutterer from comment #4)
> Vasiliy: please get evemu from
> http://people.redhat.com/~phuttere/rpms/evemu/ and record the device with
> evemu-record. Specifically, make a separate recording of everything you want
> to work in a specific manner describing what you expect the action to do.
> [...snip...]
> As for number 2: if I read this correctly you want the cursor to move slower
> on higher finger pressure? or what exactly do you mean here?

I was hoping you would have some ideas - reducing the sensitivity when pressure goes above normal would probably work, as long as normal use doesn't trigger it. I suspect this is what is happening in Win7.

I made recordings of single and multiple "instantaneous" presses (no contact -> press -> no contact) and also multiple moving presses (move -> stop -> press -> repeat) in "pointy" and "flat" variants.

Pointy presses (using your fingertip and pressing with an evenly expanding area ( ◦ -> O ) are always fine and precise, just for reference if needed.

Flat presses (using the pad of your finger and pressing with a downward-expanding area ( ° -> O ) are probably more commonly used, but the cursor moves down by a significant amount.

If you want more samples, or more manageable chunks of data I will provide it ASAP. (Didn't realize evemu-record and X were mutually exclusive for a while.)
Comment 10 Vasiliy Sharapov 2013-12-03 20:47:48 EST
Created attachment 832378 [details]
Flat press (single)
Comment 11 Vasiliy Sharapov 2013-12-03 20:49:58 EST
Created attachment 832379 [details]
Flat press (multiple with movements between)
Comment 12 Vasiliy Sharapov 2013-12-03 20:49:59 EST
Created attachment 832380 [details]
Flat press (multiple)
Comment 13 Vasiliy Sharapov 2013-12-03 20:50:00 EST
Created attachment 832381 [details]
Point press (single)
Comment 14 Vasiliy Sharapov 2013-12-03 20:50:01 EST
Created attachment 832382 [details]
Point press (multiple with movements between)
Comment 15 Vasiliy Sharapov 2013-12-03 20:50:02 EST
Created attachment 832383 [details]
Point press (multiple)
Comment 16 Vasiliy Sharapov 2013-12-03 20:50:03 EST
Created attachment 832384 [details]
Xorg log
Comment 17 Peter Hutterer 2013-12-04 19:02:07 EST
Created attachment 832900 [details]
Swipe left to right (from beyond the touchpad to beyond the touchpad in case you need edge info)

a set of recordings Vasiliy sent via email
Comment 18 Peter Hutterer 2013-12-04 19:04:03 EST
Created attachment 832901 [details]
Swipe top to bottom (from beyond the touchpad to beyond the touchpad in case you need edge info)
Comment 19 Peter Hutterer 2013-12-04 19:05:09 EST
Created attachment 832902 [details]
ctual touchpad presses (4 individual -> 4 with moving between -> 4 individual double)
Comment 20 Peter Hutterer 2013-12-04 19:05:53 EST
Created attachment 832903 [details]
Just touchpad taps      (4 individual -> 4 with moving between -> 4 individual double)
Comment 21 Peter Hutterer 2013-12-04 19:06:19 EST
Created attachment 832904 [details]
Vertical down -> vertical up -> horizontal right -> horizontal left
Comment 24 Benjamin Tissoires 2014-02-05 15:10:55 EST
Update of the work to be done here:
Supporting the upper area as software button for the trackstick showed that we need to tackle it in several places in the synaptics Xorg driver.

upstream tracker bug:
https://bugs.freedesktop.org/show_bug.cgi?id=74544

----------------------------------------------------------
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.
----------------------------------------------------------

Still, we also need to update the kernel to take into account Synaptics "image sensors" (RHBZ #1042514)
Comment 30 Benjamin Tissoires 2014-04-09 10:16:10 EDT
The bug has been fixed upstream regarding the Xorg part. So granting devel-ack for this bug.
We still need the kernel to be fixed for the customer seeing improvements.
Comment 31 Peter Hutterer 2014-05-04 23:59:51 EDT
MODIFIED

xorg-x11-drv-synaptics-1.7.5.901-2.el6 is available in brew
Comment 34 errata-xmlrpc 2014-10-14 00:52:41 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-1376.html

Note You need to log in before you can comment on or make changes to this bug.