Need to cancel selected touch-points (vs all) to support palm rejection |
|||||||||
Issue descriptionMost (all?) of the event handling code in browser/blink treats low-level "touch-cancel event" equivalent to "beginning of scroll" because it is what Android MotionEvent does and it supported our use cases so far. https://developer.android.com/reference/android/view/MotionEvent.html#ACTION_CANCEL Therefore, any use case where low-level "touch-cancel events" is NOT related to beginning of scroll is currently broken. Palm rejection is one such case. If a user rests his hand on the touch screen first and then starts drawing with a pen, the device driver can possibly detect the first contact as a "palm" /after/ sending the touch-start, in which case it should cancel the first touch-point only while letting the second touch-point (for the pen) go ahead as usual. Looks like quite a bit of work to me. Adding RVG because it came up internally in b/110092372. Not sure if it's okay to remove this label.
,
Jun 12 2018
,
Jun 12 2018
,
Jun 12 2018
,
Jun 12 2018
Oops, accidentally removed seobrien@ from cc.
,
Jul 19
,
Sep 21
napper@ has been working on touchscreen palm rejection and has a working prototype implemented in ozone. Single-touch cancellation would improve the experience- is there someone who can work on this? Thanks!
,
Oct 31
friendly ping
,
Oct 31
Marking as untriaged so this gets looked at. nzolghadr@ should prioritize this but is out this week so we may need to wait until he returns.
,
Nov 8
The whole pipeline for touch events are grouped. So it certainly is tricky to solve the issue without refactoring the whole pipeline and migrate it to individual pointer events. napper@ what does your timeline look like?
,
Nov 8
We are targeting a launch in M74 (or if not then M75).
,
Nov 12
Is your work behind the flag that we can enable and try? I'll try to schedule this for 2019 Q1.
,
Nov 13
We don't have something you can enable yet, but it shouldn't be far off. I will let you know when a flag is available.
,
Nov 14
Fantastic. Also I was wondering how your palm rejection logic is going to work. So if we have multiple finger type pointers on the screen as soon as we start interacting with pen do you cancel all those finger type pointers or do you selectively figure which one was palm and only cancel that? So in other words when palm rejection kicks in can I still have some touch pointers and some pen pointers alive and page should react to those or will all touch pointers get canceled and only pen one remains?
,
Nov 14
The palm detection works on individual touches, so it can identify which touches are palm / spurious and which ones are valid. Ideally we should be able to just cancel just the touches identified as palm and allow all the others through.
,
Jan 14
napper@ we were planning to work on the bug this quarter. I was wondering whether you got to a place that we can enable that feature from your side in Chrome?
,
Jan 21
(2 days ago)
nzolghadr@ that is great news. We are working toward having a flag you can enable. I will let you know when it is available. |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by mustaq@chromium.org
, Jun 12 2018