Closed Bug 989416 Opened 11 years ago Closed 10 years ago

Gonk nsAppShell dispatches mouse hover events on touch input

Categories

(Core Graveyard :: Widget: Gonk, defect)

All
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: kats, Unassigned)

References

Details

Attachments

(2 files)

While investigating bug 989407 I found that widget/gonk/nsAppShell.cpp is generating a NS_MOUSE_MOVE event when it shouldn't be. Running on a hamachi device which has been flashed with the mozilla-central 20140327200848 pvtbuild, plus a locally-built gecko and gaia. I added logging to nsAppShell and when I do a tap on the touchscreen, the sendMouseEvent function in nsAppShell triggers because of a AMOTION_EVENT_ACTION_HOVER_MOVE gonk event. Since this is a touchscreen device with no mouse or other pointer input, I don't think this should ever happen.
Summary: Clicking on things is very hard on latest hamachi m-c code → Gonk nsAppShell dispatches mouse hover events on touch input
What's worse is the AMOTION_EVENT_ACTION_HOVER_MOVE gonk event comes *after* the AMOTION_EVENT_ACTION_POINTER_UP event. This is causing errors like bug 1004516.
Assignee: nobody → bugmail.mozilla
Attachment #8416073 - Flags: review?(mwu)
Can you attach a getevent dump when this happens? Just want to get a feel for what *really* happens. We also have the kernel source for hamachi, so we can try actually fixing the driver instead. Also, just for the record here on bugzilla - http://www.cypress.com/?rID=42779 - a touchscreen that supports hover.
Attached file getevent dump (deleted) —
Here is a getevent dump from me panning one screen over on the homescreen (single touch point down, bunch of moves, and up). Also I believe the hover move comes as part of the "hover enter and move" call at http://mxr.mozilla.org/mozilla-central/source/widget/gonk/libui/InputReader.cpp?rev=0b914f0e61ab#3809 so it does seem intentional.
Thanks for the dump. I think what's happening here is that on touch up, the driver also sets pressure to zero, which causes the input code to think we're hovering. The kernel driver in this case should probably just not bother reporting pressure at all.
What are next steps here then? Who owns the driver code?
Flags: needinfo?(mwu)
This is going nowhere.
Assignee: bugmail.mozilla → nobody
Flags: needinfo?(mwu)
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → INCOMPLETE
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: