31#define XRT_UUID_SIZE 16
55#define XRT_LUID_SIZE 8
100 xrt_atomic_s32_t count;
113 XRT_BLEND_MODE_OPAQUE = 1,
114 XRT_BLEND_MODE_ADDITIVE = 2,
115 XRT_BLEND_MODE_ALPHA_BLEND = 3,
116 XRT_BLEND_MODE_MAX_ENUM,
119#define XRT_MAX_DEVICE_BLEND_MODES 3
169 XRT_DISTORTION_MODEL_NONE = 1u << 0u,
170 XRT_DISTORTION_MODEL_COMPUTE = 1u << 1u,
171 XRT_DISTORTION_MODEL_MESHUV = 1u << 2u,
181 XRT_SCANOUT_DIRECTION_NONE = 0,
182 XRT_SCANOUT_DIRECTION_TOP_TO_BOTTOM,
183 XRT_SCANOUT_DIRECTION_BOTTOM_TO_TOP,
184 XRT_SCANOUT_DIRECTION_LEFT_TO_RIGHT,
185 XRT_SCANOUT_DIRECTION_RIGHT_TO_LEFT,
200 XRT_FORMAT_BAYER_GR8,
204 XRT_FORMAT_BITMAP_8X1,
205 XRT_FORMAT_BITMAP_8X8,
223 XRT_STEREO_FORMAT_NONE,
249#define XRT_QUAT_IDENTITY {0.f, 0.f, 0.f, 1.f}
280#define XRT_VEC2_ZERO {0.f, 0.f}
324#define XRT_VEC3_ZERO {0.f, 0.f, 0.f}
333#define XRT_VEC3_UNIT_X {1.f, 0.f, 0.f}
342#define XRT_VEC3_UNIT_Y {0.f, 1.f, 0.f}
351#define XRT_VEC3_UNIT_Z {0.f, 0.f, 1.f}
513#define XRT_POSE_IDENTITY {XRT_QUAT_IDENTITY, XRT_VEC3_ZERO}
534#define XRT_MATRIX_2X2_ELEMENTS 4
541#define XRT_MATRIX_2X2_VECS 2
561#define XRT_MATRIX_3X3_ELEMENTS 9
588#define XRT_MATRIX_4X4_ELEMENTS 16
636 XRT_SPACE_REFERENCE_TYPE_VIEW,
637 XRT_SPACE_REFERENCE_TYPE_LOCAL,
638 XRT_SPACE_REFERENCE_TYPE_LOCAL_FLOOR,
639 XRT_SPACE_REFERENCE_TYPE_STAGE,
640 XRT_SPACE_REFERENCE_TYPE_UNBOUNDED,
648#define XRT_SPACE_REFERENCE_TYPE_COUNT (XRT_SPACE_REFERENCE_TYPE_UNBOUNDED + 1)
656#define XRT_SPACE_REFERENCE_TYPE_INVALID ((enum xrt_reference_space_type)(-1))
667 XRT_SPACE_RELATION_ORIENTATION_VALID_BIT = (1u << 0u),
668 XRT_SPACE_RELATION_POSITION_VALID_BIT = (1u << 1u),
669 XRT_SPACE_RELATION_LINEAR_VELOCITY_VALID_BIT = (1u << 2u),
670 XRT_SPACE_RELATION_ANGULAR_VELOCITY_VALID_BIT = (1u << 3u),
671 XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT = (1u << 4u),
672 XRT_SPACE_RELATION_POSITION_TRACKED_BIT = (1u << 5u),
674 XRT_SPACE_RELATION_BITMASK_ALL = (uint32_t)XRT_SPACE_RELATION_ORIENTATION_VALID_BIT |
675 (uint32_t)XRT_SPACE_RELATION_POSITION_VALID_BIT |
676 (uint32_t)XRT_SPACE_RELATION_LINEAR_VELOCITY_VALID_BIT |
677 (uint32_t)XRT_SPACE_RELATION_ANGULAR_VELOCITY_VALID_BIT |
678 (uint32_t)XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT |
679 (uint32_t)XRT_SPACE_RELATION_POSITION_TRACKED_BIT,
680 XRT_SPACE_RELATION_BITMASK_NONE = 0,
710#define XRT_SPACE_RELATION_ZERO {XRT_SPACE_RELATION_BITMASK_NONE, XRT_POSE_IDENTITY, XRT_VEC3_ZERO, XRT_VEC3_ZERO}
720#define XRT_RELATION_CHAIN_CAPACITY 8
750 XRT_DEVICE_GENERIC_HMD,
754 XRT_DEVICE_VIVE_WAND,
755 XRT_DEVICE_VIVE_TRACKER,
756 XRT_DEVICE_VIVE_TRACKER_GEN1,
757 XRT_DEVICE_VIVE_TRACKER_GEN2,
758 XRT_DEVICE_VIVE_TRACKER_GEN3,
759 XRT_DEVICE_VIVE_TRACKER_TUNDRA,
762 XRT_DEVICE_SIMPLE_CONTROLLER,
764 XRT_DEVICE_WMR_CONTROLLER,
765 XRT_DEVICE_XBOX_CONTROLLER,
766 XRT_DEVICE_GO_CONTROLLER,
767 XRT_DEVICE_TOUCH_CONTROLLER,
768 XRT_DEVICE_INDEX_CONTROLLER,
770 XRT_DEVICE_HP_REVERB_G2_CONTROLLER,
771 XRT_DEVICE_SAMSUNG_ODYSSEY_CONTROLLER,
772 XRT_DEVICE_LOGITECH_MX_INK_CONTROLLER,
773 XRT_DEVICE_ML2_CONTROLLER,
774 XRT_DEVICE_OPPO_MR_CONTROLLER,
776 XRT_DEVICE_HAND_INTERACTION,
778 XRT_DEVICE_EYE_GAZE_INTERACTION,
783 XRT_DEVICE_RIFT_REMOTE,
784 XRT_DEVICE_BLUBUR_S1,
787 XRT_DEVICE_CONTACTGLOVE2,
788 XRT_DEVICE_CONTACTGLOVE2_WITH_MAGNETRA2,
791 XRT_DEVICE_HAND_TRACKER,
792 XRT_DEVICE_REALSENSE,
811 XRT_DEVICE_PICO_NEO3_CONTROLLER,
812 XRT_DEVICE_PICO4_CONTROLLER,
813 XRT_DEVICE_PICO_G3_CONTROLLER,
815 XRT_DEVICE_VIVE_COSMOS_CONTROLLER,
816 XRT_DEVICE_VIVE_FOCUS3_CONTROLLER,
818 XRT_DEVICE_TOUCH_PRO_CONTROLLER,
819 XRT_DEVICE_TOUCH_PLUS_CONTROLLER,
820 XRT_DEVICE_TOUCH_CONTROLLER_RIFT_CV1,
821 XRT_DEVICE_TOUCH_CONTROLLER_QUEST_1_RIFT_S,
822 XRT_DEVICE_TOUCH_CONTROLLER_QUEST_2,
825 XRT_DEVICE_GENERIC_CONTROLLER,
828 XRT_DEVICE_HAND_CTRL_EMU,
838 XRT_DEVICE_TYPE_UNKNOWN = 0,
840 XRT_DEVICE_TYPE_RIGHT_HAND_CONTROLLER,
841 XRT_DEVICE_TYPE_LEFT_HAND_CONTROLLER,
842 XRT_DEVICE_TYPE_ANY_HAND_CONTROLLER,
843 XRT_DEVICE_TYPE_GAMEPAD,
844 XRT_DEVICE_TYPE_GENERIC_TRACKER,
845 XRT_DEVICE_TYPE_HAND_TRACKER,
846 XRT_DEVICE_TYPE_EYE_TRACKER,
847 XRT_DEVICE_TYPE_FACE_TRACKER,
848 XRT_DEVICE_TYPE_BODY_TRACKER,
886#define XRT_INPUT_TYPE_BITWIDTH 8u
895#define XRT_INPUT_TYPE_BITMASK 0xffu
908#define XRT_INPUT_NAME(id, type) ((UINT32_C(id) << XRT_INPUT_TYPE_BITWIDTH) | (uint32_t)XRT_INPUT_TYPE_##type)
919#define XRT_GET_INPUT_TYPE(name) ((enum xrt_input_type)(name & XRT_INPUT_TYPE_BITMASK))
930#define XRT_GET_INPUT_ID(name) ((uint32_t)(name >> XRT_INPUT_TYPE_BITWIDTH))
945 XRT_INPUT_HT_UNOBSTRUCTED_LEFT =
XRT_INPUT_NAME(0x0002, HAND_TRACKING),
946 XRT_INPUT_HT_UNOBSTRUCTED_RIGHT =
XRT_INPUT_NAME(0x0003, HAND_TRACKING),
947 XRT_INPUT_HT_CONFORMING_LEFT =
XRT_INPUT_NAME(0x0004, HAND_TRACKING),
948 XRT_INPUT_HT_CONFORMING_RIGHT =
XRT_INPUT_NAME(0x0005, HAND_TRACKING),
956 XRT_INPUT_GENERIC_LOCAL_SPACE_POSE =
XRT_INPUT_NAME(0x0009, POSE),
957 XRT_INPUT_GENERIC_LOCAL_FLOOR_SPACE_POSE =
XRT_INPUT_NAME(0x000A, POSE),
958 XRT_INPUT_GENERIC_STAGE_SPACE_POSE =
XRT_INPUT_NAME(0x000B, POSE),
959 XRT_INPUT_GENERIC_UNBOUNDED_SPACE_POSE =
XRT_INPUT_NAME(0x000C, POSE),
967 XRT_INPUT_GENERIC_PRIMARY_CLICK =
XRT_INPUT_NAME(0x0014, BOOLEAN),
968 XRT_INPUT_GENERIC_SECONDARY_CLICK =
XRT_INPUT_NAME(0x0015, BOOLEAN),
969 XRT_INPUT_GENERIC_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0016, BOOLEAN),
970 XRT_INPUT_GENERIC_THUMBSTICK =
XRT_INPUT_NAME(0x0017, VEC2_MINUS_ONE_TO_ONE),
971 XRT_INPUT_GENERIC_SQUEEZE_VALUE =
XRT_INPUT_NAME(0x0018, VEC1_ZERO_TO_ONE),
972 XRT_INPUT_GENERIC_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0019, VEC1_ZERO_TO_ONE),
974 XRT_INPUT_GENERIC_GRIP_SURFACE_POSE =
XRT_INPUT_NAME(0x001B, POSE),
985 XRT_INPUT_PSMV_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0028, VEC1_ZERO_TO_ONE),
998 XRT_INPUT_HYDRA_JOYSTICK_VALUE =
XRT_INPUT_NAME(0x0037, VEC2_MINUS_ONE_TO_ONE),
999 XRT_INPUT_HYDRA_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0038, VEC1_ZERO_TO_ONE),
1003 XRT_INPUT_DAYDREAM_TOUCHPAD_CLICK =
XRT_INPUT_NAME(0x0040, BOOLEAN),
1005 XRT_INPUT_DAYDREAM_CIRCLE_CLICK =
XRT_INPUT_NAME(0x0042, BOOLEAN),
1006 XRT_INPUT_DAYDREAM_VOLUP_CLICK =
XRT_INPUT_NAME(0x0043, BOOLEAN),
1007 XRT_INPUT_DAYDREAM_VOLDN_CLICK =
XRT_INPUT_NAME(0x0044, BOOLEAN),
1008 XRT_INPUT_DAYDREAM_TOUCHPAD =
XRT_INPUT_NAME(0x0045, VEC2_MINUS_ONE_TO_ONE),
1010 XRT_INPUT_DAYDREAM_TOUCHPAD_TOUCH =
XRT_INPUT_NAME(0x0047, BOOLEAN),
1018 XRT_INPUT_INDEX_SQUEEZE_VALUE =
XRT_INPUT_NAME(0x0056, VEC1_ZERO_TO_ONE),
1019 XRT_INPUT_INDEX_SQUEEZE_FORCE =
XRT_INPUT_NAME(0x0057, VEC1_ZERO_TO_ONE),
1021 XRT_INPUT_INDEX_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0059, VEC1_ZERO_TO_ONE),
1023 XRT_INPUT_INDEX_THUMBSTICK =
XRT_INPUT_NAME(0x005B, VEC2_MINUS_ONE_TO_ONE),
1024 XRT_INPUT_INDEX_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x005D, BOOLEAN),
1025 XRT_INPUT_INDEX_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0x005E, BOOLEAN),
1026 XRT_INPUT_INDEX_TRACKPAD =
XRT_INPUT_NAME(0x005F, VEC2_MINUS_ONE_TO_ONE),
1027 XRT_INPUT_INDEX_TRACKPAD_FORCE =
XRT_INPUT_NAME(0x0061, VEC1_ZERO_TO_ONE),
1028 XRT_INPUT_INDEX_TRACKPAD_TOUCH =
XRT_INPUT_NAME(0x0062, BOOLEAN),
1036 XRT_INPUT_VIVE_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0074, VEC1_ZERO_TO_ONE),
1037 XRT_INPUT_VIVE_TRACKPAD =
XRT_INPUT_NAME(0x0075, VEC2_MINUS_ONE_TO_ONE),
1043 XRT_INPUT_VIVEPRO_SYSTEM_CLICK =
XRT_INPUT_NAME(0x0080, BOOLEAN),
1046 XRT_INPUT_VIVEPRO_MUTE_MIC_CLICK =
XRT_INPUT_NAME(0x0083, BOOLEAN),
1050 XRT_INPUT_WMR_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0092, VEC1_ZERO_TO_ONE),
1051 XRT_INPUT_WMR_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0093, BOOLEAN),
1052 XRT_INPUT_WMR_THUMBSTICK =
XRT_INPUT_NAME(0x0094, VEC2_MINUS_ONE_TO_ONE),
1055 XRT_INPUT_WMR_TRACKPAD =
XRT_INPUT_NAME(0x0097, VEC2_MINUS_ONE_TO_ONE),
1066 XRT_INPUT_XBOX_DPAD_DOWN_CLICK =
XRT_INPUT_NAME(0x00A6, BOOLEAN),
1067 XRT_INPUT_XBOX_DPAD_RIGHT_CLICK =
XRT_INPUT_NAME(0x00A7, BOOLEAN),
1069 XRT_INPUT_XBOX_DPAD_LEFT_CLICK =
XRT_INPUT_NAME(0x00A9, BOOLEAN),
1070 XRT_INPUT_XBOX_SHOULDER_LEFT_CLICK =
XRT_INPUT_NAME(0x00AA, BOOLEAN),
1071 XRT_INPUT_XBOX_SHOULDER_RIGHT_CLICK =
XRT_INPUT_NAME(0x00AB, BOOLEAN),
1072 XRT_INPUT_XBOX_THUMBSTICK_LEFT_CLICK =
XRT_INPUT_NAME(0x00AC, BOOLEAN),
1073 XRT_INPUT_XBOX_THUMBSTICK_LEFT =
XRT_INPUT_NAME(0x00AD, VEC2_MINUS_ONE_TO_ONE),
1074 XRT_INPUT_XBOX_THUMBSTICK_RIGHT_CLICK =
XRT_INPUT_NAME(0x00AE, BOOLEAN),
1075 XRT_INPUT_XBOX_THUMBSTICK_RIGHT =
XRT_INPUT_NAME(0x00AF, VEC2_MINUS_ONE_TO_ONE),
1076 XRT_INPUT_XBOX_LEFT_TRIGGER_VALUE =
XRT_INPUT_NAME(0x00B0, VEC1_ZERO_TO_ONE),
1077 XRT_INPUT_XBOX_RIGHT_TRIGGER_VALUE =
XRT_INPUT_NAME(0x00B1, VEC1_ZERO_TO_ONE),
1084 XRT_INPUT_GO_TRACKPAD =
XRT_INPUT_NAME(0x00B5, VEC2_MINUS_ONE_TO_ONE),
1098 XRT_INPUT_TOUCH_SQUEEZE_VALUE =
XRT_INPUT_NAME(0x00CA, VEC1_ZERO_TO_ONE),
1100 XRT_INPUT_TOUCH_TRIGGER_VALUE =
XRT_INPUT_NAME(0x00CC, VEC1_ZERO_TO_ONE),
1101 XRT_INPUT_TOUCH_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x00CD, BOOLEAN),
1102 XRT_INPUT_TOUCH_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0x00CE, BOOLEAN),
1103 XRT_INPUT_TOUCH_THUMBSTICK =
XRT_INPUT_NAME(0x00CF, VEC2_MINUS_ONE_TO_ONE),
1104 XRT_INPUT_TOUCH_THUMBREST_TOUCH =
XRT_INPUT_NAME(0x00D0, BOOLEAN),
1107 XRT_INPUT_TOUCH_TRIGGER_PROXIMITY =
XRT_INPUT_NAME(0x00D3, BOOLEAN),
1108 XRT_INPUT_TOUCH_THUMB_PROXIMITY =
XRT_INPUT_NAME(0x00D4, BOOLEAN),
1110 XRT_INPUT_HAND_SELECT_VALUE =
XRT_INPUT_NAME(0x00E0, VEC1_ZERO_TO_ONE),
1111 XRT_INPUT_HAND_SQUEEZE_VALUE =
XRT_INPUT_NAME(0x00E1, VEC1_ZERO_TO_ONE),
1115 XRT_INPUT_G2_CONTROLLER_X_CLICK =
XRT_INPUT_NAME(0x00F0, BOOLEAN),
1116 XRT_INPUT_G2_CONTROLLER_Y_CLICK =
XRT_INPUT_NAME(0x00F1, BOOLEAN),
1117 XRT_INPUT_G2_CONTROLLER_A_CLICK =
XRT_INPUT_NAME(0x00F2, BOOLEAN),
1118 XRT_INPUT_G2_CONTROLLER_B_CLICK =
XRT_INPUT_NAME(0x00F3, BOOLEAN),
1119 XRT_INPUT_G2_CONTROLLER_MENU_CLICK =
XRT_INPUT_NAME(0x00F4, BOOLEAN),
1120 XRT_INPUT_G2_CONTROLLER_SQUEEZE_VALUE =
XRT_INPUT_NAME(0x00F5, VEC1_ZERO_TO_ONE),
1121 XRT_INPUT_G2_CONTROLLER_TRIGGER_VALUE =
XRT_INPUT_NAME(0x00F6, VEC1_ZERO_TO_ONE),
1122 XRT_INPUT_G2_CONTROLLER_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x00F7, BOOLEAN),
1123 XRT_INPUT_G2_CONTROLLER_THUMBSTICK =
XRT_INPUT_NAME(0x00F8, VEC2_MINUS_ONE_TO_ONE),
1124 XRT_INPUT_G2_CONTROLLER_GRIP_POSE =
XRT_INPUT_NAME(0x00F9, POSE),
1126 XRT_INPUT_G2_CONTROLLER_HOME_CLICK =
XRT_INPUT_NAME(0x00FB, BOOLEAN),
1127 XRT_INPUT_G2_CONTROLLER_SQUEEZE_CLICK =
XRT_INPUT_NAME(0x00FC, BOOLEAN),
1129 XRT_INPUT_ODYSSEY_CONTROLLER_MENU_CLICK =
XRT_INPUT_NAME(0x0100, BOOLEAN),
1130 XRT_INPUT_ODYSSEY_CONTROLLER_SQUEEZE_CLICK =
XRT_INPUT_NAME(0x0101, BOOLEAN),
1131 XRT_INPUT_ODYSSEY_CONTROLLER_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0102, VEC1_ZERO_TO_ONE),
1132 XRT_INPUT_ODYSSEY_CONTROLLER_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0103, BOOLEAN),
1133 XRT_INPUT_ODYSSEY_CONTROLLER_THUMBSTICK =
XRT_INPUT_NAME(0x0104, VEC2_MINUS_ONE_TO_ONE),
1134 XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_CLICK =
XRT_INPUT_NAME(0x0105, BOOLEAN),
1135 XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_TOUCH =
XRT_INPUT_NAME(0x0106, BOOLEAN),
1136 XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD =
XRT_INPUT_NAME(0x0107, VEC2_MINUS_ONE_TO_ONE),
1137 XRT_INPUT_ODYSSEY_CONTROLLER_GRIP_POSE =
XRT_INPUT_NAME(0x0108, POSE),
1138 XRT_INPUT_ODYSSEY_CONTROLLER_AIM_POSE =
XRT_INPUT_NAME(0x0109, POSE),
1139 XRT_INPUT_ODYSSEY_CONTROLLER_HOME_CLICK =
XRT_INPUT_NAME(0x010A, BOOLEAN),
1141 XRT_INPUT_ML2_CONTROLLER_MENU_CLICK =
XRT_INPUT_NAME(0x0200, BOOLEAN),
1142 XRT_INPUT_ML2_CONTROLLER_SELECT_CLICK =
XRT_INPUT_NAME(0x0201, BOOLEAN),
1143 XRT_INPUT_ML2_CONTROLLER_TRIGGER_CLICK =
XRT_INPUT_NAME(0x0202, BOOLEAN),
1144 XRT_INPUT_ML2_CONTROLLER_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0203, VEC1_ZERO_TO_ONE),
1145 XRT_INPUT_ML2_CONTROLLER_TRACKPAD_CLICK =
XRT_INPUT_NAME(0x0204, BOOLEAN),
1146 XRT_INPUT_ML2_CONTROLLER_TRACKPAD_TOUCH =
XRT_INPUT_NAME(0x0205, BOOLEAN),
1147 XRT_INPUT_ML2_CONTROLLER_TRACKPAD_FORCE =
XRT_INPUT_NAME(0x0206, VEC1_ZERO_TO_ONE),
1148 XRT_INPUT_ML2_CONTROLLER_TRACKPAD =
XRT_INPUT_NAME(0x0207, VEC2_MINUS_ONE_TO_ONE),
1149 XRT_INPUT_ML2_CONTROLLER_GRIP_POSE =
XRT_INPUT_NAME(0x0208, POSE),
1150 XRT_INPUT_ML2_CONTROLLER_AIM_POSE =
XRT_INPUT_NAME(0x0209, POSE),
1151 XRT_INPUT_ML2_CONTROLLER_SHOULDER_CLICK =
XRT_INPUT_NAME(0x020A, BOOLEAN),
1153 XRT_INPUT_VIVE_TRACKER_SYSTEM_CLICK =
XRT_INPUT_NAME(0x0210, BOOLEAN),
1154 XRT_INPUT_VIVE_TRACKER_MENU_CLICK =
XRT_INPUT_NAME(0x0211, BOOLEAN),
1155 XRT_INPUT_VIVE_TRACKER_TRIGGER_CLICK =
XRT_INPUT_NAME(0x0212, BOOLEAN),
1156 XRT_INPUT_VIVE_TRACKER_SQUEEZE_CLICK =
XRT_INPUT_NAME(0x0213, BOOLEAN),
1157 XRT_INPUT_VIVE_TRACKER_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0214, VEC1_ZERO_TO_ONE),
1158 XRT_INPUT_VIVE_TRACKER_TRACKPAD =
XRT_INPUT_NAME(0x0215, VEC2_MINUS_ONE_TO_ONE),
1159 XRT_INPUT_VIVE_TRACKER_TRACKPAD_CLICK =
XRT_INPUT_NAME(0x0216, BOOLEAN),
1160 XRT_INPUT_VIVE_TRACKER_TRACKPAD_TOUCH =
XRT_INPUT_NAME(0x0217, BOOLEAN),
1165 XRT_INPUT_PSSENSE_OPTIONS_CLICK =
XRT_INPUT_NAME(0x0302, BOOLEAN),
1166 XRT_INPUT_PSSENSE_SQUARE_CLICK =
XRT_INPUT_NAME(0x0303, BOOLEAN),
1167 XRT_INPUT_PSSENSE_SQUARE_TOUCH =
XRT_INPUT_NAME(0x0304, BOOLEAN),
1168 XRT_INPUT_PSSENSE_TRIANGLE_CLICK =
XRT_INPUT_NAME(0x0305, BOOLEAN),
1169 XRT_INPUT_PSSENSE_TRIANGLE_TOUCH =
XRT_INPUT_NAME(0x0306, BOOLEAN),
1172 XRT_INPUT_PSSENSE_CIRCLE_CLICK =
XRT_INPUT_NAME(0x0309, BOOLEAN),
1173 XRT_INPUT_PSSENSE_CIRCLE_TOUCH =
XRT_INPUT_NAME(0x030a, BOOLEAN),
1174 XRT_INPUT_PSSENSE_SQUEEZE_CLICK =
XRT_INPUT_NAME(0x030b, BOOLEAN),
1175 XRT_INPUT_PSSENSE_SQUEEZE_TOUCH =
XRT_INPUT_NAME(0x030c, BOOLEAN),
1176 XRT_INPUT_PSSENSE_SQUEEZE_PROXIMITY =
XRT_INPUT_NAME(0x030d, BOOLEAN),
1177 XRT_INPUT_PSSENSE_SQUEEZE_PROXIMITY_FLOAT =
XRT_INPUT_NAME(0x030e, VEC1_ZERO_TO_ONE),
1178 XRT_INPUT_PSSENSE_TRIGGER_CLICK =
XRT_INPUT_NAME(0x030f, BOOLEAN),
1179 XRT_INPUT_PSSENSE_TRIGGER_TOUCH =
XRT_INPUT_NAME(0x0310, BOOLEAN),
1180 XRT_INPUT_PSSENSE_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0311, VEC1_ZERO_TO_ONE),
1181 XRT_INPUT_PSSENSE_TRIGGER_PROXIMITY =
XRT_INPUT_NAME(0x0312, BOOLEAN),
1182 XRT_INPUT_PSSENSE_TRIGGER_PROXIMITY_FLOAT =
XRT_INPUT_NAME(0x0313, VEC1_ZERO_TO_ONE),
1183 XRT_INPUT_PSSENSE_THUMBSTICK =
XRT_INPUT_NAME(0x0314, VEC2_MINUS_ONE_TO_ONE),
1184 XRT_INPUT_PSSENSE_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0315, BOOLEAN),
1185 XRT_INPUT_PSSENSE_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0x0316, BOOLEAN),
1192 XRT_INPUT_HAND_PINCH_VALUE =
XRT_INPUT_NAME(0x0403, VEC1_ZERO_TO_ONE),
1193 XRT_INPUT_HAND_AIM_ACTIVATE_VALUE =
XRT_INPUT_NAME(0x0404, VEC1_ZERO_TO_ONE),
1194 XRT_INPUT_HAND_GRASP_VALUE =
XRT_INPUT_NAME(0x0405, VEC1_ZERO_TO_ONE),
1196 XRT_INPUT_HAND_AIM_ACTIVATE_READY =
XRT_INPUT_NAME(0x0407, BOOLEAN),
1204 XRT_INPUT_OPPO_MR_HEART_RATE_VALUE =
XRT_INPUT_NAME(0x0505, VEC1_ZERO_TO_ONE),
1210 XRT_INPUT_OPPO_MR_SQUEEZE_VALUE =
XRT_INPUT_NAME(0x050B, VEC1_ZERO_TO_ONE),
1211 XRT_INPUT_OPPO_MR_TRIGGER_TOUCH =
XRT_INPUT_NAME(0x050C, BOOLEAN),
1212 XRT_INPUT_OPPO_MR_TRIGGER_VALUE =
XRT_INPUT_NAME(0x050D, VEC1_ZERO_TO_ONE),
1215 XRT_INPUT_OPPO_MR_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0510, BOOLEAN),
1216 XRT_INPUT_OPPO_MR_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0x0511, BOOLEAN),
1217 XRT_INPUT_OPPO_MR_THUMBSTICK =
XRT_INPUT_NAME(0x0512, VEC2_MINUS_ONE_TO_ONE),
1219 XRT_INPUT_GENERIC_FACE_TRACKING =
XRT_INPUT_NAME(0x0600, FACE_TRACKING),
1221 XRT_INPUT_HTC_EYE_FACE_TRACKING =
XRT_INPUT_NAME(0x0601, FACE_TRACKING),
1222 XRT_INPUT_HTC_LIP_FACE_TRACKING =
XRT_INPUT_NAME(0x0602, FACE_TRACKING),
1223 XRT_INPUT_FB_FACE_TRACKING2_AUDIO =
XRT_INPUT_NAME(0x0603, FACE_TRACKING),
1224 XRT_INPUT_FB_FACE_TRACKING2_VISUAL =
XRT_INPUT_NAME(0x0604, FACE_TRACKING),
1225 XRT_INPUT_ANDROID_FACE_TRACKING =
XRT_INPUT_NAME(0x0605, FACE_TRACKING),
1227 XRT_INPUT_GENERIC_BODY_TRACKING =
XRT_INPUT_NAME(0x0700, BODY_TRACKING),
1228 XRT_INPUT_FB_BODY_TRACKING =
XRT_INPUT_NAME(0x0701, BODY_TRACKING),
1229 XRT_INPUT_META_FULL_BODY_TRACKING =
XRT_INPUT_NAME(0x0702, BODY_TRACKING),
1230 XRT_INPUT_BD_BODY_TRACKING =
XRT_INPUT_NAME(0x0703, BODY_TRACKING),
1231 XRT_INPUT_BD_BODY_TRACKING_WITHOUT_ARM =
XRT_INPUT_NAME(0x0704, BODY_TRACKING),
1237 XRT_INPUT_PICO_NEO3_MENU_CLICK =
XRT_INPUT_NAME(0x0804, BOOLEAN),
1238 XRT_INPUT_PICO_NEO3_SYSTEM_CLICK =
XRT_INPUT_NAME(0x0805, BOOLEAN),
1239 XRT_INPUT_PICO_NEO3_TRIGGER_CLICK =
XRT_INPUT_NAME(0x0806, BOOLEAN),
1240 XRT_INPUT_PICO_NEO3_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0807, VEC1_ZERO_TO_ONE),
1241 XRT_INPUT_PICO_NEO3_TRIGGER_TOUCH =
XRT_INPUT_NAME(0x0808, BOOLEAN),
1242 XRT_INPUT_PICO_NEO3_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0809, BOOLEAN),
1243 XRT_INPUT_PICO_NEO3_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0x080A, BOOLEAN),
1244 XRT_INPUT_PICO_NEO3_THUMBSTICK =
XRT_INPUT_NAME(0x080B, VEC2_MINUS_ONE_TO_ONE),
1245 XRT_INPUT_PICO_NEO3_SQUEEZE_CLICK =
XRT_INPUT_NAME(0x080C, BOOLEAN),
1246 XRT_INPUT_PICO_NEO3_SQUEEZE_VALUE =
XRT_INPUT_NAME(0x080D, VEC1_ZERO_TO_ONE),
1260 XRT_INPUT_PICO4_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0907, VEC1_ZERO_TO_ONE),
1262 XRT_INPUT_PICO4_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0909, BOOLEAN),
1263 XRT_INPUT_PICO4_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0x090A, BOOLEAN),
1264 XRT_INPUT_PICO4_THUMBSTICK =
XRT_INPUT_NAME(0x090B, VEC2_MINUS_ONE_TO_ONE),
1266 XRT_INPUT_PICO4_SQUEEZE_VALUE =
XRT_INPUT_NAME(0x090D, VEC1_ZERO_TO_ONE),
1276 XRT_INPUT_PICO_G3_TRIGGER_CLICK =
XRT_INPUT_NAME(0x0A02, BOOLEAN),
1277 XRT_INPUT_PICO_G3_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0A03, VEC1_ZERO_TO_ONE),
1278 XRT_INPUT_PICO_G3_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0A04, BOOLEAN),
1279 XRT_INPUT_PICO_G3_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0x0A05, BOOLEAN),
1280 XRT_INPUT_PICO_G3_THUMBSTICK =
XRT_INPUT_NAME(0x0A06, VEC2_MINUS_ONE_TO_ONE),
1286 XRT_INPUT_VIVE_COSMOS_MENU_CLICK =
XRT_INPUT_NAME(0x0B02, BOOLEAN),
1289 XRT_INPUT_VIVE_COSMOS_SYSTEM_CLICK =
XRT_INPUT_NAME(0x0B05, BOOLEAN),
1290 XRT_INPUT_VIVE_COSMOS_SHOULDER_CLICK =
XRT_INPUT_NAME(0x0B06, BOOLEAN),
1291 XRT_INPUT_VIVE_COSMOS_SQUEEZE_CLICK =
XRT_INPUT_NAME(0x0B07, BOOLEAN),
1292 XRT_INPUT_VIVE_COSMOS_TRIGGER_CLICK =
XRT_INPUT_NAME(0x0B08, BOOLEAN),
1293 XRT_INPUT_VIVE_COSMOS_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0B09, VEC1_ZERO_TO_ONE),
1294 XRT_INPUT_VIVE_COSMOS_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0B0A, BOOLEAN),
1295 XRT_INPUT_VIVE_COSMOS_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0x0B0B, BOOLEAN),
1296 XRT_INPUT_VIVE_COSMOS_THUMBSTICK =
XRT_INPUT_NAME(0x0B0C, VEC2_MINUS_ONE_TO_ONE),
1302 XRT_INPUT_VIVE_FOCUS3_MENU_CLICK =
XRT_INPUT_NAME(0x0C02, BOOLEAN),
1305 XRT_INPUT_VIVE_FOCUS3_SYSTEM_CLICK =
XRT_INPUT_NAME(0x0C05, BOOLEAN),
1306 XRT_INPUT_VIVE_FOCUS3_SQUEEZE_CLICK =
XRT_INPUT_NAME(0x0C06, BOOLEAN),
1307 XRT_INPUT_VIVE_FOCUS3_SQUEEZE_TOUCH =
XRT_INPUT_NAME(0x0C07, BOOLEAN),
1308 XRT_INPUT_VIVE_FOCUS3_SQUEEZE_VALUE =
XRT_INPUT_NAME(0x0C08, VEC1_ZERO_TO_ONE),
1309 XRT_INPUT_VIVE_FOCUS3_TRIGGER_CLICK =
XRT_INPUT_NAME(0x0C09, BOOLEAN),
1310 XRT_INPUT_VIVE_FOCUS3_TRIGGER_TOUCH =
XRT_INPUT_NAME(0x0C0A, BOOLEAN),
1311 XRT_INPUT_VIVE_FOCUS3_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0C0B, VEC1_ZERO_TO_ONE),
1312 XRT_INPUT_VIVE_FOCUS3_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0C0C, BOOLEAN),
1313 XRT_INPUT_VIVE_FOCUS3_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0x0C0D, BOOLEAN),
1314 XRT_INPUT_VIVE_FOCUS3_THUMBSTICK =
XRT_INPUT_NAME(0x0C0E, VEC2_MINUS_ONE_TO_ONE),
1315 XRT_INPUT_VIVE_FOCUS3_THUMBREST_TOUCH =
XRT_INPUT_NAME(0x0C0F, BOOLEAN),
1323 XRT_INPUT_TOUCH_PRO_MENU_CLICK =
XRT_INPUT_NAME(0x0D04, BOOLEAN),
1328 XRT_INPUT_TOUCH_PRO_SYSTEM_CLICK =
XRT_INPUT_NAME(0x0D09, BOOLEAN),
1329 XRT_INPUT_TOUCH_PRO_SQUEEZE_VALUE =
XRT_INPUT_NAME(0x0D0A, VEC1_ZERO_TO_ONE),
1330 XRT_INPUT_TOUCH_PRO_TRIGGER_TOUCH =
XRT_INPUT_NAME(0x0D0B, BOOLEAN),
1331 XRT_INPUT_TOUCH_PRO_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0D0C, VEC1_ZERO_TO_ONE),
1332 XRT_INPUT_TOUCH_PRO_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0D0D, BOOLEAN),
1333 XRT_INPUT_TOUCH_PRO_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0x0D0E, BOOLEAN),
1334 XRT_INPUT_TOUCH_PRO_THUMBSTICK =
XRT_INPUT_NAME(0x0D0F, VEC2_MINUS_ONE_TO_ONE),
1335 XRT_INPUT_TOUCH_PRO_THUMBREST_TOUCH =
XRT_INPUT_NAME(0x0D10, BOOLEAN),
1336 XRT_INPUT_TOUCH_PRO_THUMBREST_FORCE =
XRT_INPUT_NAME(0x0D11, VEC1_ZERO_TO_ONE),
1339 XRT_INPUT_TOUCH_PRO_TRIGGER_PROXIMITY =
XRT_INPUT_NAME(0x0D14, BOOLEAN),
1340 XRT_INPUT_TOUCH_PRO_THUMB_PROXIMITY =
XRT_INPUT_NAME(0x0D15, BOOLEAN),
1341 XRT_INPUT_TOUCH_PRO_TRIGGER_CURL =
XRT_INPUT_NAME(0x0D16, VEC1_ZERO_TO_ONE),
1342 XRT_INPUT_TOUCH_PRO_TRIGGER_SLIDE =
XRT_INPUT_NAME(0x0D17, VEC1_ZERO_TO_ONE),
1343 XRT_INPUT_TOUCH_PRO_STYLUS_FORCE =
XRT_INPUT_NAME(0x0D18, VEC1_ZERO_TO_ONE),
1349 XRT_INPUT_TOUCH_PLUS_MENU_CLICK =
XRT_INPUT_NAME(0x0E04, BOOLEAN),
1354 XRT_INPUT_TOUCH_PLUS_SYSTEM_CLICK =
XRT_INPUT_NAME(0x0E09, BOOLEAN),
1355 XRT_INPUT_TOUCH_PLUS_SQUEEZE_VALUE =
XRT_INPUT_NAME(0x0E0A, VEC1_ZERO_TO_ONE),
1356 XRT_INPUT_TOUCH_PLUS_TRIGGER_TOUCH =
XRT_INPUT_NAME(0x0E0B, BOOLEAN),
1357 XRT_INPUT_TOUCH_PLUS_TRIGGER_PROXIMITY =
XRT_INPUT_NAME(0x0E0C, BOOLEAN),
1358 XRT_INPUT_TOUCH_PLUS_TRIGGER_VALUE =
XRT_INPUT_NAME(0x0E0D, VEC1_ZERO_TO_ONE),
1359 XRT_INPUT_TOUCH_PLUS_TRIGGER_FORCE =
XRT_INPUT_NAME(0x0E0E, VEC1_ZERO_TO_ONE),
1360 XRT_INPUT_TOUCH_PLUS_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0x0E0F, BOOLEAN),
1361 XRT_INPUT_TOUCH_PLUS_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0x0E10, BOOLEAN),
1362 XRT_INPUT_TOUCH_PLUS_THUMBSTICK =
XRT_INPUT_NAME(0x0E11, VEC2_MINUS_ONE_TO_ONE),
1363 XRT_INPUT_TOUCH_PLUS_THUMBREST_TOUCH =
XRT_INPUT_NAME(0x0E12, BOOLEAN),
1366 XRT_INPUT_TOUCH_PLUS_THUMB_PROXIMITY =
XRT_INPUT_NAME(0x0E15, BOOLEAN),
1367 XRT_INPUT_TOUCH_PLUS_TRIGGER_CURL =
XRT_INPUT_NAME(0x0E16, VEC1_ZERO_TO_ONE),
1368 XRT_INPUT_TOUCH_PLUS_TRIGGER_SLIDE =
XRT_INPUT_NAME(0x0E17, VEC1_ZERO_TO_ONE),
1370 XRT_INPUT_RIFT_REMOTE_SELECT_CLICK =
XRT_INPUT_NAME(0x0F00, BOOLEAN),
1371 XRT_INPUT_RIFT_REMOTE_BACK_CLICK =
XRT_INPUT_NAME(0x0F01, BOOLEAN),
1372 XRT_INPUT_RIFT_REMOTE_VOLUME_UP_CLICK =
XRT_INPUT_NAME(0x0F02, BOOLEAN),
1373 XRT_INPUT_RIFT_REMOTE_VOLUME_DOWN_CLICK =
XRT_INPUT_NAME(0x0F03, BOOLEAN),
1374 XRT_INPUT_RIFT_REMOTE_OCULUS_CLICK =
XRT_INPUT_NAME(0x0F04, BOOLEAN),
1375 XRT_INPUT_RIFT_REMOTE_DPAD_DOWN_CLICK =
XRT_INPUT_NAME(0x0F05, BOOLEAN),
1376 XRT_INPUT_RIFT_REMOTE_DPAD_RIGHT_CLICK =
XRT_INPUT_NAME(0x0F06, BOOLEAN),
1377 XRT_INPUT_RIFT_REMOTE_DPAD_UP_CLICK =
XRT_INPUT_NAME(0x0F07, BOOLEAN),
1378 XRT_INPUT_RIFT_REMOTE_DPAD_LEFT_CLICK =
XRT_INPUT_NAME(0x0F08, BOOLEAN),
1380 XRT_INPUT_BLUBUR_S1_MENU_CLICK =
XRT_INPUT_NAME(0x1000, BOOLEAN),
1384 XRT_INPUT_HAND_CTRL_EMU_PINCH_BOOL =
XRT_INPUT_NAME(0x1200, BOOLEAN),
1385 XRT_INPUT_HAND_CTRL_EMU_PINCH_VALUE =
XRT_INPUT_NAME(0x1201, VEC1_ZERO_TO_ONE),
1386 XRT_INPUT_HAND_CTRL_EMU_GRIP_POSE =
XRT_INPUT_NAME(0x1202, POSE),
1398 XRT_INPUT_FLIPVR_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0X1309, BOOLEAN),
1399 XRT_INPUT_FLIPVR_THUMBSTICK_TOUCH =
XRT_INPUT_NAME(0X130A, BOOLEAN),
1400 XRT_INPUT_FLIPVR_THUMBSTICK =
XRT_INPUT_NAME(0X130B, VEC2_MINUS_ONE_TO_ONE),
1401 XRT_INPUT_FLIPVR_TRIGGER_CLICK =
XRT_INPUT_NAME(0X130C, BOOLEAN),
1402 XRT_INPUT_FLIPVR_TRIGGER_TOUCH =
XRT_INPUT_NAME(0X130D, BOOLEAN),
1403 XRT_INPUT_FLIPVR_TRIGGER_VALUE =
XRT_INPUT_NAME(0X130E, VEC1_ZERO_TO_ONE),
1404 XRT_INPUT_FLIPVR_SQUEEZE_CLICK =
XRT_INPUT_NAME(0X130F, BOOLEAN),
1405 XRT_INPUT_FLIPVR_SQUEEZE_VALUE =
XRT_INPUT_NAME(0X1310, VEC1_ZERO_TO_ONE),
1413 XRT_INPUT_MX_INK_FRONT_DOUBLE_TAP =
XRT_INPUT_NAME(0x1404, BOOLEAN),
1414 XRT_INPUT_MX_INK_MIDDLE_VALUE =
XRT_INPUT_NAME(0x1405, VEC1_ZERO_TO_ONE),
1416 XRT_INPUT_MX_INK_BACK_DOUBLE_TAP =
XRT_INPUT_NAME(0x1407, BOOLEAN),
1418 XRT_INPUT_MX_INK_TIP_FORCE =
XRT_INPUT_NAME(0x1409, VEC1_ZERO_TO_ONE),
1425 XRT_INPUT_MAGNETRA2_SYSTEM_CLICK =
XRT_INPUT_NAME(0X1504, BOOLEAN),
1426 XRT_INPUT_MAGNETRA2_PAIRING_CLICK =
XRT_INPUT_NAME(0X1505, BOOLEAN),
1427 XRT_INPUT_MAGNETRA2_TRIGGER_VALUE =
XRT_INPUT_NAME(0X1506, VEC1_ZERO_TO_ONE),
1428 XRT_INPUT_MAGNETRA2_TRIGGER_CLICK =
XRT_INPUT_NAME(0X1507, BOOLEAN),
1429 XRT_INPUT_MAGNETRA2_SQUEEZE_VALUE =
XRT_INPUT_NAME(0X1508, VEC1_ZERO_TO_ONE),
1430 XRT_INPUT_MAGNETRA2_THUMBSTICK =
XRT_INPUT_NAME(0X1509, VEC2_MINUS_ONE_TO_ONE),
1431 XRT_INPUT_MAGNETRA2_THUMBSTICK_CLICK =
XRT_INPUT_NAME(0X150A, BOOLEAN),
1444#define XRT_HAND_JOINT_COUNT 26
1453 XRT_HAND_JOINT_PALM = 0,
1454 XRT_HAND_JOINT_WRIST = 1,
1455 XRT_HAND_JOINT_THUMB_METACARPAL = 2,
1456 XRT_HAND_JOINT_THUMB_PROXIMAL = 3,
1457 XRT_HAND_JOINT_THUMB_DISTAL = 4,
1458 XRT_HAND_JOINT_THUMB_TIP = 5,
1459 XRT_HAND_JOINT_INDEX_METACARPAL = 6,
1460 XRT_HAND_JOINT_INDEX_PROXIMAL = 7,
1461 XRT_HAND_JOINT_INDEX_INTERMEDIATE = 8,
1462 XRT_HAND_JOINT_INDEX_DISTAL = 9,
1463 XRT_HAND_JOINT_INDEX_TIP = 10,
1464 XRT_HAND_JOINT_MIDDLE_METACARPAL = 11,
1465 XRT_HAND_JOINT_MIDDLE_PROXIMAL = 12,
1466 XRT_HAND_JOINT_MIDDLE_INTERMEDIATE = 13,
1467 XRT_HAND_JOINT_MIDDLE_DISTAL = 14,
1468 XRT_HAND_JOINT_MIDDLE_TIP = 15,
1469 XRT_HAND_JOINT_RING_METACARPAL = 16,
1470 XRT_HAND_JOINT_RING_PROXIMAL = 17,
1471 XRT_HAND_JOINT_RING_INTERMEDIATE = 18,
1472 XRT_HAND_JOINT_RING_DISTAL = 19,
1473 XRT_HAND_JOINT_RING_TIP = 20,
1474 XRT_HAND_JOINT_LITTLE_METACARPAL = 21,
1475 XRT_HAND_JOINT_LITTLE_PROXIMAL = 22,
1476 XRT_HAND_JOINT_LITTLE_INTERMEDIATE = 23,
1477 XRT_HAND_JOINT_LITTLE_DISTAL = 24,
1478 XRT_HAND_JOINT_LITTLE_TIP = 25,
1479 XRT_HAND_JOINT_MAX_ENUM = 0x7FFFFFFF
1509#define XRT_FINGER_COUNT 5
1518 XRT_FINGER_LITTLE = 0,
1558#define XRT_OUTPUT_TYPE_BITWIDTH 8u
1565#define XRT_OUTPUT_TYPE_BITMASK 0xffu
1578#define XRT_OUTPUT_NAME(id, type) ((UINT32_C(id) << XRT_OUTPUT_TYPE_BITWIDTH) | (uint32_t)XRT_OUTPUT_TYPE_##type)
1589#define XRT_GET_OUTPUT_TYPE(name) ((enum xrt_output_type)(name & XRT_OUTPUT_TYPE_BITMASK))
1600#define XRT_GET_OUTPUT_ID(name) ((uint32_t)(name >> XRT_OUTPUT_TYPE_BITWIDTH))
1610 XRT_OUTPUT_TYPE_VIBRATION = 0x00,
1611 XRT_OUTPUT_TYPE_FORCE_FEEDBACK = 0x01,
1624 XRT_OUTPUT_NAME_SIMPLE_VIBRATION =
XRT_OUTPUT_NAME(0x0010, VIBRATION),
1625 XRT_OUTPUT_NAME_PSMV_RUMBLE_VIBRATION =
XRT_OUTPUT_NAME(0x0020, VIBRATION),
1630 XRT_OUTPUT_NAME_XBOX_HAPTIC_LEFT =
XRT_OUTPUT_NAME(0x0060, VIBRATION),
1631 XRT_OUTPUT_NAME_XBOX_HAPTIC_RIGHT =
XRT_OUTPUT_NAME(0x0061, VIBRATION),
1632 XRT_OUTPUT_NAME_XBOX_HAPTIC_LEFT_TRIGGER =
XRT_OUTPUT_NAME(0x0062, VIBRATION),
1633 XRT_OUTPUT_NAME_XBOX_HAPTIC_RIGHT_TRIGGER =
XRT_OUTPUT_NAME(0x0063, VIBRATION),
1637 XRT_OUTPUT_NAME_FORCE_FEEDBACK_LEFT =
XRT_OUTPUT_NAME(0x0080, FORCE_FEEDBACK),
1638 XRT_OUTPUT_NAME_FORCE_FEEDBACK_RIGHT =
XRT_OUTPUT_NAME(0x0081, FORCE_FEEDBACK),
1640 XRT_OUTPUT_NAME_G2_CONTROLLER_HAPTIC =
XRT_OUTPUT_NAME(0x0090, VIBRATION),
1641 XRT_OUTPUT_NAME_ODYSSEY_CONTROLLER_HAPTIC =
XRT_OUTPUT_NAME(0x00A0, VIBRATION),
1642 XRT_OUTPUT_NAME_ML2_CONTROLLER_VIBRATION =
XRT_OUTPUT_NAME(0x00B0, VIBRATION),
1644 XRT_OUTPUT_NAME_PSSENSE_VIBRATION =
XRT_OUTPUT_NAME(0x00C0, VIBRATION),
1645 XRT_OUTPUT_NAME_PSSENSE_TRIGGER_FEEDBACK =
XRT_OUTPUT_NAME(0x00C1, FORCE_FEEDBACK),
1647 XRT_OUTPUT_NAME_VIVE_TRACKER_HAPTIC =
XRT_OUTPUT_NAME(0x00D0, VIBRATION),
1651 XRT_OUTPUT_NAME_PICO_NEO3_HAPTIC =
XRT_OUTPUT_NAME(0x00F0, VIBRATION),
1654 XRT_OUTPUT_NAME_VIVE_COSMOS_HAPTIC =
XRT_OUTPUT_NAME(0x0200, VIBRATION),
1655 XRT_OUTPUT_NAME_VIVE_FOCUS3_HAPTIC =
XRT_OUTPUT_NAME(0x0300, VIBRATION),
1657 XRT_OUTPUT_NAME_TOUCH_PRO_HAPTIC =
XRT_OUTPUT_NAME(0x0400, VIBRATION),
1658 XRT_OUTPUT_NAME_TOUCH_PRO_HAPTIC_TRIGGER =
XRT_OUTPUT_NAME(0x0500, VIBRATION),
1659 XRT_OUTPUT_NAME_TOUCH_PRO_HAPTIC_THUMB =
XRT_OUTPUT_NAME(0x0600, VIBRATION),
1660 XRT_OUTPUT_NAME_TOUCH_PLUS_HAPTIC =
XRT_OUTPUT_NAME(0x0700, VIBRATION),
1669 XRT_OUTPUT_NAME_GENERIC_VIBRATION =
XRT_OUTPUT_NAME(0x0B00, VIBRATION),
1671 XRT_OUTPUT_NAME_CONTACTGLOVE2_HAPTIC =
XRT_OUTPUT_NAME(0x0C00, VIBRATION),
1677enum xrt_face_expression2_fb
1679 XRT_FACE_EXPRESSION2_BROW_LOWERER_L_FB = 0,
1680 XRT_FACE_EXPRESSION2_BROW_LOWERER_R_FB = 1,
1681 XRT_FACE_EXPRESSION2_CHEEK_PUFF_L_FB = 2,
1682 XRT_FACE_EXPRESSION2_CHEEK_PUFF_R_FB = 3,
1683 XRT_FACE_EXPRESSION2_CHEEK_RAISER_L_FB = 4,
1684 XRT_FACE_EXPRESSION2_CHEEK_RAISER_R_FB = 5,
1685 XRT_FACE_EXPRESSION2_CHEEK_SUCK_L_FB = 6,
1686 XRT_FACE_EXPRESSION2_CHEEK_SUCK_R_FB = 7,
1687 XRT_FACE_EXPRESSION2_CHIN_RAISER_B_FB = 8,
1688 XRT_FACE_EXPRESSION2_CHIN_RAISER_T_FB = 9,
1689 XRT_FACE_EXPRESSION2_DIMPLER_L_FB = 10,
1690 XRT_FACE_EXPRESSION2_DIMPLER_R_FB = 11,
1691 XRT_FACE_EXPRESSION2_EYES_CLOSED_L_FB = 12,
1692 XRT_FACE_EXPRESSION2_EYES_CLOSED_R_FB = 13,
1693 XRT_FACE_EXPRESSION2_EYES_LOOK_DOWN_L_FB = 14,
1694 XRT_FACE_EXPRESSION2_EYES_LOOK_DOWN_R_FB = 15,
1695 XRT_FACE_EXPRESSION2_EYES_LOOK_LEFT_L_FB = 16,
1696 XRT_FACE_EXPRESSION2_EYES_LOOK_LEFT_R_FB = 17,
1697 XRT_FACE_EXPRESSION2_EYES_LOOK_RIGHT_L_FB = 18,
1698 XRT_FACE_EXPRESSION2_EYES_LOOK_RIGHT_R_FB = 19,
1699 XRT_FACE_EXPRESSION2_EYES_LOOK_UP_L_FB = 20,
1700 XRT_FACE_EXPRESSION2_EYES_LOOK_UP_R_FB = 21,
1701 XRT_FACE_EXPRESSION2_INNER_BROW_RAISER_L_FB = 22,
1702 XRT_FACE_EXPRESSION2_INNER_BROW_RAISER_R_FB = 23,
1703 XRT_FACE_EXPRESSION2_JAW_DROP_FB = 24,
1704 XRT_FACE_EXPRESSION2_JAW_SIDEWAYS_LEFT_FB = 25,
1705 XRT_FACE_EXPRESSION2_JAW_SIDEWAYS_RIGHT_FB = 26,
1706 XRT_FACE_EXPRESSION2_JAW_THRUST_FB = 27,
1707 XRT_FACE_EXPRESSION2_LID_TIGHTENER_L_FB = 28,
1708 XRT_FACE_EXPRESSION2_LID_TIGHTENER_R_FB = 29,
1709 XRT_FACE_EXPRESSION2_LIP_CORNER_DEPRESSOR_L_FB = 30,
1710 XRT_FACE_EXPRESSION2_LIP_CORNER_DEPRESSOR_R_FB = 31,
1711 XRT_FACE_EXPRESSION2_LIP_CORNER_PULLER_L_FB = 32,
1712 XRT_FACE_EXPRESSION2_LIP_CORNER_PULLER_R_FB = 33,
1713 XRT_FACE_EXPRESSION2_LIP_FUNNELER_LB_FB = 34,
1714 XRT_FACE_EXPRESSION2_LIP_FUNNELER_LT_FB = 35,
1715 XRT_FACE_EXPRESSION2_LIP_FUNNELER_RB_FB = 36,
1716 XRT_FACE_EXPRESSION2_LIP_FUNNELER_RT_FB = 37,
1717 XRT_FACE_EXPRESSION2_LIP_PRESSOR_L_FB = 38,
1718 XRT_FACE_EXPRESSION2_LIP_PRESSOR_R_FB = 39,
1719 XRT_FACE_EXPRESSION2_LIP_PUCKER_L_FB = 40,
1720 XRT_FACE_EXPRESSION2_LIP_PUCKER_R_FB = 41,
1721 XRT_FACE_EXPRESSION2_LIP_STRETCHER_L_FB = 42,
1722 XRT_FACE_EXPRESSION2_LIP_STRETCHER_R_FB = 43,
1723 XRT_FACE_EXPRESSION2_LIP_SUCK_LB_FB = 44,
1724 XRT_FACE_EXPRESSION2_LIP_SUCK_LT_FB = 45,
1725 XRT_FACE_EXPRESSION2_LIP_SUCK_RB_FB = 46,
1726 XRT_FACE_EXPRESSION2_LIP_SUCK_RT_FB = 47,
1727 XRT_FACE_EXPRESSION2_LIP_TIGHTENER_L_FB = 48,
1728 XRT_FACE_EXPRESSION2_LIP_TIGHTENER_R_FB = 49,
1729 XRT_FACE_EXPRESSION2_LIPS_TOWARD_FB = 50,
1730 XRT_FACE_EXPRESSION2_LOWER_LIP_DEPRESSOR_L_FB = 51,
1731 XRT_FACE_EXPRESSION2_LOWER_LIP_DEPRESSOR_R_FB = 52,
1732 XRT_FACE_EXPRESSION2_MOUTH_LEFT_FB = 53,
1733 XRT_FACE_EXPRESSION2_MOUTH_RIGHT_FB = 54,
1734 XRT_FACE_EXPRESSION2_NOSE_WRINKLER_L_FB = 55,
1735 XRT_FACE_EXPRESSION2_NOSE_WRINKLER_R_FB = 56,
1736 XRT_FACE_EXPRESSION2_OUTER_BROW_RAISER_L_FB = 57,
1737 XRT_FACE_EXPRESSION2_OUTER_BROW_RAISER_R_FB = 58,
1738 XRT_FACE_EXPRESSION2_UPPER_LID_RAISER_L_FB = 59,
1739 XRT_FACE_EXPRESSION2_UPPER_LID_RAISER_R_FB = 60,
1740 XRT_FACE_EXPRESSION2_UPPER_LIP_RAISER_L_FB = 61,
1741 XRT_FACE_EXPRESSION2_UPPER_LIP_RAISER_R_FB = 62,
1742 XRT_FACE_EXPRESSION2_TONGUE_TIP_INTERDENTAL_FB = 63,
1743 XRT_FACE_EXPRESSION2_TONGUE_TIP_ALVEOLAR_FB = 64,
1744 XRT_FACE_EXPRESSION2_TONGUE_FRONT_DORSAL_PALATE_FB = 65,
1745 XRT_FACE_EXPRESSION2_TONGUE_MID_DORSAL_PALATE_FB = 66,
1746 XRT_FACE_EXPRESSION2_TONGUE_BACK_DORSAL_VELAR_FB = 67,
1747 XRT_FACE_EXPRESSION2_TONGUE_OUT_FB = 68,
1748 XRT_FACE_EXPRESSION2_TONGUE_RETREAT_FB = 69,
1749 XRT_FACE_EXPRESSION2_COUNT_FB = 70,
1750 XRT_FACE_EXPRESSION_2FB_MAX_ENUM_FB = 0x7FFFFFFF
1753enum xrt_face_confidence2_fb
1755 XRT_FACE_CONFIDENCE2_LOWER_FACE_FB = 0,
1756 XRT_FACE_CONFIDENCE2_UPPER_FACE_FB = 1,
1757 XRT_FACE_CONFIDENCE2_COUNT_FB = 2,
1758 XRT_FACE_CONFIDENCE_2FB_MAX_ENUM_FB = 0x7FFFFFFF
1761enum xrt_face_expression_set2_fb
1763 XRT_FACE_EXPRESSION_SET2_DEFAULT_FB = 0,
1764 XRT_FACE_EXPRESSION_SET_2FB_MAX_ENUM_FB = 0x7FFFFFFF
1767enum xrt_face_tracking_data_source2_fb
1769 XRT_FACE_TRACKING_DATA_SOURCE2_VISUAL_FB = 0,
1770 XRT_FACE_TRACKING_DATA_SOURCE2_AUDIO_FB = 1,
1771 XRT_FACE_TRACKING_DATA_SOURCE_2FB_MAX_ENUM_FB = 0x7FFFFFFF
1774enum xrt_eye_expression_htc
1776 XRT_EYE_EXPRESSION_LEFT_BLINK_HTC = 0,
1777 XRT_EYE_EXPRESSION_LEFT_WIDE_HTC = 1,
1778 XRT_EYE_EXPRESSION_RIGHT_BLINK_HTC = 2,
1779 XRT_EYE_EXPRESSION_RIGHT_WIDE_HTC = 3,
1780 XRT_EYE_EXPRESSION_LEFT_SQUEEZE_HTC = 4,
1781 XRT_EYE_EXPRESSION_RIGHT_SQUEEZE_HTC = 5,
1782 XRT_EYE_EXPRESSION_LEFT_DOWN_HTC = 6,
1783 XRT_EYE_EXPRESSION_RIGHT_DOWN_HTC = 7,
1784 XRT_EYE_EXPRESSION_LEFT_OUT_HTC = 8,
1785 XRT_EYE_EXPRESSION_RIGHT_IN_HTC = 9,
1786 XRT_EYE_EXPRESSION_LEFT_IN_HTC = 10,
1787 XRT_EYE_EXPRESSION_RIGHT_OUT_HTC = 11,
1788 XRT_EYE_EXPRESSION_LEFT_UP_HTC = 12,
1789 XRT_EYE_EXPRESSION_RIGHT_UP_HTC = 13
1792enum xrt_lip_expression_htc
1794 XRT_LIP_EXPRESSION_JAW_RIGHT_HTC = 0,
1795 XRT_LIP_EXPRESSION_JAW_LEFT_HTC = 1,
1796 XRT_LIP_EXPRESSION_JAW_FORWARD_HTC = 2,
1797 XRT_LIP_EXPRESSION_JAW_OPEN_HTC = 3,
1798 XRT_LIP_EXPRESSION_MOUTH_APE_SHAPE_HTC = 4,
1799 XRT_LIP_EXPRESSION_MOUTH_UPPER_RIGHT_HTC = 5,
1800 XRT_LIP_EXPRESSION_MOUTH_UPPER_LEFT_HTC = 6,
1801 XRT_LIP_EXPRESSION_MOUTH_LOWER_RIGHT_HTC = 7,
1802 XRT_LIP_EXPRESSION_MOUTH_LOWER_LEFT_HTC = 8,
1803 XRT_LIP_EXPRESSION_MOUTH_UPPER_OVERTURN_HTC = 9,
1804 XRT_LIP_EXPRESSION_MOUTH_LOWER_OVERTURN_HTC = 10,
1805 XRT_LIP_EXPRESSION_MOUTH_POUT_HTC = 11,
1806 XRT_LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC = 12,
1807 XRT_LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC = 13,
1808 XRT_LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC = 14,
1809 XRT_LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC = 15,
1810 XRT_LIP_EXPRESSION_CHEEK_PUFF_RIGHT_HTC = 16,
1811 XRT_LIP_EXPRESSION_CHEEK_PUFF_LEFT_HTC = 17,
1812 XRT_LIP_EXPRESSION_CHEEK_SUCK_HTC = 18,
1813 XRT_LIP_EXPRESSION_MOUTH_UPPER_UPRIGHT_HTC = 19,
1814 XRT_LIP_EXPRESSION_MOUTH_UPPER_UPLEFT_HTC = 20,
1815 XRT_LIP_EXPRESSION_MOUTH_LOWER_DOWNRIGHT_HTC = 21,
1816 XRT_LIP_EXPRESSION_MOUTH_LOWER_DOWNLEFT_HTC = 22,
1817 XRT_LIP_EXPRESSION_MOUTH_UPPER_INSIDE_HTC = 23,
1818 XRT_LIP_EXPRESSION_MOUTH_LOWER_INSIDE_HTC = 24,
1819 XRT_LIP_EXPRESSION_MOUTH_LOWER_OVERLAY_HTC = 25,
1820 XRT_LIP_EXPRESSION_TONGUE_LONGSTEP1_HTC = 26,
1821 XRT_LIP_EXPRESSION_TONGUE_LEFT_HTC = 27,
1822 XRT_LIP_EXPRESSION_TONGUE_RIGHT_HTC = 28,
1823 XRT_LIP_EXPRESSION_TONGUE_UP_HTC = 29,
1824 XRT_LIP_EXPRESSION_TONGUE_DOWN_HTC = 30,
1825 XRT_LIP_EXPRESSION_TONGUE_ROLL_HTC = 31,
1826 XRT_LIP_EXPRESSION_TONGUE_LONGSTEP2_HTC = 32,
1827 XRT_LIP_EXPRESSION_TONGUE_UPRIGHT_MORPH_HTC = 33,
1828 XRT_LIP_EXPRESSION_TONGUE_UPLEFT_MORPH_HTC = 34,
1829 XRT_LIP_EXPRESSION_TONGUE_DOWNRIGHT_MORPH_HTC = 35,
1830 XRT_LIP_EXPRESSION_TONGUE_DOWNLEFT_MORPH_HTC = 36
1833enum xrt_facial_tracking_type_htc
1835 XRT_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC = 1,
1836 XRT_FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC = 2
1839#define XRT_FACIAL_EXPRESSION_EYE_COUNT_HTC 14
1840#define XRT_FACIAL_EXPRESSION_LIP_COUNT_HTC 37
1842enum xrt_face_confidence_regions_android
1844 XRT_FACE_CONFIDENCE_REGIONS_LOWER_ANDROID = 0,
1845 XRT_FACE_CONFIDENCE_REGIONS_LEFT_UPPER_ANDROID = 1,
1846 XRT_FACE_CONFIDENCE_REGIONS_RIGHT_UPPER_ANDROID = 2,
1849enum xrt_face_parameter_indices_android
1851 XRT_FACE_PARAMETER_INDICES_BROW_LOWERER_L_ANDROID = 0,
1852 XRT_FACE_PARAMETER_INDICES_BROW_LOWERER_R_ANDROID = 1,
1853 XRT_FACE_PARAMETER_INDICES_CHEEK_PUFF_L_ANDROID = 2,
1854 XRT_FACE_PARAMETER_INDICES_CHEEK_PUFF_R_ANDROID = 3,
1855 XRT_FACE_PARAMETER_INDICES_CHEEK_RAISER_L_ANDROID = 4,
1856 XRT_FACE_PARAMETER_INDICES_CHEEK_RAISER_R_ANDROID = 5,
1857 XRT_FACE_PARAMETER_INDICES_CHEEK_SUCK_L_ANDROID = 6,
1858 XRT_FACE_PARAMETER_INDICES_CHEEK_SUCK_R_ANDROID = 7,
1859 XRT_FACE_PARAMETER_INDICES_CHIN_RAISER_B_ANDROID = 8,
1860 XRT_FACE_PARAMETER_INDICES_CHIN_RAISER_T_ANDROID = 9,
1861 XRT_FACE_PARAMETER_INDICES_DIMPLER_L_ANDROID = 10,
1862 XRT_FACE_PARAMETER_INDICES_DIMPLER_R_ANDROID = 11,
1863 XRT_FACE_PARAMETER_INDICES_EYES_CLOSED_L_ANDROID = 12,
1864 XRT_FACE_PARAMETER_INDICES_EYES_CLOSED_R_ANDROID = 13,
1865 XRT_FACE_PARAMETER_INDICES_EYES_LOOK_DOWN_L_ANDROID = 14,
1866 XRT_FACE_PARAMETER_INDICES_EYES_LOOK_DOWN_R_ANDROID = 15,
1867 XRT_FACE_PARAMETER_INDICES_EYES_LOOK_LEFT_L_ANDROID = 16,
1868 XRT_FACE_PARAMETER_INDICES_EYES_LOOK_LEFT_R_ANDROID = 17,
1869 XRT_FACE_PARAMETER_INDICES_EYES_LOOK_RIGHT_L_ANDROID = 18,
1870 XRT_FACE_PARAMETER_INDICES_EYES_LOOK_RIGHT_R_ANDROID = 19,
1871 XRT_FACE_PARAMETER_INDICES_EYES_LOOK_UP_L_ANDROID = 20,
1872 XRT_FACE_PARAMETER_INDICES_EYES_LOOK_UP_R_ANDROID = 21,
1873 XRT_FACE_PARAMETER_INDICES_INNER_BROW_RAISER_L_ANDROID = 22,
1874 XRT_FACE_PARAMETER_INDICES_INNER_BROW_RAISER_R_ANDROID = 23,
1875 XRT_FACE_PARAMETER_INDICES_JAW_DROP_ANDROID = 24,
1876 XRT_FACE_PARAMETER_INDICES_JAW_SIDEWAYS_LEFT_ANDROID = 25,
1877 XRT_FACE_PARAMETER_INDICES_JAW_SIDEWAYS_RIGHT_ANDROID = 26,
1878 XRT_FACE_PARAMETER_INDICES_JAW_THRUST_ANDROID = 27,
1879 XRT_FACE_PARAMETER_INDICES_LID_TIGHTENER_L_ANDROID = 28,
1880 XRT_FACE_PARAMETER_INDICES_LID_TIGHTENER_R_ANDROID = 29,
1881 XRT_FACE_PARAMETER_INDICES_LIP_CORNER_DEPRESSOR_L_ANDROID = 30,
1882 XRT_FACE_PARAMETER_INDICES_LIP_CORNER_DEPRESSOR_R_ANDROID = 31,
1883 XRT_FACE_PARAMETER_INDICES_LIP_CORNER_PULLER_L_ANDROID = 32,
1884 XRT_FACE_PARAMETER_INDICES_LIP_CORNER_PULLER_R_ANDROID = 33,
1885 XRT_FACE_PARAMETER_INDICES_LIP_FUNNELER_LB_ANDROID = 34,
1886 XRT_FACE_PARAMETER_INDICES_LIP_FUNNELER_LT_ANDROID = 35,
1887 XRT_FACE_PARAMETER_INDICES_LIP_FUNNELER_RB_ANDROID = 36,
1888 XRT_FACE_PARAMETER_INDICES_LIP_FUNNELER_RT_ANDROID = 37,
1889 XRT_FACE_PARAMETER_INDICES_LIP_PRESSOR_L_ANDROID = 38,
1890 XRT_FACE_PARAMETER_INDICES_LIP_PRESSOR_R_ANDROID = 39,
1891 XRT_FACE_PARAMETER_INDICES_LIP_PUCKER_L_ANDROID = 40,
1892 XRT_FACE_PARAMETER_INDICES_LIP_PUCKER_R_ANDROID = 41,
1893 XRT_FACE_PARAMETER_INDICES_LIP_STRETCHER_L_ANDROID = 42,
1894 XRT_FACE_PARAMETER_INDICES_LIP_STRETCHER_R_ANDROID = 43,
1895 XRT_FACE_PARAMETER_INDICES_LIP_SUCK_LB_ANDROID = 44,
1896 XRT_FACE_PARAMETER_INDICES_LIP_SUCK_LT_ANDROID = 45,
1897 XRT_FACE_PARAMETER_INDICES_LIP_SUCK_RB_ANDROID = 46,
1898 XRT_FACE_PARAMETER_INDICES_LIP_SUCK_RT_ANDROID = 47,
1899 XRT_FACE_PARAMETER_INDICES_LIP_TIGHTENER_L_ANDROID = 48,
1900 XRT_FACE_PARAMETER_INDICES_LIP_TIGHTENER_R_ANDROID = 49,
1901 XRT_FACE_PARAMETER_INDICES_LIPS_TOWARD_ANDROID = 50,
1902 XRT_FACE_PARAMETER_INDICES_LOWER_LIP_DEPRESSOR_L_ANDROID = 51,
1903 XRT_FACE_PARAMETER_INDICES_LOWER_LIP_DEPRESSOR_R_ANDROID = 52,
1904 XRT_FACE_PARAMETER_INDICES_MOUTH_LEFT_ANDROID = 53,
1905 XRT_FACE_PARAMETER_INDICES_MOUTH_RIGHT_ANDROID = 54,
1906 XRT_FACE_PARAMETER_INDICES_NOSE_WRINKLER_L_ANDROID = 55,
1907 XRT_FACE_PARAMETER_INDICES_NOSE_WRINKLER_R_ANDROID = 56,
1908 XRT_FACE_PARAMETER_INDICES_OUTER_BROW_RAISER_L_ANDROID = 57,
1909 XRT_FACE_PARAMETER_INDICES_OUTER_BROW_RAISER_R_ANDROID = 58,
1910 XRT_FACE_PARAMETER_INDICES_UPPER_LID_RAISER_L_ANDROID = 59,
1911 XRT_FACE_PARAMETER_INDICES_UPPER_LID_RAISER_R_ANDROID = 60,
1912 XRT_FACE_PARAMETER_INDICES_UPPER_LIP_RAISER_L_ANDROID = 61,
1913 XRT_FACE_PARAMETER_INDICES_UPPER_LIP_RAISER_R_ANDROID = 62,
1914 XRT_FACE_PARAMETER_INDICES_TONGUE_OUT_ANDROID = 63,
1915 XRT_FACE_PARAMETER_INDICES_TONGUE_LEFT_ANDROID = 64,
1916 XRT_FACE_PARAMETER_INDICES_TONGUE_RIGHT_ANDROID = 65,
1917 XRT_FACE_PARAMETER_INDICES_TONGUE_UP_ANDROID = 66,
1918 XRT_FACE_PARAMETER_INDICES_TONGUE_DOWN_ANDROID = 67,
1921enum xrt_face_tracking_state_android
1923 XRT_FACE_TRACKING_STATE_PAUSED_ANDROID = 0,
1924 XRT_FACE_TRACKING_STATE_STOPPED_ANDROID = 1,
1925 XRT_FACE_TRACKING_STATE_TRACKING_ANDROID = 2,
1928#define XRT_FACE_PARAMETER_COUNT_ANDROID 68
1930#define XRT_FACE_REGION_CONFIDENCE_COUNT_ANDROID 3
1934 int64_t sample_time_ns;
1935 XRT_ALIGNAS(8)
bool is_active;
1954 float weights[XRT_FACE_EXPRESSION2_COUNT_FB];
1955 float confidences[XRT_FACE_CONFIDENCE2_COUNT_FB];
1957 enum xrt_face_tracking_data_source2_fb data_source;
1958 int64_t sample_time_ns;
1960 XRT_ALIGNAS(8)
bool is_valid;
1961 bool is_eye_following_blendshapes_valid;
1967 float parameters[XRT_FACE_PARAMETER_COUNT_ANDROID];
1968 float region_confidences[XRT_FACE_REGION_CONFIDENCE_COUNT_ANDROID];
1970 enum xrt_face_tracking_state_android state;
1971 int64_t sample_time_ns;
1973 XRT_ALIGNAS(8)
bool is_valid;
1988enum xrt_body_joint_fb
1990 XRT_BODY_JOINT_ROOT_FB = 0,
1991 XRT_BODY_JOINT_HIPS_FB = 1,
1992 XRT_BODY_JOINT_SPINE_LOWER_FB = 2,
1993 XRT_BODY_JOINT_SPINE_MIDDLE_FB = 3,
1994 XRT_BODY_JOINT_SPINE_UPPER_FB = 4,
1995 XRT_BODY_JOINT_CHEST_FB = 5,
1996 XRT_BODY_JOINT_NECK_FB = 6,
1997 XRT_BODY_JOINT_HEAD_FB = 7,
1998 XRT_BODY_JOINT_LEFT_SHOULDER_FB = 8,
1999 XRT_BODY_JOINT_LEFT_SCAPULA_FB = 9,
2000 XRT_BODY_JOINT_LEFT_ARM_UPPER_FB = 10,
2001 XRT_BODY_JOINT_LEFT_ARM_LOWER_FB = 11,
2002 XRT_BODY_JOINT_LEFT_HAND_WRIST_TWIST_FB = 12,
2003 XRT_BODY_JOINT_RIGHT_SHOULDER_FB = 13,
2004 XRT_BODY_JOINT_RIGHT_SCAPULA_FB = 14,
2005 XRT_BODY_JOINT_RIGHT_ARM_UPPER_FB = 15,
2006 XRT_BODY_JOINT_RIGHT_ARM_LOWER_FB = 16,
2007 XRT_BODY_JOINT_RIGHT_HAND_WRIST_TWIST_FB = 17,
2008 XRT_BODY_JOINT_LEFT_HAND_PALM_FB = 18,
2009 XRT_BODY_JOINT_LEFT_HAND_WRIST_FB = 19,
2010 XRT_BODY_JOINT_LEFT_HAND_THUMB_METACARPAL_FB = 20,
2011 XRT_BODY_JOINT_LEFT_HAND_THUMB_PROXIMAL_FB = 21,
2012 XRT_BODY_JOINT_LEFT_HAND_THUMB_DISTAL_FB = 22,
2013 XRT_BODY_JOINT_LEFT_HAND_THUMB_TIP_FB = 23,
2014 XRT_BODY_JOINT_LEFT_HAND_INDEX_METACARPAL_FB = 24,
2015 XRT_BODY_JOINT_LEFT_HAND_INDEX_PROXIMAL_FB = 25,
2016 XRT_BODY_JOINT_LEFT_HAND_INDEX_INTERMEDIATE_FB = 26,
2017 XRT_BODY_JOINT_LEFT_HAND_INDEX_DISTAL_FB = 27,
2018 XRT_BODY_JOINT_LEFT_HAND_INDEX_TIP_FB = 28,
2019 XRT_BODY_JOINT_LEFT_HAND_MIDDLE_METACARPAL_FB = 29,
2020 XRT_BODY_JOINT_LEFT_HAND_MIDDLE_PROXIMAL_FB = 30,
2021 XRT_BODY_JOINT_LEFT_HAND_MIDDLE_INTERMEDIATE_FB = 31,
2022 XRT_BODY_JOINT_LEFT_HAND_MIDDLE_DISTAL_FB = 32,
2023 XRT_BODY_JOINT_LEFT_HAND_MIDDLE_TIP_FB = 33,
2024 XRT_BODY_JOINT_LEFT_HAND_RING_METACARPAL_FB = 34,
2025 XRT_BODY_JOINT_LEFT_HAND_RING_PROXIMAL_FB = 35,
2026 XRT_BODY_JOINT_LEFT_HAND_RING_INTERMEDIATE_FB = 36,
2027 XRT_BODY_JOINT_LEFT_HAND_RING_DISTAL_FB = 37,
2028 XRT_BODY_JOINT_LEFT_HAND_RING_TIP_FB = 38,
2029 XRT_BODY_JOINT_LEFT_HAND_LITTLE_METACARPAL_FB = 39,
2030 XRT_BODY_JOINT_LEFT_HAND_LITTLE_PROXIMAL_FB = 40,
2031 XRT_BODY_JOINT_LEFT_HAND_LITTLE_INTERMEDIATE_FB = 41,
2032 XRT_BODY_JOINT_LEFT_HAND_LITTLE_DISTAL_FB = 42,
2033 XRT_BODY_JOINT_LEFT_HAND_LITTLE_TIP_FB = 43,
2034 XRT_BODY_JOINT_RIGHT_HAND_PALM_FB = 44,
2035 XRT_BODY_JOINT_RIGHT_HAND_WRIST_FB = 45,
2036 XRT_BODY_JOINT_RIGHT_HAND_THUMB_METACARPAL_FB = 46,
2037 XRT_BODY_JOINT_RIGHT_HAND_THUMB_PROXIMAL_FB = 47,
2038 XRT_BODY_JOINT_RIGHT_HAND_THUMB_DISTAL_FB = 48,
2039 XRT_BODY_JOINT_RIGHT_HAND_THUMB_TIP_FB = 49,
2040 XRT_BODY_JOINT_RIGHT_HAND_INDEX_METACARPAL_FB = 50,
2041 XRT_BODY_JOINT_RIGHT_HAND_INDEX_PROXIMAL_FB = 51,
2042 XRT_BODY_JOINT_RIGHT_HAND_INDEX_INTERMEDIATE_FB = 52,
2043 XRT_BODY_JOINT_RIGHT_HAND_INDEX_DISTAL_FB = 53,
2044 XRT_BODY_JOINT_RIGHT_HAND_INDEX_TIP_FB = 54,
2045 XRT_BODY_JOINT_RIGHT_HAND_MIDDLE_METACARPAL_FB = 55,
2046 XRT_BODY_JOINT_RIGHT_HAND_MIDDLE_PROXIMAL_FB = 56,
2047 XRT_BODY_JOINT_RIGHT_HAND_MIDDLE_INTERMEDIATE_FB = 57,
2048 XRT_BODY_JOINT_RIGHT_HAND_MIDDLE_DISTAL_FB = 58,
2049 XRT_BODY_JOINT_RIGHT_HAND_MIDDLE_TIP_FB = 59,
2050 XRT_BODY_JOINT_RIGHT_HAND_RING_METACARPAL_FB = 60,
2051 XRT_BODY_JOINT_RIGHT_HAND_RING_PROXIMAL_FB = 61,
2052 XRT_BODY_JOINT_RIGHT_HAND_RING_INTERMEDIATE_FB = 62,
2053 XRT_BODY_JOINT_RIGHT_HAND_RING_DISTAL_FB = 63,
2054 XRT_BODY_JOINT_RIGHT_HAND_RING_TIP_FB = 64,
2055 XRT_BODY_JOINT_RIGHT_HAND_LITTLE_METACARPAL_FB = 65,
2056 XRT_BODY_JOINT_RIGHT_HAND_LITTLE_PROXIMAL_FB = 66,
2057 XRT_BODY_JOINT_RIGHT_HAND_LITTLE_INTERMEDIATE_FB = 67,
2058 XRT_BODY_JOINT_RIGHT_HAND_LITTLE_DISTAL_FB = 68,
2059 XRT_BODY_JOINT_RIGHT_HAND_LITTLE_TIP_FB = 69,
2060 XRT_BODY_JOINT_COUNT_FB = 70,
2061 XRT_BODY_JOINT_NONE_FB = -1,
2065enum xrt_full_body_joint_meta
2067 XRT_FULL_BODY_JOINT_ROOT_META = 0,
2068 XRT_FULL_BODY_JOINT_HIPS_META = 1,
2069 XRT_FULL_BODY_JOINT_SPINE_LOWER_META = 2,
2070 XRT_FULL_BODY_JOINT_SPINE_MIDDLE_META = 3,
2071 XRT_FULL_BODY_JOINT_SPINE_UPPER_META = 4,
2072 XRT_FULL_BODY_JOINT_CHEST_META = 5,
2073 XRT_FULL_BODY_JOINT_NECK_META = 6,
2074 XRT_FULL_BODY_JOINT_HEAD_META = 7,
2075 XRT_FULL_BODY_JOINT_LEFT_SHOULDER_META = 8,
2076 XRT_FULL_BODY_JOINT_LEFT_SCAPULA_META = 9,
2077 XRT_FULL_BODY_JOINT_LEFT_ARM_UPPER_META = 10,
2078 XRT_FULL_BODY_JOINT_LEFT_ARM_LOWER_META = 11,
2079 XRT_FULL_BODY_JOINT_LEFT_HAND_WRIST_TWIST_META = 12,
2080 XRT_FULL_BODY_JOINT_RIGHT_SHOULDER_META = 13,
2081 XRT_FULL_BODY_JOINT_RIGHT_SCAPULA_META = 14,
2082 XRT_FULL_BODY_JOINT_RIGHT_ARM_UPPER_META = 15,
2083 XRT_FULL_BODY_JOINT_RIGHT_ARM_LOWER_META = 16,
2084 XRT_FULL_BODY_JOINT_RIGHT_HAND_WRIST_TWIST_META = 17,
2085 XRT_FULL_BODY_JOINT_LEFT_HAND_PALM_META = 18,
2086 XRT_FULL_BODY_JOINT_LEFT_HAND_WRIST_META = 19,
2087 XRT_FULL_BODY_JOINT_LEFT_HAND_THUMB_METACARPAL_META = 20,
2088 XRT_FULL_BODY_JOINT_LEFT_HAND_THUMB_PROXIMAL_META = 21,
2089 XRT_FULL_BODY_JOINT_LEFT_HAND_THUMB_DISTAL_META = 22,
2090 XRT_FULL_BODY_JOINT_LEFT_HAND_THUMB_TIP_META = 23,
2091 XRT_FULL_BODY_JOINT_LEFT_HAND_INDEX_METACARPAL_META = 24,
2092 XRT_FULL_BODY_JOINT_LEFT_HAND_INDEX_PROXIMAL_META = 25,
2093 XRT_FULL_BODY_JOINT_LEFT_HAND_INDEX_INTERMEDIATE_META = 26,
2094 XRT_FULL_BODY_JOINT_LEFT_HAND_INDEX_DISTAL_META = 27,
2095 XRT_FULL_BODY_JOINT_LEFT_HAND_INDEX_TIP_META = 28,
2096 XRT_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_METACARPAL_META = 29,
2097 XRT_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_PROXIMAL_META = 30,
2098 XRT_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_INTERMEDIATE_META = 31,
2099 XRT_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_DISTAL_META = 32,
2100 XRT_FULL_BODY_JOINT_LEFT_HAND_MIDDLE_TIP_META = 33,
2101 XRT_FULL_BODY_JOINT_LEFT_HAND_RING_METACARPAL_META = 34,
2102 XRT_FULL_BODY_JOINT_LEFT_HAND_RING_PROXIMAL_META = 35,
2103 XRT_FULL_BODY_JOINT_LEFT_HAND_RING_INTERMEDIATE_META = 36,
2104 XRT_FULL_BODY_JOINT_LEFT_HAND_RING_DISTAL_META = 37,
2105 XRT_FULL_BODY_JOINT_LEFT_HAND_RING_TIP_META = 38,
2106 XRT_FULL_BODY_JOINT_LEFT_HAND_LITTLE_METACARPAL_META = 39,
2107 XRT_FULL_BODY_JOINT_LEFT_HAND_LITTLE_PROXIMAL_META = 40,
2108 XRT_FULL_BODY_JOINT_LEFT_HAND_LITTLE_INTERMEDIATE_META = 41,
2109 XRT_FULL_BODY_JOINT_LEFT_HAND_LITTLE_DISTAL_META = 42,
2110 XRT_FULL_BODY_JOINT_LEFT_HAND_LITTLE_TIP_META = 43,
2111 XRT_FULL_BODY_JOINT_RIGHT_HAND_PALM_META = 44,
2112 XRT_FULL_BODY_JOINT_RIGHT_HAND_WRIST_META = 45,
2113 XRT_FULL_BODY_JOINT_RIGHT_HAND_THUMB_METACARPAL_META = 46,
2114 XRT_FULL_BODY_JOINT_RIGHT_HAND_THUMB_PROXIMAL_META = 47,
2115 XRT_FULL_BODY_JOINT_RIGHT_HAND_THUMB_DISTAL_META = 48,
2116 XRT_FULL_BODY_JOINT_RIGHT_HAND_THUMB_TIP_META = 49,
2117 XRT_FULL_BODY_JOINT_RIGHT_HAND_INDEX_METACARPAL_META = 50,
2118 XRT_FULL_BODY_JOINT_RIGHT_HAND_INDEX_PROXIMAL_META = 51,
2119 XRT_FULL_BODY_JOINT_RIGHT_HAND_INDEX_INTERMEDIATE_META = 52,
2120 XRT_FULL_BODY_JOINT_RIGHT_HAND_INDEX_DISTAL_META = 53,
2121 XRT_FULL_BODY_JOINT_RIGHT_HAND_INDEX_TIP_META = 54,
2122 XRT_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_METACARPAL_META = 55,
2123 XRT_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_PROXIMAL_META = 56,
2124 XRT_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_INTERMEDIATE_META = 57,
2125 XRT_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_DISTAL_META = 58,
2126 XRT_FULL_BODY_JOINT_RIGHT_HAND_MIDDLE_TIP_META = 59,
2127 XRT_FULL_BODY_JOINT_RIGHT_HAND_RING_METACARPAL_META = 60,
2128 XRT_FULL_BODY_JOINT_RIGHT_HAND_RING_PROXIMAL_META = 61,
2129 XRT_FULL_BODY_JOINT_RIGHT_HAND_RING_INTERMEDIATE_META = 62,
2130 XRT_FULL_BODY_JOINT_RIGHT_HAND_RING_DISTAL_META = 63,
2131 XRT_FULL_BODY_JOINT_RIGHT_HAND_RING_TIP_META = 64,
2132 XRT_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_METACARPAL_META = 65,
2133 XRT_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_PROXIMAL_META = 66,
2134 XRT_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_INTERMEDIATE_META = 67,
2135 XRT_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_DISTAL_META = 68,
2136 XRT_FULL_BODY_JOINT_RIGHT_HAND_LITTLE_TIP_META = 69,
2137 XRT_FULL_BODY_JOINT_LEFT_UPPER_LEG_META = 70,
2138 XRT_FULL_BODY_JOINT_LEFT_LOWER_LEG_META = 71,
2139 XRT_FULL_BODY_JOINT_LEFT_FOOT_ANKLE_TWIST_META = 72,
2140 XRT_FULL_BODY_JOINT_LEFT_FOOT_ANKLE_META = 73,
2141 XRT_FULL_BODY_JOINT_LEFT_FOOT_SUBTALAR_META = 74,
2142 XRT_FULL_BODY_JOINT_LEFT_FOOT_TRANSVERSE_META = 75,
2143 XRT_FULL_BODY_JOINT_LEFT_FOOT_BALL_META = 76,
2144 XRT_FULL_BODY_JOINT_RIGHT_UPPER_LEG_META = 77,
2145 XRT_FULL_BODY_JOINT_RIGHT_LOWER_LEG_META = 78,
2146 XRT_FULL_BODY_JOINT_RIGHT_FOOT_ANKLE_TWIST_META = 79,
2147 XRT_FULL_BODY_JOINT_RIGHT_FOOT_ANKLE_META = 80,
2148 XRT_FULL_BODY_JOINT_RIGHT_FOOT_SUBTALAR_META = 81,
2149 XRT_FULL_BODY_JOINT_RIGHT_FOOT_TRANSVERSE_META = 82,
2150 XRT_FULL_BODY_JOINT_RIGHT_FOOT_BALL_META = 83,
2151 XRT_FULL_BODY_JOINT_COUNT_META = 84,
2152 XRT_FULL_BODY_JOINT_NONE_META = 85,
2156enum xrt_body_joint_set_type_fb
2158 XRT_BODY_JOINT_SET_UNKNOWN = 0,
2160 XRT_BODY_JOINT_SET_DEFAULT_FB,
2162 XRT_BODY_JOINT_SET_FULL_BODY_META,
2166enum xrt_body_tracking_calibration_state_meta
2169 XRT_BODY_TRACKING_CALIBRATION_STATE_VALID_META = 1,
2171 XRT_BODY_TRACKING_CALIBRATION_STATE_CALIBRATING_META = 2,
2173 XRT_BODY_TRACKING_CALIBRATION_STATE_INVALID_META = 3,
2177enum xrt_body_tracking_fidelity_meta
2179 XRT_BODY_TRACKING_FIDELITY_LOW_META = 1,
2180 XRT_BODY_TRACKING_FIDELITY_HIGH_META = 2,
2188 int32_t parent_joint;
2222 int64_t sample_time_ns;
2224 uint32_t skeleton_changed_count;
2225 XRT_ALIGNAS(8)
bool is_active;
2230 enum xrt_body_tracking_calibration_state_meta calibration_status;
2233 enum xrt_body_tracking_fidelity_meta fidelity_status;
2259#define XRT_BODY_JOINT_COUNT_BD 24
2260#define XRT_BODY_JOINT_WITHOUT_ARM_COUNT_BD 16
2262enum xrt_body_joint_bd
2264 XRT_BODY_JOINT_PELVIS_BD = 0,
2265 XRT_BODY_JOINT_LEFT_HIP_BD = 1,
2266 XRT_BODY_JOINT_RIGHT_HIP_BD = 2,
2267 XRT_BODY_JOINT_SPINE1_BD = 3,
2268 XRT_BODY_JOINT_LEFT_KNEE_BD = 4,
2269 XRT_BODY_JOINT_RIGHT_KNEE_BD = 5,
2270 XRT_BODY_JOINT_SPINE2_BD = 6,
2271 XRT_BODY_JOINT_LEFT_ANKLE_BD = 7,
2272 XRT_BODY_JOINT_RIGHT_ANKLE_BD = 8,
2273 XRT_BODY_JOINT_SPINE3_BD = 9,
2274 XRT_BODY_JOINT_LEFT_FOOT_BD = 10,
2275 XRT_BODY_JOINT_RIGHT_FOOT_BD = 11,
2276 XRT_BODY_JOINT_NECK_BD = 12,
2277 XRT_BODY_JOINT_LEFT_COLLAR_BD = 13,
2278 XRT_BODY_JOINT_RIGHT_COLLAR_BD = 14,
2279 XRT_BODY_JOINT_HEAD_BD = 15,
2280 XRT_BODY_JOINT_LEFT_SHOULDER_BD = 16,
2281 XRT_BODY_JOINT_RIGHT_SHOULDER_BD = 17,
2282 XRT_BODY_JOINT_LEFT_ELBOW_BD = 18,
2283 XRT_BODY_JOINT_RIGHT_ELBOW_BD = 19,
2284 XRT_BODY_JOINT_LEFT_WRIST_BD = 20,
2285 XRT_BODY_JOINT_RIGHT_WRIST_BD = 21,
2286 XRT_BODY_JOINT_LEFT_HAND_BD = 22,
2287 XRT_BODY_JOINT_RIGHT_HAND_BD = 23,
2290enum xrt_body_joint_set_type_bd
2292 XRT_BODY_JOINT_SET_UNKNOWN_BD = 0,
2293 XRT_BODY_JOINT_SET_BODY_WITHOUT_ARM_BD = 1,
2294 XRT_BODY_JOINT_SET_FULL_BODY_BD = 2,
2304 int64_t sample_time_ns;
2306 XRT_ALIGNAS(8)
bool is_active;
2307 bool all_joint_poses_tracked;
2327#define XRT_MIN_HAPTIC_DURATION -1
2336#define XRT_FREQUENCY_UNSPECIFIED 0
2343#define XRT_INFINITE_DURATION (0x7fffffffffffffffLL)
2345enum xrt_force_feedback_location
2347 XRT_FORCE_FEEDBACK_LOCATION_LEFT_THUMB,
2348 XRT_FORCE_FEEDBACK_LOCATION_LEFT_INDEX,
2349 XRT_FORCE_FEEDBACK_LOCATION_LEFT_MIDDLE,
2350 XRT_FORCE_FEEDBACK_LOCATION_LEFT_RING,
2351 XRT_FORCE_FEEDBACK_LOCATION_LEFT_PINKY,
2357 enum xrt_force_feedback_location location;
2360enum xrt_output_value_type
2362 XRT_OUTPUT_VALUE_TYPE_VIBRATION,
2363 XRT_OUTPUT_VALUE_TYPE_PCM_VIBRATION,
2364 XRT_OUTPUT_VALUE_TYPE_FORCE_FEEDBACK,
2369 XRT_ALIGNAS(8)
float frequency;
2371 int64_t duration_ns;
2376 uint32_t buffer_size;
2377 XRT_ALIGNAS(8)
const float *buffer;
2378 XRT_ALIGNAS(8)
float sample_rate;
2380 uint32_t *samples_consumed;
2386 uint64_t force_feedback_location_count;
2397 enum xrt_output_value_type type;
2428 XRT_VIEW_TYPE_MONO = 1,
2429 XRT_VIEW_TYPE_STEREO = 2,
2430 XRT_VIEW_TYPE_QUAD = 3,
2440 XRT_PERF_DOMAIN_CPU = 1,
2441 XRT_PERF_DOMAIN_GPU = 2,
2444enum xrt_perf_sub_domain
2446 XRT_PERF_SUB_DOMAIN_COMPOSITING = 1,
2447 XRT_PERF_SUB_DOMAIN_RENDERING = 2,
2448 XRT_PERF_SUB_DOMAIN_THERMAL = 3
2456 XRT_PERF_SET_LEVEL_POWER_SAVINGS = 0,
2457 XRT_PERF_SET_LEVEL_SUSTAINED_LOW = 25,
2458 XRT_PERF_SET_LEVEL_SUSTAINED_HIGH = 50,
2459 XRT_PERF_SET_LEVEL_BOOST = 75,
2467 XRT_PERF_NOTIFY_LEVEL_NORMAL = 0,
2468 XRT_PERF_NOTIFY_LEVEL_WARNING = 25,
2469 XRT_PERF_NOTIFY_LEVEL_IMPAIRED = 75,
2479 XRT_VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH = 1,
2480 XRT_VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH = 2,
2481 XRT_VISIBILITY_MASK_TYPE_LINE_LOOP = 3,
2493#define XRT_REFERENCE_DEBUG_PRINT(ACTION, PTR, COUNT) \
2495 int32_t __count = (COUNT); \
2496 printf(#ACTION " %p to %u", (void *)(PTR), __count); \
2497 if (__count < 0) { \
2502#define XRT_REFERENCE_DEBUG_PRINT(ACTION, PTR, COUNT)
2514 XRT_MAYBE_UNUSED int32_t count = xrt_atomic_s32_inc_return(&xref->count);
2516 XRT_REFERENCE_DEBUG_PRINT(Incremented, xref, count);
2528 XRT_MAYBE_UNUSED int32_t count = xrt_atomic_s32_dec_return(&xref->count);
2530 XRT_REFERENCE_DEBUG_PRINT(Decremented, xref, count);
2539XRT_CHECK_RESULT
static inline bool
2542 int32_t count = xrt_atomic_s32_inc_return(&xref->count);
2544 XRT_REFERENCE_DEBUG_PRINT(Incremented, xref, count);
2555XRT_CHECK_RESULT
static inline bool
2558 int32_t count = xrt_atomic_s32_dec_return(&xref->count);
2560 XRT_REFERENCE_DEBUG_PRINT(Decremented, xref, count);
xrt_input_type
Base type of this inputs.
Definition xrt_defines.h:857
xrt_hand
Enumeration for left and right hand.
Definition xrt_defines.h:1488
#define XRT_MATRIX_3X3_ELEMENTS
The number of values in xrt_matrix_3x3.
Definition xrt_defines.h:561
xrt_stereo_format
What type of stereo format a frame has.
Definition xrt_defines.h:222
xrt_visibility_mask_type
Visibility mask, mirror of XrVisibilityMaskKHR.
Definition xrt_defines.h:2478
xrt_blend_mode
Blend mode that the device supports, exact mirror of XrEnvironmentBlendMode.
Definition xrt_defines.h:112
static XRT_CHECK_RESULT bool xrt_reference_dec_and_is_zero(struct xrt_reference *xref)
Decrement the reference and return true if the value is now zero.
Definition xrt_defines.h:2556
#define XRT_INPUT_NAME(id, type)
Create an enum value for xrt_input_name that packs an ID and input type.
Definition xrt_defines.h:908
#define XRT_OUTPUT_NAME(id, type)
Create an enum value for xrt_output_name that packs an ID and output type.
Definition xrt_defines.h:1578
xrt_form_factor
What form factor is this device, mostly maps onto OpenXR's XrFormFactor.
Definition xrt_defines.h:2418
xrt_input_name
Every internal input source known to monado with a baked in type.
Definition xrt_defines.h:940
xrt_output_type
Base type of this output.
Definition xrt_defines.h:1608
static XRT_CHECK_RESULT bool xrt_reference_inc_and_was_zero(struct xrt_reference *xref)
Increment the reference and return true if the value was zero.
Definition xrt_defines.h:2540
#define XRT_UUID_SIZE
Internal define for VK_UUID_SIZE and XR_UUID_SIZE_EXT.
Definition xrt_defines.h:31
#define XRT_MATRIX_2X2_ELEMENTS
The number of values in xrt_matrix_2x2.
Definition xrt_defines.h:534
static void xrt_reference_inc(struct xrt_reference *xref)
Increment the reference, probably want xrt_reference_inc_and_was_zero.
Definition xrt_defines.h:2512
#define XRT_MATRIX_2X2_VECS
The number of 2d vectors in xrt_matrix_2x2.
Definition xrt_defines.h:541
#define XRT_LUID_SIZE
Internal define for VK_LUID_SIZE.
Definition xrt_defines.h:55
static void xrt_reference_dec(struct xrt_reference *xref)
Decrement the reference, probably want xrt_reference_dec_and_is_zero.
Definition xrt_defines.h:2526
xrt_reference_space_type
Type of a OpenXR mapped reference space, maps to the semantic spaces on the xrt_space_overseer struct...
Definition xrt_defines.h:635
#define XRT_HAND_JOINT_COUNT
Number of joints in a hand.
Definition xrt_defines.h:1444
xrt_output_name
Name of a output with a baked in type.
Definition xrt_defines.h:1622
xrt_finger
Names for fingers on a hand.
Definition xrt_defines.h:1517
xrt_hand_joint
Number of joints in a hand.
Definition xrt_defines.h:1452
#define XRT_MATRIX_4X4_ELEMENTS
The number of values in a 4x4 matrix like xrt_matrix_4x4 and xrt_matrix_4x4_f64.
Definition xrt_defines.h:588
xrt_space_relation_flags
Flags of which components of a xrt_space_relation is valid.
Definition xrt_defines.h:665
xrt_device_type
How an xrt_device can be used.
Definition xrt_defines.h:837
@ XRT_INPUT_TYPE_POSE
A tracked pose.
Definition xrt_defines.h:870
@ XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE
Vec2 input, components in [-1, 1].
Definition xrt_defines.h:864
@ XRT_INPUT_TYPE_VEC3_MINUS_ONE_TO_ONE
Vec3 input, components in [-1, 1].
Definition xrt_defines.h:866
@ XRT_INPUT_TYPE_FACE_TRACKING
A tracked face.
Definition xrt_defines.h:874
@ XRT_INPUT_TYPE_BODY_TRACKING
A tracked body.
Definition xrt_defines.h:876
@ XRT_INPUT_TYPE_HAND_TRACKING
A tracked hand.
Definition xrt_defines.h:872
@ XRT_INPUT_TYPE_VEC1_MINUS_ONE_TO_ONE
Float input in [-1, 1].
Definition xrt_defines.h:862
@ XRT_INPUT_TYPE_BOOLEAN
Boolean (digital, binary) input.
Definition xrt_defines.h:868
@ XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE
Float input in [0, 1].
Definition xrt_defines.h:860
@ XRT_STEREO_FORMAT_OAU
Over & Under.
Definition xrt_defines.h:226
@ XRT_STEREO_FORMAT_SBS
Side by side.
Definition xrt_defines.h:224
@ XRT_STEREO_FORMAT_INTERLEAVED
Interleaved pixels.
Definition xrt_defines.h:225
@ XRT_FORM_FACTOR_HANDHELD
Handheld display.
Definition xrt_defines.h:2420
@ XRT_FORM_FACTOR_HMD
Head mounted display.
Definition xrt_defines.h:2419
@ XRT_INPUT_GENERIC_PALM_POSE
XR_EXT_palm_pose.
Definition xrt_defines.h:951
@ XRT_INPUT_GENERIC_EYE_GAZE_POSE
XR_EXT_eye_gaze_interaction.
Definition xrt_defines.h:954
@ XRT_INPUT_GENERIC_HEAD_POSE
Standard pose used for rendering.
Definition xrt_defines.h:943
Definition t_rift_blobwatch.c:112
A range of API versions supported.
Definition xrt_defines.h:616
Definition xrt_defines.h:2221
Definition xrt_defines.h:2298
Definition xrt_defines.h:2216
Definition xrt_defines.h:2303
Definition xrt_defines.h:2239
Definition xrt_defines.h:2311
Definition xrt_defines.h:2193
struct xrt_body_skeleton_joint_fb joints[XRT_BODY_JOINT_COUNT_FB]
ordered by xrt_body_joint_fb
Definition xrt_defines.h:2195
Definition xrt_defines.h:2185
Definition xrt_defines.h:2208
A 3 element HSV colour with floating point channels.
Definition xrt_defines.h:421
A 3 element colour with floating point channels.
Definition xrt_defines.h:408
A 3 element colour with 8 bits per channel.
Definition xrt_defines.h:383
A 4 element colour with floating point channels.
Definition xrt_defines.h:433
A 4 element colour with 8 bits per channel.
Definition xrt_defines.h:395
Definition xrt_defines.h:1933
Definition xrt_defines.h:1953
Definition xrt_defines.h:1965
Definition xrt_defines.h:1977
Definition xrt_defines.h:1939
float expression_weights[14]
ordered by xrt_eye_expression_htc
Definition xrt_defines.h:1942
Definition xrt_defines.h:1946
float expression_weights[37]
ordered by xrt_lip_expression_htc
Definition xrt_defines.h:1949
Describes a projection matrix fov.
Definition xrt_defines.h:522
Definition xrt_defines.h:2247
Definition xrt_defines.h:2200
struct xrt_body_skeleton_joint_fb joints[XRT_FULL_BODY_JOINT_COUNT_META]
ordered by xrt_full_body_joint_meta
Definition xrt_defines.h:2202
Joint set type used for hand tracking.
Definition xrt_defines.h:1531
Location of a single hand joint.
Definition xrt_defines.h:1499
A limited unique id, it is only unique for the process it is in, so must not be used or synchronized ...
Definition xrt_defines.h:82
To transport LUIDs between different APIs.
Definition xrt_defines.h:63
A tightly packed 2x2 matrix of floats.
Definition xrt_defines.h:549
A tightly packed 3x3 matrix of doubles.
Definition xrt_defines.h:579
A tightly packed 3x3 matrix of floats.
Definition xrt_defines.h:569
A tightly packed 4x4 matrix of double.
Definition xrt_defines.h:606
A tightly packed 4x4 matrix of floats.
Definition xrt_defines.h:596
Normalized image rectangle, coordinates and size in 0 .
Definition xrt_defines.h:490
Image offset.
Definition xrt_defines.h:457
Definition xrt_defines.h:2355
Definition xrt_defines.h:2384
Definition xrt_defines.h:2375
Definition xrt_defines.h:2368
A union of all output types.
Definition xrt_defines.h:2396
A pose composed of a position and orientation.
Definition xrt_defines.h:502
A quaternion with single floats.
Definition xrt_defines.h:235
Image rectangle.
Definition xrt_defines.h:480
Image rectangle.
Definition xrt_defines.h:467
A base class for reference counted objects.
Definition xrt_defines.h:99
A chain of space relations and their associated validity flags.
Definition xrt_defines.h:730
#define XRT_RELATION_CHAIN_CAPACITY
The maximum number of steps that can be in a relation chain.
Definition xrt_defines.h:720
Image size.
Definition xrt_defines.h:446
A relation with two spaces, includes velocity and acceleration.
Definition xrt_defines.h:693
To transport UUIDs between different APIs.
Definition xrt_defines.h:39
Represents a uv triplet for distortion, basically just three xrt_vec2.
Definition xrt_defines.h:289
A 1 element vector with single floats.
Definition xrt_defines.h:258
A 2 element vector with 32 bit integers.
Definition xrt_defines.h:372
A 2 element vector with single floats.
Definition xrt_defines.h:268
A 3 element vector with single doubles.
Definition xrt_defines.h:311
A 3 element vector with 32 bit integers.
Definition xrt_defines.h:360
A 3 element vector with single floats.
Definition xrt_defines.h:299
Header holding common defines.
xrt_perf_notify_level
Performance level.
Definition xrt_defines.h:2466
xrt_distortion_model
Which distortion model does the device expose, used both as a bitfield and value.
Definition xrt_defines.h:167
xrt_passthrough_purpose_flags
Specify the kind of passthrough behavior the layer provides.
Definition xrt_defines.h:151
@ XRT_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_MASKED_HANDS
Provided by XR_FB_passthrough_keyboard_hands.
Definition xrt_defines.h:159
@ XRT_PASSTHROUGH_LAYER_PURPOSE_RECONSTRUCTION
Fullscreen layer.
Definition xrt_defines.h:153
@ XRT_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_HANDS
Provided by XR_FB_passthrough_keyboard_hands.
Definition xrt_defines.h:157
@ XRT_PASSTHROUGH_LAYER_PURPOSE_PROJECTED
Projected layer.
Definition xrt_defines.h:155
xrt_device_name
A enum that is used to name devices so that the state trackers can reason about the devices easier.
Definition xrt_defines.h:747
@ XRT_DEVICE_HTC_FACE_TRACKING
XR_HTC_facial_tracking.
Definition xrt_defines.h:802
@ XRT_DEVICE_FB_BODY_TRACKING
XR_FB_body_tracking.
Definition xrt_defines.h:805
@ XRT_DEVICE_FB_FACE_TRACKING2
XR_FB_face_tracking2.
Definition xrt_defines.h:808
@ XRT_DEVICE_EXT_HAND_INTERACTION
XR_EXT_hand_interaction.
Definition xrt_defines.h:796
@ XRT_DEVICE_ANDROID_FACE_TRACKING
XR_ANDROID_face_tracking.
Definition xrt_defines.h:799
xrt_scanout_direction
Screen scanout direction.
Definition xrt_defines.h:179
xrt_perf_domain
Domain type.
Definition xrt_defines.h:2439
xrt_passthrough_state
Specify additional state change behavior.
Definition xrt_defines.h:136
@ XRT_PASSTHROUGH_STATE_CHANGED_NON_RECOVERABLE_ERROR_BIT
Non-recoverable error has occurred.
Definition xrt_defines.h:140
@ XRT_PASSTHROUGH_STATE_CHANGED_RESTORED_ERROR_BIT
The runtime has recovered from a previous error and is functioning normally.
Definition xrt_defines.h:144
@ XRT_PASSTHROUGH_STATE_CHANGED_REINIT_REQUIRED_BIT
Passthrough system requires reinitialization.
Definition xrt_defines.h:138
@ XRT_PASSTHROUGH_STATE_CHANGED_RECOVERABLE_ERROR_BIT
A recoverable error has occurred.
Definition xrt_defines.h:142
xrt_view_type
View type to be rendered to by the compositor.
Definition xrt_defines.h:2427
xrt_format
Common formats, use u_format_* functions to reason about them.
Definition xrt_defines.h:193
xrt_passthrough_create_flags
Special flags for creating passthrough.
Definition xrt_defines.h:125
@ XRT_PASSTHROUGH_LAYER_DEPTH
Our compositor just ignores this bit.
Definition xrt_defines.h:129
@ XRT_PASSTHROUGH_IS_RUNNING_AT_CREATION
Start the passthrough on creation.
Definition xrt_defines.h:127
xrt_perf_set_level
Performance level.
Definition xrt_defines.h:2455
Internal result type for XRT.