Bug 1086277 - Right button area on Thinkpad T430u clickpad does not generate right click events
Summary: Right button area on Thinkpad T430u clickpad does not generate right click ev...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: xorg-x11-drv-synaptics
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Peter Hutterer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-10 14:00 UTC by Hans de Goede
Modified: 2014-04-15 12:23 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-04-15 07:16:47 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
evemu.log (3.32 KB, text/plain)
2014-04-10 19:54 UTC, vdrhtc
no flags Details
evemu2.log (90.65 KB, text/plain)
2014-04-10 19:55 UTC, vdrhtc
no flags Details
50-synaptics.conf with clickpad forces to off (4.67 KB, text/plain)
2014-04-11 10:11 UTC, Hans de Goede
no flags Details
Green - sensitive, red - insensitive (177.29 KB, image/png)
2014-04-13 15:11 UTC, vdrhtc
no flags Details

Description Hans de Goede 2014-04-10 14:00:09 UTC
$Summary says it all, also see bug 1060885 comment 4.

Comment 1 vdrhtc 2014-04-10 19:54:32 UTC
Created attachment 885113 [details]
evemu.log

This is a *right* button click detected as LEFT_BIN

Comment 2 vdrhtc 2014-04-10 19:55:26 UTC
Created attachment 885114 [details]
evemu2.log

This is a border swipe

Comment 3 vdrhtc 2014-04-10 19:56:00 UTC
Here is some information about something =)

