Bug 22806

Summary: palm detection seems to ignore PalmMinWidth
Product: xorg Reporter: Brian Tarricone <brian>
Component: Input/synapticsAssignee: Peter Hutterer <peter.hutterer>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium Keywords: NEEDINFO, patch
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
0001-Don-t-expect-a-palm-based-on-pressure-22806.patch none

Description Brian Tarricone 2009-07-16 18:22:35 UTC
I've been trying to find the optimal palm detection setting on my touchpad,
but I've run into a problem with PalmMinWidth in that it doesn't seem to
actually do anything.

Using synclient -m, I've found that the absolute "widest" I can make my
fingers when doing normal movement on the touchpad is around 12.  My palm,
unfortunately, sometimes appears as "thin" as 13, but 15 seems to be a decent
value, so I set PalmMinWidth=15.

Then for pressure.  When my palm rests on the edge of the touchpad, I can get
an unfortunately low value of around 35.  But let's say that doesn't happen
often, but 50 is pretty typical, so let's set PalmMinZ=50.

Unfortunately, when I slide my finger across the touchpad, now the mouse
doesn't move.  synclient -m reports my normal finger Z value of around
170-200, and a typical width value of around 7 or 8, which is of course less
than 15.

In fact, even if I still set PalmMinWidth to 50, using my finger only fails to
move the mouse cursor.

Using v1.1.2 of the driver here with xorg-server 1.5.3.
Comment 1 Peter Hutterer 2009-07-16 19:05:12 UTC
Do you have PalmDetect on?
Comment 2 Brian Tarricone 2009-07-16 19:57:55 UTC
Yes, PalmDetect is on.  If I turn it off, then my single-finger drags do indeed make the mouse move.  If I turn PalmDetect back on, then I can't move the mouse cursor again (with the MinZ and MinWidth settings I described, anyway).
Comment 3 Peter Hutterer 2009-08-18 00:03:58 UTC
sorry, I can't reproduce this. I'm running 1.1.3 and the basic values are the same for me as for you but it seems to work fine.
if i set the min width to 5 the cursor moves only if I use the tip of my finger (correctly so). anything higher has the same effect and palm detection seems to work fine.
Comment 4 Brian Tarricone 2009-08-18 13:20:08 UTC
Strange.  Well, I'll update to 1.1.3 and check it out the next time I'm in a position to restart X (using 1.1.2 now).
Comment 5 Peter Hutterer 2009-08-18 17:05:10 UTC
there's nothing between 1.1.2 and 1.1.3 that should have affected this, so I think you can save yourself the trouble of upgrading.
anyway, I've found the trigger. If you go above the palm min_z with the first touch of the finger, the palm detection code doesn't trigger the palm but still unsets the finger value.
Comment 6 Peter Hutterer 2009-10-07 19:10:24 UTC
Created attachment 30154 [details] [review]
0001-Don-t-expect-a-palm-based-on-pressure-22806.patch

simple patch, but I think it's the right thing to do here.

It simply changes the expectation of the driver, just because a value is above PalmMinZ doesn't mean it's probably a palm.
Comment 7 Brian Tarricone 2009-10-17 18:23:44 UTC
Great, this works well for me (testing patched against today's git master).

Now the only problem (though this may be intended behavior) is if I have my left palm slightly resting on the touchpad, and try to use a finger on my right hand to move the mouse cursor, it doesn't do anything.

Of course, without palm detection, in this case it thinks it's a two-finger swipe, so it's not like I'm losing functionality here.

I guess it would need to be a bit smarter about multitouch here, which is a separate issue.
Comment 8 Peter Hutterer 2009-10-18 16:56:05 UTC
our multitouch support is pretty bad. I don't even have a multitouch pad so I can't even test half the stuff out there and there's not a lot of patches coming in. If you're interested in improving it, please go for it, I'd be too happy to see the current state improve.

Thanks for testing this patch btw, much appreciated.
Comment 9 Peter Hutterer 2011-02-16 17:01:34 UTC
commit 5aaeea79eea98705fbbbea363a7ee4be1eeed827
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 8 11:56:57 2009 +1000

    Don't expect a palm based on pressure (#22806)

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.