Contact emails
baj...@chromium.org, samd...@chromium.org, mlam...@chromium.org, alco...@chromium.org
Explainer
https://github.com/immersive-web/webxr-gamepads-module/blob/master/gamepads-module-explainer.md
Spec
We are shipping the Gamepads Module https://immersive-web.github.io/webxr-gamepads-module/ along with the core WebXR Device API (https://immersive-web.github.io/webxr/)
TAG review for WebXR Device API: https://github.com/w3ctag/design-reviews/issues/403
All current feedback has been addressed in the spec, as well as in Chromium.
Summary
The WebXR Gamepad Module defines how the Gamepad API integrates with WebXR to communicate the state of various physical inputs (such as buttons, touch pads, and triggers) of an XRInputSource.
Previously the Gamepad API was used in conjunction with the deprecated WebVR API, and was adopted by WebXR with additional ergonomic improvements to support it's input needs. It is being shipped as a module rather than part of the WebXR core API to allow it to evolve more flexibly as the Gamepad API continues to add features.
Link to “Intent to Implement” blink-dev discussion
I2I for WebXR Device API (which contained the Gamepad API at time of this I2I): https://groups.google.com/a/chromium.org/d/topic/blink-dev/XMLgC_SR0dw/discussion
Note: The “Revised WebVR API” (aka WebVR 2.0) referenced in that thread was renamed WebXR Device API several months later.
Link to Origin Trial feedback summary
Find a summary of the WebXR M76-77 origin trial usage and developer feedback here. There has been little specific feedback on the Gamepads API; usage metrics indicate its usage is mostly contained to Canary (likely experimentation by developers).
Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Input from the Gamepad API is supported for immersive sessions only, which Chrome will support for Android and Windows.
Demo link
See the “Controller State” demo from this page: https://immersive-web.github.io/webxr-samples/
Risks
Interoperability and Compatibility
Edge: In development (within Chromium)
Firefox: In development
Safari: No signals
Web / Framework developers: Positive signals. Oculus, Microsoft, Magic Leap and other hardware OEMs are part of the Working Group, and each represent VR systems with advanced controller inputs that leverage the Gamepad API
Ergonomics
The WebXR Gamepad Module reuses most of the API surface defined by the existing Gamepad API, primarily specifying areas where the API behavior differs due to the integration with the WebXR spec. New developments in the Gamepad API are expected to be adopted for this use case as well, and keeping pace with those developments is part of why this feature is being developed as a module rather than a part of the core WebXR spec.
Activation
The WebXR Polyfill exposes Gamepads objects as described by the WebXR Gamepad Module, ensuring that the inputs are mapped as described on most popular devices. Additionally, developers are already familiar with how the Gamepad API works for traditional controllers, and much of that knowledge applies directly to this use case as well. Finally, WebVR (the deprecated precursor to WebXR) also utilized Gamepads in a similar manner, which helped inform ergonomic improvements to this module. As a result developers that have worked with immersive content on the web previously will already be familiar with this input model.
Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.
WebXR Gamepad Module WPTs: https://wpt.fyi/results/webxr?label=master&label=experimental&aligned&q=gamepad
Entry on the feature dashboard
This module is being launched along with the WebXR Device API (whose entry is linked): https://www.chromestatus.com/feature/5659025263820800
Contact emails
baj...@chromium.org, samd...@chromium.org, mlam...@chromium.org, alco...@chromium.org
Explainer
https://github.com/immersive-web/webxr-gamepads-module/blob/master/gamepads-module-explainer.md
Spec
We are shipping the Gamepads Module https://immersive-web.github.io/webxr-gamepads-module/ along with the core WebXR Device API (https://immersive-web.github.io/webxr/)
TAG review for WebXR Device API: https://github.com/w3ctag/design-reviews/issues/403
All current feedback has been addressed in the spec, as well as in Chromium.
Summary
The WebXR Gamepad Module defines how the Gamepad API integrates with WebXR to communicate the state of various physical inputs (such as buttons, touch pads, and triggers) of an XRInputSource.
Previously the Gamepad API was used in conjunction with the deprecated WebVR API, and was adopted by WebXR with additional ergonomic improvements to support it's input needs. It is being shipped as a module rather than part of the WebXR core API to allow it to evolve more flexibly as the Gamepad API continues to add features.
Link to “Intent to Implement” blink-dev discussion
I2I for WebXR Device API (which contained the Gamepad API at time of this I2I): https://groups.google.com/a/chromium.org/d/topic/blink-dev/XMLgC_SR0dw/discussion
Note: The “Revised WebVR API” (aka WebVR 2.0) referenced in that thread was renamed WebXR Device API several months later.
Link to Origin Trial feedback summary
Find a summary of the WebXR M76-77 origin trial usage and developer feedback here. There has been little specific feedback on the Gamepads API; usage metrics indicate its usage is mostly contained to Canary (likely experimentation by developers).
Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Input from the Gamepad API is supported for immersive sessions only, which Chrome will support for Android and Windows.
Demo link
See the “Controller State” demo from this page: https://immersive-web.github.io/webxr-samples/
Risks
Interoperability and Compatibility
Edge: In development (within Chromium)
Firefox: In development
Safari: No signals
Web / Framework developers: Positive signals. Oculus, Microsoft, Magic Leap and other hardware OEMs are part of the Working Group, and each represent VR systems with advanced controller inputs that leverage the Gamepad API
Ergonomics
The WebXR Gamepad Module reuses most of the API surface defined by the existing Gamepad API, primarily specifying areas where the API behavior differs due to the integration with the WebXR spec. New developments in the Gamepad API are expected to be adopted for this use case as well, and keeping pace with those developments is part of why this feature is being developed as a module rather than a part of the core WebXR spec.
Activation
The WebXR Polyfill exposes Gamepads objects as described by the WebXR Gamepad Module, ensuring that the inputs are mapped as described on most popular devices. Additionally, developers are already familiar with how the Gamepad API works for traditional controllers, and much of that knowledge applies directly to this use case as well. Finally, WebVR (the deprecated precursor to WebXR) also utilized Gamepads in a similar manner, which helped inform ergonomic improvements to this module. As a result developers that have worked with immersive content on the web previously will already be familiar with this input model.
Is this feature fully tested by web-platform-tests? Link to test suite results from wpt.fyi.
WebXR Gamepad Module WPTs: https://wpt.fyi/results/webxr?label=master&label=experimental&aligned&q=gamepad
Entry on the feature dashboard
This module is being launched along with the WebXR Device API (whose entry is linked): https://www.chromestatus.com/feature/5659025263820800
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAD_pDDnGvZ%2BvgU6sovMRKsO3%3D5KzhktuLO7vpXXYi0tZ-5qcLg%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2B-LeH8oshpU5U4z-i6n3WacYNAAhZkqDOkpEazis0c9kBmeqw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYdetFNb-waOVPpZGq7VVoYKRZUTZ2kbWiza_MaegC6YAQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACj%3DBEgiiXuc7mFOV0ALksryBrOXMSLTm0ovrBYVedSyOum_wg%40mail.gmail.com.