New issue
Advanced search Search tips

Issue 895972 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Pixelbook touch radii are flipped making tall/skinny contact areas look idential to wide/flat ones

Project Member Reported by rbyers@chromium.org, Oct 16

Issue description

Chrome Version       : 70.0.3538.58
OS Version: 11021.45.0
URLs (if applicable) : https://rbyers.github.io/paint.html

What steps will reproduce the problem?
1. Touch with a horizontal thumb
2. See you get a nice ellipse that approximates the contact area - sweet!
3. Rotate your thumb so that the contact area is tall and skinny
4. Touch again

What is the expected result?

A pointer event where the height is larger than the width. Or possibly a touch event with a non-zero rotation radius.

What happens instead of that?

Pointer and touch events indicating a wide contact (i.e. width/height flipped from what it should be).

dtapuska says he thinks he's seen some code which chooses the larger as the radiusX and the smaller as the radiusY. If the driver is really incapable of knowing the orientation, perhaps it would be better to report only circular contact areas (perhaps as the mean of the two known radii?)?


 
Screenshot 2018-10-16 at 3.21.26 PM.png
26.7 KB View Download
Thanks, but I don't think getting 0 for one of the radii can be the issue here or, according to that code, we'd see circular results. Right?

Yeah, that looks possible. In my testing with rbyers.net/eventTest.html I was seeing 0° TouchEvent rotationAngle in all cases, but perhaps the rotation angle is getting dropped somewhere downstream of that function?
Owner: mustaq@chromium.org
Status: Assigned (was: Unconfirmed)
Looks like motion_event_generic is getting wrong values here.  For a "vertical" thumb, it is correctly doing this conversion:
  (rx=17.359, ry=11.5727, deg=0) -> (major=34.718, minor=23.1454, orientation=-1.5708)

Confirmed it's a low-level issue: ui/events/event.cc also received radius_x > radius_y.

adlr@?
Cc: -adlr@chromium.org
Owner: adlr@chromium.org

Sign in to add a comment