Input Binding Paths
This guide provides information the Input Control Paths and Interaction Profiles that are supported on Magic Leap 2. For general information about the OpenXR Hand Interaction Profile in Unity. See the Unity OpenXR Hand Interaction Input Manual.
Hand Interaction Profile
For detailed information about the origin of each pose relative to the hand see the OpenXR Hand Interaction Extension documentation.
Name | Path | Type | Description |
---|---|---|---|
devicePose | <HandInteraction>/devicePose | Pose | Represents the pose of the device, including rotation, position, and velocity of the tracked hand. |
pinchPose | <HandInteraction>/pinchPose | Pose | Pose specifically for the pinch gesture, including all pose data (rotation, position, etc.). |
pointer | <HandInteraction>/pointer | Pose | Pose for the pointing gesture or tool, typically involving the index finger. |
pokePose | <HandInteraction>/pokePose | Pose | Pose for the poke gesture, detailing the specific finger or tool position and orientation. |
pinchValue | <HandInteraction>/pinchValue | Float | The intensity or value of the pinch gesture, ranging from 0.0 to 1.0. |
pinchReady | <HandInteraction>/pinchReady | Boolean | Indicates whether the pinch gesture is started or being detected. Use the pinchValue to detect completeness. |
pointerActivateValue | <HandInteraction>/pointerActivateValue | Float | The intensity or value of pointer activation, generally used for buttons or triggers. |
pointerActivateReady | <HandInteraction>/pointerActivateReady | Boolean | Indicates whether the pointer activation gesture is started or being detected. Use the pointerActivateValue to detect completeness. |
graspValue | <HandInteraction>/graspValue | Float | The intensity or value of the grasp gesture, ranging from 0.0 to 1.0. |
graspReady | <HandInteraction>/graspReady | Boolean | Indicates whether the grasp gesture is started or being detected. Use the graspValue to detect completeness. |
isTracked | <HandInteraction>/isTracked | Boolean | Indicates whether the hand is currently being tracked. Unity Layout Only |
trackingState | <HandInteraction>/trackingState | Integer | Provides the current tracking state of the hand. Unity Layout Only |
devicePosition | <HandInteraction>/devicePosition | Vector3 | The position of the device or hand in 3D space. Unity Layout Only |
deviceRotation | <HandInteraction>/deviceRotation | Quaternion | The rotation of the device or hand in 3D space as a Quaternion. Unity Layout Only |
Note: Each pose value includes the rotation, position, and velocity. Separate position and rotation values can be obtained when appended to the path, for example:
<HandInteraction>/devicePose/position
<HandInteraction>/devicePose/rotation
To specify a particular hand instead of either, you can add {LeftHand}
or {RightHand}
after the <HandInteractionBindings>
in the binding.
Hand Interaction Illustrations
This illustration shows the hand joint conventions used by the OpenXR Hand Interactions Profile.
These illustrations show the key poses used by the OpenXR Hand Interactions Extension: aim, grip, pinch, and poke.
Palm Pose Interaction Profile
For more information about the Palm Pose extension, see the OpenXR Specification.
Name | Path | Type | Description |
---|---|---|---|
devicePose | <PalmPose>/palmPose | Pose | Represents the pose of the device, including rotation, position, and velocity of the tracked hand. |
isTracked | <PalmPose>/isTracked | Boolean | Indicates whether the hand is currently being tracked. Unity Layout Only |
trackingState | <PalmPose>/trackingState | Integer | Provides the current tracking state of the hand. Unity Layout Only |
devicePosition | <PalmPose>/devicePosition | Vector3 | The position of the device or hand in 3D space. Unity Layout Only |
deviceRotation | <PalmPose>/deviceRotation | Quaternion | The rotation of the device or hand in 3D space as a Quaternion. Unity Layout Only |
To specify a particular hand instead of either, you can add {LeftHand}
or {RightHand}
after the <PalmPose>
in the binding.
This feature requires the Palm Pose OpenXR Feature to be enabled in your project's OpenXR Settings (Window > XR Plugin Manager > OpenXR Settings).
Palm Pose Illustrations
These illustrations show examples of palm poses using by the OpenXR Palm Pose extension.