------------------------------------------
$ cat /sys/class/dmi/id/product_version
ThinkPad T430u
$ cat /sys/devices/pnp0/*/id
PNP0200
INT0800
PNP0103
PNP0c04
PNP0c02
PNP0b00
INT3f0d
PNP0c02
MSF0001
PNP0303
LEN0051
PNP0f13
SMO1200
PNP0c31
PNP0c02
------------------------------------------

I've done logging also, see attached, and no, I'm not an experienced code-builder)
With respect, 
Gleb

Comment 4 Hans de Goede 2014-04-11 10:10:12 UTC
Hi,

So the problem seems to be that your touchpad does not generate touch events in the bottom area of the pad, or at least in the bottom corners.

Can you run evemu-record again, but this time interactively. So go to a text console (ctrl+alt+f2), log in and then run just "sudo evemu-record", then enter the number (just the numer ie 4) of your touchpad.

Now evemu-record will print any touchpad events. What I want you to do is figure out which areas of the touchpad are insensitive to touches. Note that the touchpad may look at where the touch started, so to test please lift your finger and then put it down at a specific spot, then lift it again, and put it down in another spot.  Using this method can you please try to find out where in the bottom area the touchpad will (and will not) report touches. I'm specifically interested in the touch sensitivity in the following areas:
-bottom left / right corners
-bottom edge at 1/4 1/2 3/4 from the left
-bottom area below the marking indicating the button area, ie try the middle of the left half / right half
 of that area, and also a bit lower then that, so closer to the bottom edge
-middle area of the touchpad (just try a few places here, I expect these all to generate proper touches)

Last can you please copy the attached 50-synaptics.conf to /usr/share/X11/xorg.conf.d/50-synaptics.conf reboot and see how things work then ?

Thanks & Regards,

Hans

Comment 5 Hans de Goede 2014-04-11 10:11:22 UTC
Created attachment 885355 [details]
50-synaptics.conf with clickpad forces to off

Comment 6 Hans de Goede 2014-04-12 11:42:55 UTC
Note to self, min.max ranges extracted from evemu2.log:

kernel: x: 1472-5702 y: 1408-4714
real: x: 1253-5698 y: 1228-4715

Comment 7 vdrhtc 2014-04-13 15:11:47 UTC
Created attachment 885892 [details]
Green - sensitive, red - insensitive

This is the area map of sensivity

Comment 8 vdrhtc 2014-04-13 15:22:56 UTC
After the replacement of the .conf file the corner buttons work again even if the touchpad is not feeling the finger touch. That was easy) 
However, the right button stil generates left click events, that's still needs fixing.

Comment 9 Hans de Goede 2014-04-14 14:15:31 UTC
Hi,

(In reply to vdrhtc from comment #7)
> Created attachment 885892 [details]
> Green - sensitive, red - insensitive
> 
> This is the area map of sensivity

Thanks, that is very useful. So the bottom edge of your touchpad does not generate
touch events at all, that is unusual, I've never seen a clickpad which does that before.

(In reply to vdrhtc from comment #8)
> After the replacement of the .conf file the corner buttons work again even
> if the touchpad is not feeling the finger touch. That was easy) 

I am afraid things are not going to be that easy though, because getting the right button to work, we need to undo the 50-synaptics.conf changes.

For touchpads without buttons, where instead you press the entire pad down, we always wait for a touch before reporting the click to figure out to report a right or left button event. This is necessary as the click sometimes arrives before the touch data.

For your touchpad that means that we won't report any button events at all if you click using the insensitive bottom edge of the touchpad. So you will need to use the area slightly above that edge.

Note that with the latest version we ignore touches starting inside the bottom button area of the touchpad, so you don't need to worry about accidentally moving the pointer when using the bottom area instead of the bottom edge.

Please update to this version, which has all the latest clickpad related fixes including ignoring touches starting inside the bottom area: http://koji.fedoraproject.org/koji/buildinfo?buildID=510791

Upgrading to this version will also restore your 50-synaptics.conf to its original contents. After the upgrade please reboot and give the touchpad a try using the *sensitive* part of the bottom area to click, this way you should be able to both left and right click with a single finger.

Thanks & Regards,

Hans

Comment 10 vdrhtc 2014-04-14 19:25:16 UTC
Hello, Hans!

I've just updated to the new version - both buttons work as planned and the bottom area under the line does not move the pointer, too. That is right.

However, there is still a problem - despite the fact the bottom area does not move the cursor, it is not fully ignored:  two-finger slide on that stripe is still being processed: it rolls the page, for instance. Therefore you are not able to move cursor whilst you are touching the bottom stripe, what I try to do all the time (and, I suppose, most people usually do =) )

Would you please look into this problem as well? It feels to me that the solution might be just the finishing touch to all this discussion.

Thank you for your help!
With respect,
Gleb

Comment 11 Hans de Goede 2014-04-15 07:16:47 UTC
Hi,

(In reply to vdrhtc from comment #10)
> Hello, Hans!
> 
> I've just updated to the new version - both buttons work as planned and the
> bottom area under the line does not move the pointer, too. That is right.

Good.

> However, there is still a problem - despite the fact the bottom area does
> not move the cursor, it is not fully ignored:  two-finger slide on that
> stripe is still being processed: it rolls the page, for instance. Therefore
> you are not able to move cursor whilst you are touching the bottom stripe,
> what I try to do all the time (and, I suppose, most people usually do =) )

Ah yes, this is a known problem which is due to limitations in the xorg-x11-drv-synapatics code. We are working on a rewrite of the touchpad code which should fix this, but it will be a while before that rewrite becomes available. So for now you will just have to live with this.

Regards,

Hans

p.s.

I'm still working on figuring out why the bottom edge of your touchpad is insensitive. Can you run the following command in a terminal:

dmesg | grep synaptics

And then copy and paste the output here ? Thank you!

Comment 12 vdrhtc 2014-04-15 12:21:11 UTC
OK, let it be, I'll wait.
Here's my output

$ dmesg | grep synaptics
[    2.572984] psmouse serio4: synaptics: Touchpad model: 1, fw: 8.1, id: 0x1e2b1, caps: 0xd004a3/0x940300/0x126c00, board id: 2228, fw id: 1323666
[    2.572987] psmouse serio4: synaptics: serio: Synaptics pass-through port at isa0060/serio4/input0

Comment 13 Hans de Goede 2014-04-15 12:23:45 UTC
Thanks!


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