If the XR input source does not have at least one of the following properties, the gamepad attribute MUST be null:
Multiple buttons
A button which reports analog values
An axis
I'd like to suggest we change the restrictions to be:
If the XR input source does not have at least one of the following properties, the gamepad attribute MUST be null:
A single button and a gripSpace
More than one button
One or more axes
This is for a few reasons:
Technically, as written, a motion controller with two axes and no buttons would be prohibited even though a profile is defined for it: touchpad-thumbstick-controller.
Rendering a motion controller button and axis movement is done by monitoring the axis and button values. By excluding motion controllers with only one non-analog button, we force developers to write special case code to render button movement by instead monitoring the select events.
I believe this preserves the original intent of allowing a gamepad object to be returned for headset buttons/axes which are not otherwise available on an XRInputSource.
The spec currently states:
I'd like to suggest we change the restrictions to be:
This is for a few reasons:
touchpad-thumbstick-controller
.