XRInputSource: profiles property
The read-only XRInputSource
property profiles
returns an array of strings, each describing a configuration profile for the input source. The profile strings are listed in order of specificity, with the most specific profile listed first.
Note: The profiles
list is always empty when the WebXR
session is in inline mode.
Value
An array of strings, each describing one configuration profile
for the input device represented by the XRInputSource
object. Each input
profile specifies the preferred visual representation and behavior of the input source.
Input profile names
An input profile name is a string describing a visual representation and behavior the input source may be configured to use. Each string:
- Has no spaces; instead, words are separated by hyphen ("-") characters
- If the platform makes it available, the USB vendor and product ID may be provided but cannot be relied upon
- Does not uniquely identify a specific device; rather, it identifies a configuration that the product is capable of using
- Does not provide information about handedness of the device, if applicable
The WebXR Input Profiles Registry is used by device developers and browser developers to attempt to ensure that a given device will report the same profile strings regardless of which browser or other user agent you use.
Generic input profile names
The following input profile names are generic and can serve as fallbacks that describe the devices in the roughest sense.
- generic-button
- generic-hand-select-grasp
- generic-hand-select
- generic-hand
- generic-touchpad
- generic-touchscreen
- generic-trigger-squeeze-thumbstick
- generic-trigger-squeeze-touchpad-thumbstick
- generic-trigger-squeeze-touchpad
- generic-trigger-squeeze
- generic-trigger-thumbstick
- generic-trigger-touchpad-thumbstick
- generic-trigger-touchpad
- generic-trigger
Examples
The list in profiles
is in order of reverse specificity; that is, the most precise description is first, and the least precise description is last. The first entry in the list is typically indicative of the precise model of the controller, or of a model with which the controller is compatible.
For example, entry 0 in profiles
for an Oculus Touch controller is oculus-touch
. The next entry is generic-trigger-squeeze-thumbstick
, indicating a generic device with a trigger, a squeeze control, and a thumbstick. While the Oculus Touch controller actually has a thumbpad rather than a thumbstick, the overall description is "close enough" that the details within the profile matching the name will let the controller be interpreted usefully.
js
inputSource.profiles;
// ['oculus-touch', 'generic-trigger-squeeze-thumbstick']
Specifications
Specification |
---|
WebXR Device API # dom-xrinputsource-profiles |
Browser compatibility
BCD tables only load in the browser