Altitude/Azimuth for PointerEvents v3

Adds Altitude/Azimuth angles to PointerEvents. Adds TiltX/TiltY to Altitude/Azimuth transformation and Altitude/Azimuth to TiltX/TiltY transformation depending which pair is available from the device.

There are two common ways for determining the inclination of a stylus: - tiltX (angle between plane (pen,Y) and plane (Y,Z), tiltY (angle between plane (pen, X) and plane (X,Z) - altitude (angle between stylus and screen), azimuth (angle between X axis and stylus' projection on screen) tiltX, tiltY are the angles commonly measured by devices right now. Altitude and Azimuth can be calculated using trigonometry from tiltX, tiltY. From a hardware perspective it is easier and less expensive to measure tiltX/tiltY. From a stylus app perspective the API altitude/azimuth makes more sense and is more intuitive for users. Using tiltX/tiltY requires a developer to visualize the intersection/angle between two imaginary planes, while azimuth, altitude are easier to visualize just by looking at the pen and the screen surface. Adding azimuth/altitude allows developers to use a more intuitive API. Providing conversion between tiltX/tiltY and altitude/azimuth and vice versa allows for backwards compatibility with apps using tiltX/tiltY (even if newer devices might only return altitude/azimuth).

Documentation

Status in Chromium

Blink>Input


Enabled by default (tracking bug) in:

  • Chrome for desktop release 86
  • Chrome for Android release 86
  • Android WebView release 86

Consensus & Standardization

After a feature ships in Chrome, the values listed here are not guaranteed to be up to date.

  • No signal
  • No signal
  • In development
  • No signals

Owners

Last updated on 2020-09-07