Secure context

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

The XRInputSourceEventInit dictionary's property frame specifies an XRFrame providing information about the timestamp at which the new input source event took place, as well as access to the XRFrame method getPose() which can be used to map the coordinates of any XRReferenceSpace to the space in which the event took place.

Of course, as a general rule, you won't need to create XRInputSourceEventInit objects yourself. These events are generated by and sent to you by the WebXR infrastructure.


xrInputSourceEventInit.frame = xrFrame;

let xrInputSourceEventInit = { frame: xrFrame };

let xrInputSourceEvent = new XRInputSourceEvent(type, { frame: xrFrame });


An XRFrame indicating the time at which the event took place, and providing a getPose() method which can be used to map reference spaces to the world reference space.

Usage notes

The event frame does not correspond to a visual frame as is delivered to the frame rendering callback function (see Rendering and the WebXR frame rendering callback for details on the callback). Instead, the XRFrame specified by the frame property is a method to provide access to the getPose() method, which you can use to get the relative positions of the objects in the scene at the time the event occurred.


This example creates a new select event and sends it to the XRSession.

let event = new XRInputSourceEvent("select", {
  frame: eventFrame,
  inputSource: source
if (event) {


Specification Status Comment
WebXR Device API
The definition of 'XRInputSourceEventInit.frame' in that specification.
Working Draft Initial definition.

Browser compatibility

No compatibility data found for api.XRInputSourceEventInit.frame.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.