- From: Brenton Simpson via GitHub <sysbot+gh@w3.org>
- Date: Tue, 20 Sep 2016 22:32:34 +0000
- To: public-pointer-events@w3.org
appsforartists has just created a new issue for
https://github.com/w3c/pointerevents:
== pointerup pressure should always be 0 ==
`pointerup` is defined to be when a {finger,stylus} loses contact with
the screen or when mouse buttons are no longer being pushed.
Therefore, I'd expect the pressure value of every `pointerup` event to
be 0. Moreover, the spec requires pressure to be 0 if the hardware
doesn't support it and no buttons are active (that is, the pointer is
up).
Maddeningly, its actual value is different across implementations.
Here's the current breakdown:
| Platform | Browser | Pointer | pointerup pressure
is 0 | pointerup pressure is whatever the last pointermove recorded |
| ------------- | -------------- | ------------ |
----------------------- |
------------------------------------------------------------ |
| Android | Chrome | touch |
| :ballot_box_with_check:
|
| iOS | Safari via PEP | touch |
| :ballot_box_with_check:
|
| Mac | Chrome | trackpad |
:ballot_box_with_check: |
|
| Mac | Chrome | Wacom stylus |
:ballot_box_with_check: |
|
| Mac | Chrome | Wacom touch |
| :ballot_box_with_check: (always 1, spec
says it should be .5) |
| Mac | Firefox | trackpad |
:ballot_box_with_check: |
|
| Mac | Firefox | Wacom stylus |
:ballot_box_with_check: |
|
| Mac | Firefox | Wacom touch |
:ballot_box_with_check: |
|
| Mac | Safari via PEP | trackpad |
:ballot_box_with_check: |
|
| Mac | Safari via PEP | Wacom stylus |
:ballot_box_with_check: |
|
| Mac | Safari via PEP | Wacom touch |
:ballot_box_with_check: |
|
| Windows | Chrome or Edge | touch |
| :ballot_box_with_check:
|
| Windows | Chrome or Edge | trackpad |
:ballot_box_with_check: |
|
| Windows | Chrome or Edge | stylus |
:ballot_box_with_check: |
|
| Windows | Firefox | touch |
:ballot_box_with_check: |
|
| Windows | Firefox | trackpad |
:ballot_box_with_check: |
|
| Windows | Firefox | stylus |
:ballot_box_with_check: |
|
And here's [the test](https://codepen.io/appsforartists/full/gwLWVE/).
If the background turns green on `pointerup`, `pressure` is 0. If
it turns red, `pressure` is using a stale value from `pointermove`.
**_tl;dr:_**
- Firefox always sets pressure to 0 in `pointerup`.
- The other desktop browsers use 0 for stylus and trackpad, but the
last `pointermove` value for touch.
- iOS and Android both use the last pressure value from `pointermove`.
**Can we please explicitly declare in the spec that pressure should be
0 in every `pointerup`?** This would be consistent with the
currently specified behavior for pointers that don't granularly report
pressure.
Please view or discuss this issue at
https://github.com/w3c/pointerevents/issues/146 using your GitHub
account
Received on Tuesday, 20 September 2016 22:32:41 UTC