Re: [pointerevents] Implement penover / pendown / penmove / penup events and similar for other new pointer types. (#359)

I agree it's not hard for developers to have a switch on pointerType, the problem is that the browser can't know that they only care to handle a certain pointer type (e.g. pen for a drawing application) so the natural way of adding a listener like the following will slow down touch scrolling as well:

```js
canvas.addEventListener('pointerdown', (evt) => {
  if (evt.pointerType != 'pen')
    return;
  evt.preventDefault();
  // Start drawing.
});
```

Without input type specific handlers, the developer has to work around this by defining a pointer type specific touch action (in the linked issue) so that the events produce no default action and ensure that the element uses a passive event listener:

```html
<style>
canvas {
  pointer-action: pen(none);
}
</style>
<script>
canvas.addEventListener('pointerdown', (evt) => {
  if (evt.pointerType != 'pen')
    return;
  // Start drawing.
}, {passive: true});
</script>
```

However, it may be that the complexity of having additional event listener types is not worth it.

-- 
GitHub Notification of comment by flackr
Please view or discuss this issue at https://github.com/w3c/pointerevents/issues/359#issuecomment-819817400 using your GitHub account


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

Received on Wednesday, 14 April 2021 20:40:38 UTC