New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 756529 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue 704051
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 1
Type: Bug



Sign in to add a comment

Android touchpad scrolling doesn't work

Project Member Reported by mustaq@chromium.org, Aug 17 2017

Issue description

Touchpad scroll events on Android seems to appear as MotionEvents with TOOL_TYPE_MOUSE.  Before M58, all mouse events were treated like touch events, so these touchpad events would be handled as touch-drags.  But this doesn't work now with our MouseEvent fix (www.chromestatus.com/feature/5642080642662400) because mouse drag doesn't scroll.

Setting the bug priority to P2 since this only affects Android apps installed on Chromebooks.

Google internal bug: b/63543477

Looks like there is a documented way to distinguish touchpad drag MotionEvents from mouse drag MotionEvents:
https://developer.android.com/topic/arc/input-compatibility.html

We can utilize this in two ways:

Option A: Keep firing touch events for touchpad drags.
Option B: Convert touchpad drags to mouse wheel events.





 

Comment 1 by mustaq@chromium.org, Aug 17 2017

Here are two CLs corresponding to the two options above.  I haven't tested any of them, I will ask someone expert in Android app on Chromebook (Dennis?) to check them while I am away on vacation for next two week.  And feel free to grab this bug if needed.

Option A:
https://chromium-review.googlesource.com/c/619175
A straightforward fix but not ideal because a touchpad drag is not the same as touch drag.

Option B:
https://chromium-review.googlesource.com/c/619176
Looks like idea but the extra state in EventForwarder needs a careful look.  Is there a chance the state could be uninitialized?

Components: Internals>Input>Touch>Pad Blink>Input
Labels: -Pri-2 Pri-1
Bumping up the priority as per the internal bug.

Comment 3 by mustaq@chromium.org, Sep 12 2017

Status: Started (was: Assigned)

Comment 4 by mustaq@chromium.org, Sep 13 2017

I have updated the wheel-event patch but it doesn't seem to solve the problem.

The biggest pain is to find out the problem: debug logs don't show up /var/log/messages

Comment 5 by fouchal@google.com, Sep 21 2017

Cc: fouchal@google.com

Comment 6 by rbyers@chromium.org, Sep 21 2017

Can we make this issue easier to reproduce/test by just plugging a USB touchpad into an Android phone (taking ARC++ out of the loop)?  I remember testing touchpad scrolling on Android in the past this way.  Or is this unusual touchpad behavior a quirk of ARC++ in particular?

Comment 7 by rbyers@chromium.org, Sep 21 2017

Blocking: 675339

Comment 8 by aelias@chromium.org, Sep 21 2017

It's a quirk of ARC++ in particular.  I tested a Blackberry Priv touchpad last week -- it goes through a different event type, and does and has always worked fine.  See https://bugs.chromium.org/p/chromium/issues/detail?id=483231 for when we made some changes to support the Blackberry Priv flow.  ARC++ invented their own separate mechanism for touchpad without knowing the prior art, but now they feel they can't move away from it because they've already told some developers about this event stream.

Comment 9 by rbyers@chromium.org, Sep 21 2017

Blocking: -675339
Mergedinto: 704051
Status: Duplicate (was: Started)
Looks like this was reported a long time ago in  issue 704051  - duping into that.

Sign in to add a comment