Device

Edit

Different types of input devices supported by the lovr.headset module.

ValueDescription
head The headset.
floor A device representing the floor, at the center of the play area. The pose of this device in physical space will remain constant, even after recentering.
left A shorthand for hand/left.
right A shorthand for hand/right.
hand/left The left hand.
hand/right The right hand.
hand/left/grip The left hand grip pose, used for held objects.
hand/right/grip The right hand grip pose, used for held objects.
hand/left/point The left hand pointer pose, used for pointing or aiming.
hand/right/point The right hand pointer pose, used for pointing or aiming.
hand/left/pinch The left hand pinch pose between the thumb and index fingers, used for precise, close-range interactions.
hand/right/pinch The right hand pinch pose between the thumb and index fingers, used for precise, close-range interactions.
hand/left/poke The left hand poke pose, on the tip of the index finger or in front of a controller.
hand/right/poke The right hand poke pose, on the tip of the index finger or in front of a controller.
elbow/left A device tracking the left elbow.
elbow/right A device tracking the right elbow.
shoulder/left A device tracking the left shoulder.
shoulder/right A device tracking the right shoulder.
chest A device tracking the chest.
waist A device tracking the waist.
knee/left A device tracking the left knee.
knee/right A device tracking the right knee.
foot/left A device tracking the left foot or ankle.
foot/right A device tracking the right foot or ankle.
camera A camera device, often used for recording "mixed reality" footage.
keyboard A tracked keyboard.
eye/left The left eye.
eye/right The right eye.
eye/gaze The combined eye gaze pose. The position is between the eyes. The orientation aligns the -Z axis in the direction the user is looking and the +Y axis to the head's "up" vector. This provides more accurate eye tracking information compared to using the individual eye devices.

Notes

The grip pose is used to render an object held in the user's hand. It's positioned at the surface of the palm. The X axis of the grip orientation is perpendicular to the palm, pointing away from the left palm or into the right palm. If you imagine the hand holding a stick, the Z axis will be parallel to the stick.

Hand Grip Pose

Image from the OpenXR Specification


The point pose is used to aim or point at objects. It's usually positioned slightly in front of the hand or controller, and is oriented so the -Z axis points in a natural forward direction.

Hand Point Pose

Image from the OpenXR Specification


The pinch pose is a stable point between the thumb and index finger on a hand, or a point slightly in front of a controller. The -Z axis will point forward, away from the hand. It's good for precise, close-range interaction.

Hand Pinch Pose

Image from the OpenXR Specification


The poke pose is a position located at the tip of the index finger, or a point slightly in front of a controller. The -Z axis will point forward out of the tip of the finger, the +Y axis will be perpendicular to the fingernail.

Hand Poke Pose

Image from the OpenXR Specification


These "hand pose devices" do not report any button input with e.g. lovr.headset.isDown. The main hand/left and hand/right devices should be used for buttons and haptics.

See also