The open source OpenXR runtime
0
fork

Configure Feed

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

d/qwerty: Fix tracking overrides and correct multi typo

+8 -4
+2 -2
src/xrt/drivers/multi_wrapper/multi.c
··· 226 226 d->base = *tracking_override_target; 227 227 228 228 // but take orientation and position tracking capabilities from tracker 229 - d->base.orientation_tracking_supported = tracking_override_target->orientation_tracking_supported; 230 - d->base.position_tracking_supported = tracking_override_target->position_tracking_supported; 229 + d->base.orientation_tracking_supported = tracking_override_tracker->orientation_tracking_supported; 230 + d->base.position_tracking_supported = tracking_override_tracker->position_tracking_supported; 231 231 232 232 // because we use the tracking data of the tracker, we use its tracking origin instead 233 233 d->base.tracking_origin = tracking_override_tracker->tracking_origin;
+6 -2
src/xrt/drivers/qwerty/qwerty_sdl.c
··· 24 24 if (xdevs[i] == NULL) { 25 25 continue; 26 26 } 27 - if (strcmp(xdevs[i]->str, QWERTY_HMD_STR) == 0 || strcmp(xdevs[i]->str, QWERTY_LEFT_STR) == 0 || 28 - strcmp(xdevs[i]->str, QWERTY_RIGHT_STR) == 0) { 27 + // We check against tracker name instead of device name because the tracking overrides 28 + // cause the multi device to have the same names even though they are not qwerty devices. 29 + const char *tracker_name = xdevs[i]->tracking_origin->name; 30 + if (strcmp(tracker_name, QWERTY_HMD_TRACKER_STR) == 0 || 31 + strcmp(tracker_name, QWERTY_LEFT_TRACKER_STR) == 0 || 32 + strcmp(tracker_name, QWERTY_RIGHT_TRACKER_STR) == 0) { 29 33 xdev = xdevs[i]; 30 34 break; 31 35 }