The WebXR Device API interface XRInputSourcesChangeEvent is used to represent the inputsourceschange event sent to an XRSession when the set of available WebXR input controllers changes.
Creates and returns a new XRInputSourcesChangeEvent object. The specified type must be inputsourceschange, which is the only event that uses this interface.
Delivered to the XRSession when the set of input devices available to it changes.
Examples
The following example shows how to set up an event handler which uses inputsourceschange events to detect newly-available pointing devices and to load their models in preparation to display them in the next animation frame.
js
xrSession.addEventListener("inputsourceschange", onInputSourcesChange);functiononInputSourcesChange(event){for(const input of event.added){if(input.targetRayMode ==="tracked-pointer"){loadControllerMesh(input);}}}
You can also add a handler for inputsourceschange events by setting the oninputsourceschange event handler: