XRInputSourceEvent: inputSource property

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

The XRInputSourceEvent interface's read-only inputSource property specifies the XRInputSource which generated the input event. This information lets you handle the event appropriately given the particulars of the user input device being manipulated.


An XRInputSource object identifying the source of the user input event. This event indicates an action the user has taken using a WebXR input controller, such as a hand controller, motion sensing device, or other input apparatus.


The snippet below shows a handler for the select event which looks specifically for events which happen on gaze input devices. The device type is identified by looking at the XRInputSource in inputSource and its targetRayMode property.

xrSession.onselect = (event) => {
  let source = event.inputSource;

  if (source.targetRayMode === "gaze") {
    /* handle selection using a gaze input */


WebXR Device API
# dom-xrinputsourceevent-inputsource

Browser compatibility

BCD tables only load in the browser