Open Bug 1449660 Opened 7 years ago Updated 2 years ago

Pointer Events: Varying / incorrect pointerType when pen (while same pointerId)

Categories

(Core :: DOM: UI Events & Focus Handling, defect, P2)

59 Branch
defect

Tracking

()

People

(Reporter: frw700, Unassigned)

References

(Blocks 1 open bug, )

Details

(Keywords: testcase)

REPRO: 1. Open https://patrickhlauke.github.io/touch/pen-tracker/ 2. Optionally add a conditional breakpoint at first line of onPointer function to log event properties e.g. console.log(e.type, e.pointerType) 3. Perform a stroke drawing gesture (in order to trigger the pen-pointermove after touch-pointerdown, the gesture has to be performed with a hard stylus tip impact onto the surface and at a high velocity along the surface (hard-impact-fast-stroke)) RESULT: The visualized stylus disappears while tip is in contact with digitizer surface When tip hovers, pointerType is "pen", when tip is in contact, pointerType is "touch" and when hard-impact-fast-stroke there sometimes is a pen-pointermove after touch-pointerdown, ant that pen-pointermove sometimes is preceded by a touch-pointermove. Event sequence: pen-pointermove+, touch-pointerdown, touch-pointer-move?, pen-pointermove?, touch-pointermove+, touch-pointerup All events have the same pointerId but vary in pointerType. EXPECTED: The visualized stylus is visible and animated while tip is in contact, and a visualization of e.pressure is shown Event sequence: pen-pointermove+, pen-pointerdown, pen-pointermove+, pen-pointerup All events have the same pointerId and same pointerType. SYSTEM: OS: Windows 10 version 1709 (build 16299.309) Digitizer tablet: Wacom Intuos 3 (driver 1/28/2016) Config: dom.w3c_pointer_events.enabled = true, dom.w3c_pointer_events.implicit_capture = false NOTES: Behaves as expected with Chrome 66, Edge 16, IE11. On android 8 (Huawei Mate9, Intuos 3 over USB-OTG) pointerType never is "pen" in Firefox 59 (behaves as expected with Chrome 66). For clarity: e.g. "pen-pointermove" is short for PointerEvent with its pointerType property set to "pen" and its type property set to "pointermove".
Component: General → Event Handling
Product: Firefox → Core
Priority: -- → P2
I have the same issue with a Lenovo Yoga 730, with Active Pen 2. The only additional test was with Edge, which worked OK.
Yeah, need to find time to look at the pen handling issues. Needinfoing overholt to remind me to discuss about this with him.
Flags: needinfo?(overholt)
smaug and I discussed this. Need to find someone to own this :)
Flags: needinfo?(overholt)
Component: Event Handling → User events and focus handling

This is still broken. In addition, event.pointerID is inconsistent when using stylus in Firefox. In a single drag gesture, pointerId changes with every pointermove event. This also happens when using setPointerCapture

Marking Status: New because multiple users have reported this.

Status: UNCONFIRMED → NEW
Has STR: --- → yes
Ever confirmed: true
Keywords: testcase
OS: Unspecified → All

This is pretty infuriating because I was hoping to allow my users to map to specific actions when using the pen e.g. pan a datavis chart with a finger but lasso select when the pen is down.

Hi! Any news on that bug?

The redesigned Facebook also breaks with this bug. While buttons can be pressed, they cannot be released once a Wacom pen has been used in the browser window with the new Facebook layout present. Effectively Facebook can no longer be used with Firefox if a Wacom tablet is used.

If this breaks Facebook, hopefully this big will get someone's attention. It's been 2 years since this bug was discovered. Can someone please bump up the priority?

No longer blocks: 822898
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.