The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

d/qwerty: Fix the aim pose not being HMD-relative

Commit e41cc1eec3 added support for the XRT_INPUT_SIMPLE_AIM_POSE pose
input in the QWERTY driver. Unfortunately it didn't change the code that
identifies whether the pose for a controller or HMD is being read.

In the QWERTY driver, the hands are positioned relative to the HMD, so
if you move or rotate the HMD the hands stay in the same place
on-screen. Whether a pose lookup is multiplied by the HMD transform
depends on whether the pose being looked up is that of a controller.

Thus the aim pose would not be positioned relative to the HMD.

authored by

Campbell Suter and committed by
Jakob Bornecrantz
bb414f7d 45703f09

+1 -1
+1 -1
src/xrt/drivers/qwerty/qwerty_device.c
··· 190 190 191 191 // HMD Parenting 192 192 193 - bool qd_is_ctrl = name == XRT_INPUT_SIMPLE_GRIP_POSE; 193 + bool qd_is_ctrl = name == XRT_INPUT_SIMPLE_GRIP_POSE || name == XRT_INPUT_SIMPLE_AIM_POSE; 194 194 struct qwerty_controller *qc = qd_is_ctrl ? qwerty_controller(&qd->base) : NULL; 195 195 if (qd_is_ctrl && qc->follow_hmd) { 196 196 struct xrt_relation_chain relation_chain = {0};