Re: apa-ACTION-2216: Review webxr gamepads module - level 1

tl;dr: it doesn't seem that WebXR is supporting gamepads as alternative controllers (though I don't know enough to know if that's a problem, or desirable in future). Separately, I am also researching as to whether accessible controllers may be supported by the Gamepads API, though have not come to a conclusion. We just found an Explainer doc for the WebXR Device spec that may help fill in some of these details.

---

For clarity for the casual observer, there are three related specs here:

1. The WebXR Device API - reviewed by Gottfried [0]
2. The Gamepad API - reviewed by Léonie [1]
3. The WebXR Gamepads Module [which links the above two] - reviewed by Joshue and me [2]

Gottfried was wondering about whether the WebXR Device API is tied to the Gamepad spec, and whether, between them, they support or do not support controllers such as the Xbox Adaptive Controller [0].

Josh and I have read through the WebXR Gamepads Module. Whilst we don't have any immediate concerns (though I did find a typo [3]), there are a couple of questions that keep coming back to me. The first is: what is the purpose of this spec?

A. Is the purpose of the WebXR Gamepads Module to allow XR developers the ability to use the familiar Gamepads API to query the state of an XR controller (XRInputSource)?
B. or is it more about enabling users to use gamepads *rather than* traditional XR controllers?

I think it is the former, the clue being that the spec says that Gamepads must not be considered as XR Input Sources (as Josh noted to me) and the description of the spec from the repo on GitHub seems to corroborate this [4] (it states: "The WebXR Gamepads Module is for accessing the state of buttons, triggers, thumbsticks, and touchpads associated with virtual reality (VR) and augmented reality (AR) motion controllers on the Web."). However, I am concerned that I could have some incorrect presumptions here.

For clarification, Josh suggested either a more explicit mention in the spec, or an explainer document may help. This is a great idea and I’ve just now found that there is an explainer for the WebXR Device API [5]. I’ve not read it properly yet, though, as just found it. More on this to come, then.

Josh and I both were pleased to see that there are different types of input controller (gaze, motion controllers, etc.) supported by XR, but if this is *not* about being able to use a gamepad as an alternative, is that an accessibility issue, or at least something we'd want to see supported in future? Perhaps supporting gamepads as motion controllers has already been considered and discounted, possibly for good reason, but I don't know.

The other question I had was: I have started looking into the Gamepad spec to see if it could support controllers such as the Xbox Adaptive Controller [6] (Steve Lee was interested in issues such as this prior to the Workshop on Web Games). The Gamepad spec talks about things like buttons and axes, in order that it could describe any controller. Therefore, the question should perhaps be: are all the potential features of the Xbox Adaptive Controller (XAC) and things that could be connected to it supported by the Gamepad API spec? It sounds promising, but I haven't had time to complete that research yet.

best regards,


Matthew

[0] Gottfried's questions for APA based on reviewing the WebXR Device API: <https://lists.w3.org/Archives/Public/public-apa/2019Jul/0051.html>

[1] Gamepad spec info on APA wiki: https://www.w3.org/WAI/APA/wiki/Gamepad

[2] Actions to review WebXR Gamepads Module - Level 1: <https://www.w3.org/WAI/APA/track/actions/2215> and <https://www.w3.org/WAI/APA/track/actions/2216>

[3] There's a repeated "API" in the first sentence of section 2: <https://www.w3.org/TR/2019/WD-webxr-gamepads-module-1-20191010/#webxr-device-api-integration>

[4] Purpose of WebXR Gamepads Module: <https://github.com/immersive-web/webxr-gamepads-module#webxr-gamepads-module---level-1>

[5] WebXR Device API Explainer: https://github.com/immersive-web/webxr/blob/master/explainer.md

[6] <https://www.xbox.com/en-GB/xbox-one/accessories/controllers/xbox-adaptive-controller>
-- 
Matthew Tylee Atkinson
--
Senior Accessibility Engineer
The Paciello Group
https://www.paciellogroup.com
A Vispero Company
https://www.vispero.com/
--
This message is intended to be confidential and may be legally privileged. It is intended solely for the addressee. If you are not the intended recipient, please delete this message from your system and notify us immediately.
Any disclosure, copying, distribution or action taken or omitted to be taken by an unintended recipient in reliance on this message is prohibited and may be unlawful.

Received on Wednesday, 20 November 2019 12:48:16 UTC