[pointerevents] Reserved pointerIds for special cases (#343)

mustaqahmed has just created a new issue for https://github.com/w3c/pointerevents:

== Reserved pointerIds for special cases ==
A recent [change](https://github.com/w3c/pointerevents/pull/317/) in the spec to support "click as a PointerEvent" assumed that a zero `pointerId` is reserved for non-pointing devices.  This is not backward compatible because we had no normative text in the spec about it.

A bit of history: several years ago we had added [this note](https://w3c.github.io/pointerevents/#dom-pointerevent-pointerid) around this behavior, perhaps after Chrome copied (EdgeHTML-based) Edge's behavior around `pointerId`s.  But we didn't formalized the behavior.

If I recall correctly, another behavior Chrome copied from Edge was reserving `pointerId ==1` for mouse.  This seems useful because mouse events are always tied to a single pointing device (which is unlike touch---each finger gets a new `pointerId` on every `pointerdown`).  This was not spec-ed either. 

I discovered today (after a [comment](https://github.com/w3c/pointerevents/pull/317/#discussion_r544434382) that Firefox uses `pointerId ==0` for mouse, which breaks both assumptions above, while being spec compliant!

@smaug---- @NavidZ: Can we standardize some reserved `pointerId` values to fix this?

Please view or discuss this issue at https://github.com/w3c/pointerevents/issues/343 using your GitHub account

Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 16 December 2020 17:06:15 UTC