diff --git a/src/xrt/include/xrt/xrt_defines.h b/src/xrt/include/xrt/xrt_defines.h index 26158e593..e9eaa6f00 100644 --- a/src/xrt/include/xrt/xrt_defines.h +++ b/src/xrt/include/xrt/xrt_defines.h @@ -716,83 +716,94 @@ struct xrt_relation_chain * */ +// clang-format off +#define XRT_DEVICE_NAME_LIST(_) \ + _(XRT_DEVICE_INVALID) \ +\ + _(XRT_DEVICE_GENERIC_HMD) \ +\ + /* Vive stuff. */ \ + _(XRT_DEVICE_VIVE_PRO) \ + _(XRT_DEVICE_VIVE_WAND) \ + _(XRT_DEVICE_VIVE_TRACKER) /* Generic, only used for bindings. */ \ + _(XRT_DEVICE_VIVE_TRACKER_GEN1) \ + _(XRT_DEVICE_VIVE_TRACKER_GEN2) \ + _(XRT_DEVICE_VIVE_TRACKER_GEN3) \ + _(XRT_DEVICE_VIVE_TRACKER_TUNDRA) \ +\ + /* "Controllers" somewhat sorted as listed in spec. */\ + _(XRT_DEVICE_SIMPLE_CONTROLLER) \ + _(XRT_DEVICE_DAYDREAM) \ + _(XRT_DEVICE_WMR_CONTROLLER) \ + _(XRT_DEVICE_XBOX_CONTROLLER) \ + _(XRT_DEVICE_GO_CONTROLLER) \ + _(XRT_DEVICE_TOUCH_CONTROLLER) \ + _(XRT_DEVICE_INDEX_CONTROLLER) \ +\ + _(XRT_DEVICE_HP_REVERB_G2_CONTROLLER) \ + _(XRT_DEVICE_SAMSUNG_ODYSSEY_CONTROLLER) \ + _(XRT_DEVICE_ML2_CONTROLLER) \ + _(XRT_DEVICE_OPPO_MR_CONTROLLER) \ +\ + _(XRT_DEVICE_HAND_INTERACTION) \ +\ + _(XRT_DEVICE_EYE_GAZE_INTERACTION) \ +\ + _(XRT_DEVICE_PSMV) \ + _(XRT_DEVICE_PSSENSE) \ + _(XRT_DEVICE_HYDRA) \ + _(XRT_DEVICE_RIFT_REMOTE) \ + _(XRT_DEVICE_BLUBUR_S1) \ + _(XRT_DEVICE_PSVR2) \ +\ + /* Other misc stuff. */\ + _(XRT_DEVICE_HAND_TRACKER) \ + _(XRT_DEVICE_REALSENSE) \ + _(XRT_DEVICE_DEPTHAI) \ +\ + /*! XR_EXT_hand_interaction */\ + _(XRT_DEVICE_EXT_HAND_INTERACTION) \ +\ + /*! XR_HTC_facial_tracking */\ + _(XRT_DEVICE_HTC_FACE_TRACKING) \ +\ + /*! XR_FB_body_tracking */\ + _(XRT_DEVICE_FB_BODY_TRACKING) \ +\ + /*! XR_FB_face_tracking2 */\ + _(XRT_DEVICE_FB_FACE_TRACKING2) \ +\ + /* added in OpenXR 1.1 */\ + _(XRT_DEVICE_PICO_NEO3_CONTROLLER) \ + _(XRT_DEVICE_PICO4_CONTROLLER) \ + _(XRT_DEVICE_PICO_G3_CONTROLLER) \ +\ + _(XRT_DEVICE_VIVE_COSMOS_CONTROLLER) \ + _(XRT_DEVICE_VIVE_FOCUS3_CONTROLLER) \ +\ + _(XRT_DEVICE_TOUCH_PRO_CONTROLLER) \ + _(XRT_DEVICE_TOUCH_PLUS_CONTROLLER) \ + _(XRT_DEVICE_TOUCH_CONTROLLER_RIFT_CV1) \ + _(XRT_DEVICE_TOUCH_CONTROLLER_QUEST_1_RIFT_S) \ + _(XRT_DEVICE_TOUCH_CONTROLLER_QUEST_2) \ +\ + /* Hand based controller emulation. */\ + _(XRT_DEVICE_HAND_CTRL_EMU) \ +\ + /* Please keep this comment and the trailing \ to reduce lines changed when adding entries. */ +// clang-format on + /*! * A enum that is used to name devices so that the * state trackers can reason about the devices easier. */ enum xrt_device_name { - XRT_DEVICE_INVALID = 0, - - XRT_DEVICE_GENERIC_HMD = 1, - - // Vive stuff. - XRT_DEVICE_VIVE_PRO, - XRT_DEVICE_VIVE_WAND, - XRT_DEVICE_VIVE_TRACKER, // Generic, only used for bindings. - XRT_DEVICE_VIVE_TRACKER_GEN1, - XRT_DEVICE_VIVE_TRACKER_GEN2, - XRT_DEVICE_VIVE_TRACKER_GEN3, - XRT_DEVICE_VIVE_TRACKER_TUNDRA, - - // "Controllers" somewhat sorted as listed in spec. - XRT_DEVICE_SIMPLE_CONTROLLER, - XRT_DEVICE_DAYDREAM, - XRT_DEVICE_WMR_CONTROLLER, - XRT_DEVICE_XBOX_CONTROLLER, - XRT_DEVICE_GO_CONTROLLER, - XRT_DEVICE_TOUCH_CONTROLLER, - XRT_DEVICE_INDEX_CONTROLLER, - - XRT_DEVICE_HP_REVERB_G2_CONTROLLER, - XRT_DEVICE_SAMSUNG_ODYSSEY_CONTROLLER, - XRT_DEVICE_ML2_CONTROLLER, - XRT_DEVICE_OPPO_MR_CONTROLLER, - - XRT_DEVICE_HAND_INTERACTION, - - XRT_DEVICE_EYE_GAZE_INTERACTION, - - XRT_DEVICE_PSMV, - XRT_DEVICE_PSSENSE, - XRT_DEVICE_HYDRA, - XRT_DEVICE_RIFT_REMOTE, - XRT_DEVICE_BLUBUR_S1, - XRT_DEVICE_PSVR2, - - // Other misc stuff. - XRT_DEVICE_HAND_TRACKER, - XRT_DEVICE_REALSENSE, - XRT_DEVICE_DEPTHAI, - - //! XR_EXT_hand_interaction - XRT_DEVICE_EXT_HAND_INTERACTION, - - //! XR_HTC_facial_tracking - XRT_DEVICE_HTC_FACE_TRACKING, - - //! XR_FB_body_tracking - XRT_DEVICE_FB_BODY_TRACKING, - - //! XR_FB_face_tracking2 - XRT_DEVICE_FB_FACE_TRACKING2, - - // added in OpenXR 1.1 - XRT_DEVICE_PICO_NEO3_CONTROLLER, - XRT_DEVICE_PICO4_CONTROLLER, - XRT_DEVICE_PICO_G3_CONTROLLER, - - XRT_DEVICE_VIVE_COSMOS_CONTROLLER, - XRT_DEVICE_VIVE_FOCUS3_CONTROLLER, - - XRT_DEVICE_TOUCH_PRO_CONTROLLER, - XRT_DEVICE_TOUCH_PLUS_CONTROLLER, - XRT_DEVICE_TOUCH_CONTROLLER_RIFT_CV1, - XRT_DEVICE_TOUCH_CONTROLLER_QUEST_1_RIFT_S, - XRT_DEVICE_TOUCH_CONTROLLER_QUEST_2, - - // Hand based controller emulation. - XRT_DEVICE_HAND_CTRL_EMU, +#define XRT_DEVICE_NAME_TO_ENUM(NAME) NAME, + + XRT_DEVICE_NAME_LIST(XRT_DEVICE_NAME_TO_ENUM) + +#undef XRT_DEVICE_NAME_TO_ENUM }; /*!