Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@mdebbar
Copy link
Contributor

@mdebbar mdebbar commented Mar 1, 2021

When a mouse is being used, we always seem to be sending -1 as the pointer ID to Flutter. But the logic that tracks the up/down states is using the real pointer ID (the one that the browser gives to us, which is usually 1, but sometimes could be random as described below).

In some devices, like Wacom, the pen events are handled by the browser as if they were mouse events. But the pointer ID seems to be randomly generated (i.e. pointerdown is received with pointerId=21, and pointerup is received with pointerId=45 even though it's the same pen, see example).

By making sure to always use -1 for mouse, we will fix both issues at once.

Initially, I thought this could cause issues when there is more than one mouse attached to the device. But it turns out that the browser assigns the same pointer ID to all the attached mice. So we can also do the same.

Fixes flutter/flutter#75559

@mdebbar mdebbar added the platform-web Code specifically for the web engine label Mar 1, 2021
@mdebbar mdebbar requested review from dkwingsmt and ferhatb March 1, 2021 23:29
Copy link
Contributor

@dkwingsmt dkwingsmt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dkwingsmt
Copy link
Contributor

I don't think any major operation system is supporting multiple mouse cursors (i.e. all of them combines the movement of multiple mice into one cursor). Until we meet real use cases, we should be safe to assume we're only supporting one mouse cursor.

@mdebbar mdebbar merged commit a5ae18b into flutter:master Mar 2, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 2, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 3, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 4, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 4, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 4, 2021
cbracken added a commit to cbracken/flutter that referenced this pull request Mar 4, 2021
flutter/engine@cd0e543...a5ae18b

2021-03-02 [email protected] [web] Fix pointer events for Wacom pen (flutter/engine#24719)
2021-03-02 [email protected] [web] Fix painting of last placeholder in paragraph (flutter/engine#24716)
2021-03-02 [email protected] Win32: Support Korean input (flutter/engine#24713)
2021-03-02 [email protected] Add RAII wrapper for Win32 IMM context (flutter/engine#24699)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/master/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 4, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 4, 2021
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Mar 4, 2021
cbracken pushed a commit to flutter/flutter that referenced this pull request Mar 4, 2021
* aa3bb5e [web] Fix painting of last placeholder in paragraph (flutter/engine#24716)

* a5ae18b [web] Fix pointer events for Wacom pen (flutter/engine#24719)

* 4993c8e Roll Skia from d863ae52d4bb to 036ba86489d7 (3 revisions) (flutter/engine#24732)

* 7f1de85 Roll Dart SDK from f209e60a5415 to 761ed531161f (1 revision) (flutter/engine#24730)

* 44ba1cc Roll Skia from 036ba86489d7 to 786d42c6dac4 (1 revision) (flutter/engine#24733)

* 735876e Fix memory leak and bug in the RunsOnCreationTaskRunner check (flutter/engine#24690)

* 454d29c Roll Skia from 786d42c6dac4 to 12e760e958a7 (10 revisions) (flutter/engine#24738)

* 2c605fd Roll Fuchsia Linux SDK from tJbtmEE4Q... to YhRvbuj9c... (flutter/engine#24739)

* bf97442 Roll Skia from 12e760e958a7 to e80e169ba4c1 (1 revision) (flutter/engine#24740)

* 4d2caac Fix UWP build for UpdateCursorRect rename (flutter/engine#24697)

* 83b2f8f Roll Fuchsia Mac SDK from PRe0w0i4z... to 4TE5n81B-... (flutter/engine#24745)

* 410dd6f Roll Dart SDK from 761ed531161f to f527ddd39bb1 (3 revisions) (flutter/engine#24746)

* 91d9278 Roll Dart SDK from f527ddd39bb1 to 041a6dd2e76b (1 revision) (flutter/engine#24749)

* 03e0a11 Roll Fuchsia Linux SDK from YhRvbuj9c... to _0kewDFPJ... (flutter/engine#24750)

* f5b1351 Roll Skia from e80e169ba4c1 to acf26501fb5a (4 revisions) (flutter/engine#24752)

* 21de22a Roll Skia from acf26501fb5a to a1e30a3a280a (5 revisions) (flutter/engine#24753)

* e29fd6d Roll Fuchsia Mac SDK from 4TE5n81B-... to kPp_BF0q3... (flutter/engine#24759)

* de78d2a Roll Skia from a1e30a3a280a to f0de96f7b82a (7 revisions) (flutter/engine#24760)

* a33687d Roll Skia from f0de96f7b82a to 46d9bb255df4 (2 revisions) (flutter/engine#24762)

* 95215b7 Roll Dart SDK from 041a6dd2e76b to b9302efc8d9a (3 revisions) (flutter/engine#24764)

* 4aeffbe Move CIPD package creation tools under tools/cipd (flutter/engine#24766)

* 8ef7b63 Roll Skia from 46d9bb255df4 to e4ef35caa1bc (9 revisions) (flutter/engine#24769)

* 4bef5f8 Enables semantics when voice control is turned on (flutter/engine#24640)

* a546f16 Roll Fuchsia Linux SDK from _0kewDFPJ... to _vRi_XkB7... (flutter/engine#24771)

* e31cdad Added dependency on CppWinRT for UWP builds (flutter/engine#24770)

* a5ba994 Roll Skia from e4ef35caa1bc to 4db57264955f (1 revision) (flutter/engine#24772)

* 3cf4f1d Revert "[web] Fix painting of last placeholder in paragraph (#24716)" (flutter/engine#24773)

* 91120b3 Roll Skia from 4db57264955f to 21c8ad62cd82 (2 revisions) (flutter/engine#24774)
hjfreyer pushed a commit to hjfreyer/engine that referenced this pull request Mar 22, 2021
chriscraws pushed a commit to chriscraws/engine that referenced this pull request Mar 23, 2021
@mdebbar mdebbar deleted the wacom_pen branch April 15, 2021 17:34
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

cla: yes platform-web Code specifically for the web engine

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Web][FireFox][Windows]: Uncaught Error in Firefox on click event using template app (using Wacom pen)

4 participants