Bug 30393 - Synaptics driver 1.2.2 does not recognise two fingers on Thinkpad T400s
Summary: Synaptics driver 1.2.2 does not recognise two fingers on Thinkpad T400s
Status: RESOLVED NOTOURBUG
Alias: None
Product: xorg
Classification: Unclassified
Component: Input/synaptics (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Peter Hutterer
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-27 03:32 UTC by Alexander Hunziker
Modified: 2010-10-19 04:06 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Xorg.0.log (45.14 KB, text/x-log)
2010-10-05 05:57 UTC, Alexander Hunziker
no flags Details

Description Alexander Hunziker 2010-09-27 03:32:49 UTC
My laptop (a thinkpad T400s) has a touchpad which supports multiple fingers hardware-wise, but Linux (currently Ubuntu Maverick) cannot recognise more than one fingers.

synclient -m never reports more than one finger

What logs/hardware info is needed for you to investigate that issue?
Comment 1 Peter Hutterer 2010-10-04 23:00:16 UTC
I'd need your Xorg.log please and the evtest output from the device.
Comment 2 Alexander Hunziker 2010-10-05 05:57:43 UTC
Created attachment 39180 [details]
Xorg.0.log
Comment 3 Alexander Hunziker 2010-10-05 05:58:55 UTC
Output from evtest:

Input driver version is 1.0.1
Input device ID: bus 0x11 vendor 0x2 product 0x7 version 0x1b1
Input device name: "SynPS/2 Synaptics TouchPad"
Supported events:
  Event type 0 (Sync)
  Event type 1 (Key)
    Event code 272 (LeftBtn)
    Event code 273 (RightBtn)
    Event code 274 (MiddleBtn)
    Event code 277 (ForwardBtn)
    Event code 278 (BackBtn)
    Event code 325 (ToolFinger)
    Event code 330 (Touch)
  Event type 3 (Absolute)
    Event code 0 (X)
      Value      0
      Min     1472
      Max     5888
    Event code 1 (Y)
      Value      0
      Min     1408
      Max     4820
    Event code 24 (Pressure)
      Value      0
      Min        0
      Max      255
    Event code 28 (Tool Width)
      Value      0
      Min        0
      Max        0
Testing ... (interrupt to exit)
Comment 4 Chris Bagwell 2010-10-12 08:54:16 UTC
Can you look at information in buzilla report #29493?  Especially Comment 6 and 7?

It contains some hints on enabling 2-finger emulation and differences between xf86-input-synaptics-1.2.2 and 1.3.0.

Google shows that your model can use 2-finger emulation.
Comment 5 Alexander Hunziker 2010-10-12 14:21:36 UTC
Thank you for your comments. I looked at it using the xinput tool. In fact, Two-Finger Scrolling was already enabled, but the Two-Finger Pressure was set to a very high value (280). As soon as I lowered it to 10, scrolling with two fingers started working as it should.

So the question is: where does this pressure value come from?

(In reply to comment #4)
> Can you look at information in buzilla report #29493?  Especially Comment 6 and
> 7?
> 
> It contains some hints on enabling 2-finger emulation and differences between
> xf86-input-synaptics-1.2.2 and 1.3.0.
> 
> Google shows that your model can use 2-finger emulation.
Comment 6 Peter Hutterer 2010-10-12 15:35:47 UTC
(In reply to comment #5)
> Thank you for your comments. I looked at it using the xinput tool. In fact,
> Two-Finger Scrolling was already enabled, but the Two-Finger Pressure was set
> to a very high value (280). As soon as I lowered it to 10, scrolling with two
> fingers started working as it should.

that sounds like a bug. can you try to verify this please and make sure you don't have any configurations hanging around that may modify this? is it always 280?
Comment 7 Peter Hutterer 2010-10-12 15:37:21 UTC
(In reply to comment #3)
> Supported events:
>   Event type 0 (Sync)
>   Event type 1 (Key)
>     Event code 272 (LeftBtn)
>     Event code 273 (RightBtn)
>     Event code 274 (MiddleBtn)
>     Event code 277 (ForwardBtn)
>     Event code 278 (BackBtn)
>     Event code 325 (ToolFinger)
>     Event code 330 (Touch)

this snippet shows that BTN_TOOL_DOUBLETAP is missing, that's what the driver uses for two-finger capabilities. if the hw supports multifinger natively, the kernel driver needs to support this device. Otherwise, two-finger emulation through width (as Chris said) is the way to go.
Comment 8 Alexander Hunziker 2010-10-15 17:02:04 UTC
I tried with a Fedora 14 daily CD. This has, unlike my Ubuntu Maverick, a sensible default value for the pressure (29). On Ubuntu, this is reproducibly set to 280. Where are those default values set?

On both distributions, the Gnome Touchpad capplet does not offer to enable two-finger scrolling. That may be because the kernel does not support actual two-finger data, which forces the driver to use emulation, which in turn the capplet doesn't support?

So, how can we verify that the issue is really in the kernel, and where do i have to report that?
Comment 9 Peter Hutterer 2010-10-17 16:40:25 UTC
(In reply to comment #8)
> I tried with a Fedora 14 daily CD. This has, unlike my Ubuntu Maverick, a
> sensible default value for the pressure (29). On Ubuntu, this is reproducibly
> set to 280. Where are those default values set?

default values are calculated in the driver. U has a number of patches against synaptics though, so maybe there's some patch going nuts? don't know. If the stock synaptics driver works fine though, that's a bug you need to file in launchpad.

> On both distributions, the Gnome Touchpad capplet does not offer to enable
> two-finger scrolling. That may be because the kernel does not support actual
> two-finger data, which forces the driver to use emulation, which in turn the
> capplet doesn't support?
> 
> So, how can we verify that the issue is really in the kernel, and where do i
> have to report that?

the evtest output should show BTN_TOOL_DOUBLE ("Tool Double" or so) for two-finger capabilities. if the hardware specs claim multitouch support but the evtest output doesn't show it, then it's a kernel bug and you can report it at http://bugzilla.kernel.org/. Just search for dupes before, I wouldn't surprised if there's already a bug filed for it..


I think this bug is NOTOURBUG though. If I didn't miss anything, we have the Ubuntu bug with the pressure (→ launchpad), the capplet not supporting two-finger emulation (→ bugzilla.gnome.org) and the missing kernel feature (→ bugzilla.kernel.org).
Comment 10 Alexander Hunziker 2010-10-19 04:06:26 UTC
For reference, the issues are tracked in the following bug reports:

Gnome Mouse Capplet: b.g.o #625163

Multitouch support in the kernel: b.k.o #16041

Ubuntu default value issue: LP #648671


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.