Monado OpenXR Runtime
xrt_defines.h File Reference

Common defines and enums for XRT. More...

#include "xrt/xrt_compiler.h"
#include "xrt/xrt_results.h"
Include dependency graph for xrt_defines.h:

Go to the source code of this file.

Data Structures

struct  xrt_uuid
 To transport UUIDs between different APIs. More...
 
struct  xrt_luid
 To transport LUIDs between different APIs. More...
 
struct  xrt_limited_unique_id
 A limited unique id, it is only unique for the process it is in, so must not be used or synchronized across process boundaries. More...
 
struct  xrt_reference
 A base class for reference counted objects. More...
 
struct  xrt_quat
 A quaternion with single floats. More...
 
struct  xrt_vec1
 A 1 element vector with single floats. More...
 
struct  xrt_vec2
 A 2 element vector with single floats. More...
 
struct  xrt_uv_triplet
 Represents a uv triplet for distortion, basically just three xrt_vec2. More...
 
struct  xrt_vec3
 A 3 element vector with single floats. More...
 
struct  xrt_vec3_f64
 A 3 element vector with single doubles. More...
 
struct  xrt_vec3_i32
 A 3 element vector with 32 bit integers. More...
 
struct  xrt_vec2_i32
 A 2 element vector with 32 bit integers. More...
 
struct  xrt_colour_rgb_u8
 A 3 element colour with 8 bits per channel. More...
 
struct  xrt_colour_rgba_u8
 A 4 element colour with 8 bits per channel. More...
 
struct  xrt_colour_rgb_f32
 A 3 element colour with floating point channels. More...
 
struct  xrt_colour_rgba_f32
 A 4 element colour with floating point channels. More...
 
struct  xrt_size
 Image size. More...
 
struct  xrt_offset
 Image offset. More...
 
struct  xrt_rect
 Image rectangle. More...
 
struct  xrt_rect_f32
 Image rectangle. More...
 
struct  xrt_normalized_rect
 Normalized image rectangle, coordinates and size in 0 . More...
 
struct  xrt_pose
 A pose composed of a position and orientation. More...
 
struct  xrt_fov
 Describes a projection matrix fov. More...
 
struct  xrt_matrix_2x2
 A tightly packed 2x2 matrix of floats. More...
 
struct  xrt_matrix_3x3
 A tightly packed 3x3 matrix of floats. More...
 
struct  xrt_matrix_3x3_f64
 A tightly packed 3x3 matrix of doubles. More...
 
struct  xrt_matrix_4x4
 A tightly packed 4x4 matrix of floats. More...
 
struct  xrt_matrix_4x4_f64
 A tightly packed 4x4 matrix of double. More...
 
struct  xrt_api_requirements
 A range of API versions supported. More...
 
struct  xrt_space_relation
 A relation with two spaces, includes velocity and acceleration. More...
 
struct  xrt_relation_chain
 A chain of space relations and their associated validity flags. More...
 
struct  xrt_hand_joint_value
 Location of a single hand joint. More...
 
struct  xrt_hand_joint_set
 Joint set type used for hand tracking. More...
 
union  xrt_input_value
 A union of all input types. More...
 
struct  xrt_facial_base_expression_set_htc
 
struct  xrt_facial_eye_expression_set_htc
 
struct  xrt_facial_lip_expression_set_htc
 
struct  xrt_facial_expression_set
 
struct  xrt_output_force_feedback
 
union  xrt_output_value
 A union of all output types. More...
 

Macros

#define XRT_UUID_SIZE   16
 Internal define for VK_UUID_SIZE and XR_UUID_SIZE_EXT. More...
 
#define XRT_LUID_SIZE   8
 Internal define for VK_LUID_SIZE. More...
 
#define XRT_MAX_DEVICE_BLEND_MODES   3
 
#define XRT_MATRIX_2X2_ELEMENTS   4
 The number of values in xrt_matrix_2x2. More...
 
#define XRT_MATRIX_2X2_VECS   2
 The number of 2d vectors in xrt_matrix_2x2. More...
 
#define XRT_MATRIX_3X3_ELEMENTS   9
 The number of values in xrt_matrix_3x3. More...
 
#define XRT_MATRIX_4X4_ELEMENTS   16
 The number of values in a 4x4 matrix like xrt_matrix_4x4 and xrt_matrix_4x4_f64. More...
 
#define XRT_SPACE_REFERENCE_TYPE_COUNT   (XRT_SPACE_REFERENCE_TYPE_UNBOUNDED + 1)
 The number of enumerations in xrt_reference_space_type. More...
 
#define XRT_SPACE_REFERENCE_TYPE_INVALID   ((enum xrt_reference_space_type)(-1))
 An invalid xrt_reference_space_type, since it's invalid it's not listed in the enum. More...
 
#define XRT_INPUT_TYPE_BITWIDTH   8u
 The number of bits reserved for the input type in xrt_input_name. More...
 
#define XRT_INPUT_TYPE_BITMASK   0xffu
 The mask associated with XRT_INPUT_TYPE_BITWIDTH. More...
 
#define XRT_INPUT_NAME(id, type)   ((UINT32_C(id) << XRT_INPUT_TYPE_BITWIDTH) | (uint32_t)XRT_INPUT_TYPE_##type)
 Create an enum value for xrt_input_name that packs an ID and input type. More...
 
#define XRT_GET_INPUT_TYPE(name)   ((enum xrt_input_type)(name & XRT_INPUT_TYPE_BITMASK))
 Extract the xrt_input_type from an xrt_input_name. More...
 
#define XRT_GET_INPUT_ID(name)   ((uint32_t)(name >> XRT_INPUT_TYPE_BITWIDTH))
 Extract the xrt_input_name id from an xrt_input_name. More...
 
#define XRT_INPUT_LIST(_)
 
#define XRT_INPUT_LIST_TO_NAME_VALUE(NAME, VALUE)   NAME = VALUE,
 
#define XRT_HAND_JOINT_COUNT   26
 Number of joints in a hand. More...
 
#define XRT_FINGER_COUNT   5
 Number of fingers on a hand. More...
 
#define XRT_OUTPUT_TYPE_BITWIDTH   8u
 The number of bits reserved for the input type in xrt_output_name. More...
 
#define XRT_OUTPUT_TYPE_BITMASK   0xffu
 The mask associated with XRT_OUTPUT_TYPE_BITWIDTH. More...
 
#define XRT_OUTPUT_NAME(id, type)   ((UINT32_C(id) << XRT_OUTPUT_TYPE_BITWIDTH) | (uint32_t)XRT_OUTPUT_TYPE_##type)
 
#define XRT_FACIAL_EXPRESSION_EYE_COUNT_HTC   14
 
#define XRT_FACIAL_EXPRESSION_LIP_COUNT_HTC   37
 
#define XRT_MIN_HAPTIC_DURATION   -1
 Value used to indicate a haptic pulse of the minimal supported duration. More...
 
#define XRT_FREQUENCY_UNSPECIFIED   0
 Value used to indicate a haptic pulse of some runtime defined optimal frequency. More...
 
#define XRT_INFINITE_DURATION   (0x7fffffffffffffffLL)
 Value used as a timeout to indicate the timeout should never occur. More...
 

Typedefs

typedef struct xrt_uuid xrt_uuid_t
 Typedef for xrt_uuid. More...
 
typedef struct xrt_luid xrt_luid_t
 Typedef for xrt_luid. More...
 
typedef struct xrt_limited_unique_id xrt_limited_unique_id_t
 Typedef for xrt_limited_unique_id. More...
 

Enumerations

enum  xrt_blend_mode { XRT_BLEND_MODE_OPAQUE = 1 , XRT_BLEND_MODE_ADDITIVE = 2 , XRT_BLEND_MODE_ALPHA_BLEND = 3 , XRT_BLEND_MODE_MAX_ENUM }
 Blend mode that the device supports, exact mirror of XrEnvironmentBlendMode. More...
 
enum  xrt_passthrough_create_flags { XRT_PASSTHROUGH_IS_RUNNING_AT_CREATION = (1 << 0) , XRT_PASSTHROUGH_LAYER_DEPTH = (1 << 1) }
 Special flags for creating passthrough. More...
 
enum  xrt_passthrough_state { XRT_PASSTHROUGH_STATE_CHANGED_REINIT_REQUIRED_BIT = (1 << 0) , XRT_PASSTHROUGH_STATE_CHANGED_NON_RECOVERABLE_ERROR_BIT = (1 << 1) , XRT_PASSTHROUGH_STATE_CHANGED_RECOVERABLE_ERROR_BIT = (1 << 2) , XRT_PASSTHROUGH_STATE_CHANGED_RESTORED_ERROR_BIT = (1 << 3) }
 Specify additional state change behavior. More...
 
enum  xrt_passthrough_purpose_flags { XRT_PASSTHROUGH_LAYER_PURPOSE_RECONSTRUCTION = (1 << 0) , XRT_PASSTHROUGH_LAYER_PURPOSE_PROJECTED = (1 << 1) , XRT_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_HANDS = 1000203001 , XRT_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_MASKED_HANDS = 1000203002 }
 Specify the kind of passthrough behavior the layer provides. More...
 
enum  xrt_distortion_model { XRT_DISTORTION_MODEL_NONE = 1u << 0u , XRT_DISTORTION_MODEL_COMPUTE = 1u << 1u , XRT_DISTORTION_MODEL_MESHUV = 1u << 2u }
 Which distortion model does the device expose, used both as a bitfield and value. More...
 
enum  xrt_format {
  XRT_FORMAT_R8G8B8X8 , XRT_FORMAT_R8G8B8A8 , XRT_FORMAT_R8G8B8 , XRT_FORMAT_R8G8 ,
  XRT_FORMAT_R8 , XRT_FORMAT_BAYER_GR8 , XRT_FORMAT_L8 , XRT_FORMAT_BITMAP_8X1 ,
  XRT_FORMAT_BITMAP_8X8 , XRT_FORMAT_YUV888 , XRT_FORMAT_YUYV422 , XRT_FORMAT_UYVY422 ,
  XRT_FORMAT_MJPEG
}
 Common formats, use u_format_* functions to reason about them. More...
 
enum  xrt_stereo_format { XRT_STEREO_FORMAT_NONE , XRT_STEREO_FORMAT_SBS , XRT_STEREO_FORMAT_INTERLEAVED , XRT_STEREO_FORMAT_OAU }
 What type of stereo format a frame has. More...
 
enum  xrt_reference_space_type {
  XRT_SPACE_REFERENCE_TYPE_VIEW , XRT_SPACE_REFERENCE_TYPE_LOCAL , XRT_SPACE_REFERENCE_TYPE_LOCAL_FLOOR , XRT_SPACE_REFERENCE_TYPE_STAGE ,
  XRT_SPACE_REFERENCE_TYPE_UNBOUNDED
}
 Type of a OpenXR mapped reference space, maps to the semantic spaces on the xrt_space_overseer struct. More...
 
enum  xrt_space_relation_flags {
  XRT_SPACE_RELATION_ORIENTATION_VALID_BIT = (1u << 0u) , XRT_SPACE_RELATION_POSITION_VALID_BIT = (1u << 1u) , XRT_SPACE_RELATION_LINEAR_VELOCITY_VALID_BIT = (1u << 2u) , XRT_SPACE_RELATION_ANGULAR_VELOCITY_VALID_BIT = (1u << 3u) ,
  XRT_SPACE_RELATION_ORIENTATION_TRACKED_BIT = (1u << 4u) , XRT_SPACE_RELATION_POSITION_TRACKED_BIT = (1u << 5u) , XRT_SPACE_RELATION_BITMASK_ALL , XRT_SPACE_RELATION_BITMASK_NONE = 0
}
 Flags of which components of a xrt_space_relation is valid. More...
 
enum  xrt_device_name {
  XRT_DEVICE_INVALID = 0 , XRT_DEVICE_GENERIC_HMD = 1 , XRT_DEVICE_VIVE_PRO , XRT_DEVICE_VIVE_WAND ,
  XRT_DEVICE_VIVE_TRACKER , XRT_DEVICE_VIVE_TRACKER_GEN1 , XRT_DEVICE_VIVE_TRACKER_GEN2 , XRT_DEVICE_VIVE_TRACKER_GEN3 ,
  XRT_DEVICE_VIVE_TRACKER_TUNDRA , 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_HAND_TRACKER , XRT_DEVICE_REALSENSE , XRT_DEVICE_DEPTHAI ,
  XRT_DEVICE_EXT_HAND_INTERACTION , XRT_DEVICE_HTC_FACE_TRACKING
}
 A enum that is used to name devices so that the state trackers can reason about the devices easier. More...
 
enum  xrt_device_type {
  XRT_DEVICE_TYPE_UNKNOWN = 0 , XRT_DEVICE_TYPE_HMD , XRT_DEVICE_TYPE_RIGHT_HAND_CONTROLLER , XRT_DEVICE_TYPE_LEFT_HAND_CONTROLLER ,
  XRT_DEVICE_TYPE_ANY_HAND_CONTROLLER , XRT_DEVICE_TYPE_GENERIC_TRACKER , XRT_DEVICE_TYPE_HAND_TRACKER , XRT_DEVICE_TYPE_EYE_TRACKER ,
  XRT_DEVICE_TYPE_FACE_TRACKER
}
 How an xrt_device can be used. More...
 
enum  xrt_input_type {
  XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE = 0x00 , XRT_INPUT_TYPE_VEC1_MINUS_ONE_TO_ONE = 0x01 , XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE = 0x02 , XRT_INPUT_TYPE_VEC3_MINUS_ONE_TO_ONE = 0x03 ,
  XRT_INPUT_TYPE_BOOLEAN = 0x04 , XRT_INPUT_TYPE_POSE = 0x05 , XRT_INPUT_TYPE_HAND_TRACKING = 0x06 , XRT_INPUT_TYPE_FACE_TRACKING = 0x07
}
 Base type of this inputs. More...
 
enum  xrt_input_name {
  XRT_INPUT_GENERIC_HEAD_POSE = ((UINT32_C( 0x0000 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_GENERIC_HEAD_DETECT = ((UINT32_C( 0x0001 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_GENERIC_HAND_TRACKING_LEFT = ((UINT32_C( 0x0002 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_HAND_TRACKING ) , XRT_INPUT_GENERIC_HAND_TRACKING_RIGHT = ((UINT32_C( 0x0004 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_HAND_TRACKING ) ,
  XRT_INPUT_GENERIC_TRACKER_POSE = ((UINT32_C( 0x0005 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_GENERIC_PALM_POSE = ((UINT32_C( 0x0006 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_GENERIC_EYE_GAZE_POSE = ((UINT32_C( 0x0007 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_GENERIC_LOCAL_SPACE_POSE = ((UINT32_C( 0x0008 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) ,
  XRT_INPUT_GENERIC_LOCAL_FLOOR_SPACE_POSE = ((UINT32_C( 0x0009 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_GENERIC_STAGE_SPACE_POSE = ((UINT32_C( 0x000A ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_GENERIC_UNBOUNDED_SPACE_POSE = ((UINT32_C( 0x000B ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_SIMPLE_SELECT_CLICK = ((UINT32_C( 0x0010 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_SIMPLE_MENU_CLICK = ((UINT32_C( 0x0011 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_SIMPLE_GRIP_POSE = ((UINT32_C( 0x0012 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_SIMPLE_AIM_POSE = ((UINT32_C( 0x0013 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_PSMV_PS_CLICK = ((UINT32_C( 0x0020 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_PSMV_MOVE_CLICK = ((UINT32_C( 0x0021 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSMV_START_CLICK = ((UINT32_C( 0x0022 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSMV_SELECT_CLICK = ((UINT32_C( 0x0023 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSMV_SQUARE_CLICK = ((UINT32_C( 0x0024 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_PSMV_CROSS_CLICK = ((UINT32_C( 0x0025 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSMV_CIRCLE_CLICK = ((UINT32_C( 0x0026 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSMV_TRIANGLE_CLICK = ((UINT32_C( 0x0027 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSMV_TRIGGER_VALUE = ((UINT32_C( 0x0028 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) ,
  XRT_INPUT_PSMV_GRIP_POSE = ((UINT32_C( 0x0029 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_PSMV_AIM_POSE = ((UINT32_C( 0x002A ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_PSMV_BODY_CENTER_POSE = ((UINT32_C( 0x002B ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_PSMV_BALL_CENTER_POSE = ((UINT32_C( 0x002C ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) ,
  XRT_INPUT_HYDRA_1_CLICK = ((UINT32_C( 0x0030 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_HYDRA_2_CLICK = ((UINT32_C( 0x0031 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_HYDRA_3_CLICK = ((UINT32_C( 0x0032 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_HYDRA_4_CLICK = ((UINT32_C( 0x0033 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_HYDRA_MIDDLE_CLICK = ((UINT32_C( 0x0034 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_HYDRA_BUMPER_CLICK = ((UINT32_C( 0x0035 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_HYDRA_JOYSTICK_CLICK = ((UINT32_C( 0x0036 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_HYDRA_JOYSTICK_VALUE = ((UINT32_C( 0x0037 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) ,
  XRT_INPUT_HYDRA_TRIGGER_VALUE = ((UINT32_C( 0x0038 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_HYDRA_POSE = ((UINT32_C( 0x0039 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_DAYDREAM_TOUCHPAD_CLICK = ((UINT32_C( 0x0040 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_DAYDREAM_BAR_CLICK = ((UINT32_C( 0x0041 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_DAYDREAM_CIRCLE_CLICK = ((UINT32_C( 0x0042 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_DAYDREAM_VOLUP_CLICK = ((UINT32_C( 0x0043 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_DAYDREAM_VOLDN_CLICK = ((UINT32_C( 0x0044 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_DAYDREAM_TOUCHPAD = ((UINT32_C( 0x0045 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) ,
  XRT_INPUT_DAYDREAM_POSE = ((UINT32_C( 0x0046 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_DAYDREAM_TOUCHPAD_TOUCH = ((UINT32_C( 0x0047 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_INDEX_SYSTEM_CLICK = ((UINT32_C( 0x0050 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_INDEX_SYSTEM_TOUCH = ((UINT32_C( 0x0051 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_INDEX_A_CLICK = ((UINT32_C( 0x0052 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_INDEX_A_TOUCH = ((UINT32_C( 0x0053 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_INDEX_B_CLICK = ((UINT32_C( 0x0054 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_INDEX_B_TOUCH = ((UINT32_C( 0x0055 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_INDEX_SQUEEZE_VALUE = ((UINT32_C( 0x0056 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_INDEX_SQUEEZE_FORCE = ((UINT32_C( 0x0057 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_INDEX_TRIGGER_CLICK = ((UINT32_C( 0x0058 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_INDEX_TRIGGER_VALUE = ((UINT32_C( 0x0059 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) ,
  XRT_INPUT_INDEX_TRIGGER_TOUCH = ((UINT32_C( 0x005A ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_INDEX_THUMBSTICK = ((UINT32_C( 0x005B ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) , XRT_INPUT_INDEX_THUMBSTICK_CLICK = ((UINT32_C( 0x005D ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_INDEX_THUMBSTICK_TOUCH = ((UINT32_C( 0x005E ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_INDEX_TRACKPAD = ((UINT32_C( 0x005F ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) , XRT_INPUT_INDEX_TRACKPAD_FORCE = ((UINT32_C( 0x0061 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_INDEX_TRACKPAD_TOUCH = ((UINT32_C( 0x0062 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_INDEX_GRIP_POSE = ((UINT32_C( 0x0063 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) ,
  XRT_INPUT_INDEX_AIM_POSE = ((UINT32_C( 0x0064 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_VIVE_SYSTEM_CLICK = ((UINT32_C( 0x0070 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVE_SQUEEZE_CLICK = ((UINT32_C( 0x0071 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVE_MENU_CLICK = ((UINT32_C( 0x0072 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_VIVE_TRIGGER_CLICK = ((UINT32_C( 0x0073 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVE_TRIGGER_VALUE = ((UINT32_C( 0x0074 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_VIVE_TRACKPAD = ((UINT32_C( 0x0075 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) , XRT_INPUT_VIVE_TRACKPAD_CLICK = ((UINT32_C( 0x0076 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_VIVE_TRACKPAD_TOUCH = ((UINT32_C( 0x0077 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVE_GRIP_POSE = ((UINT32_C( 0x0078 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_VIVE_AIM_POSE = ((UINT32_C( 0x0079 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_VIVEPRO_SYSTEM_CLICK = ((UINT32_C( 0x0080 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_VIVEPRO_VOLUP_CLICK = ((UINT32_C( 0x0081 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVEPRO_VOLDN_CLICK = ((UINT32_C( 0x0082 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVEPRO_MUTE_MIC_CLICK = ((UINT32_C( 0x0083 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_WMR_MENU_CLICK = ((UINT32_C( 0x0090 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_WMR_SQUEEZE_CLICK = ((UINT32_C( 0x0091 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_WMR_TRIGGER_VALUE = ((UINT32_C( 0x0092 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_WMR_THUMBSTICK_CLICK = ((UINT32_C( 0x0093 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_WMR_THUMBSTICK = ((UINT32_C( 0x0094 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) ,
  XRT_INPUT_WMR_TRACKPAD_CLICK = ((UINT32_C( 0x0095 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_WMR_TRACKPAD_TOUCH = ((UINT32_C( 0x0096 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_WMR_TRACKPAD = ((UINT32_C( 0x0097 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) , XRT_INPUT_WMR_GRIP_POSE = ((UINT32_C( 0x0098 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) ,
  XRT_INPUT_WMR_AIM_POSE = ((UINT32_C( 0x0099 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_WMR_HOME_CLICK = ((UINT32_C( 0x009A ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_MENU_CLICK = ((UINT32_C( 0x00A0 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_VIEW_CLICK = ((UINT32_C( 0x00A1 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_XBOX_A_CLICK = ((UINT32_C( 0x00A2 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_B_CLICK = ((UINT32_C( 0x00A3 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_X_CLICK = ((UINT32_C( 0x00A4 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_Y_CLICK = ((UINT32_C( 0x00A5 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_XBOX_DPAD_DOWN_CLICK = ((UINT32_C( 0x00A6 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_DPAD_RIGHT_CLICK = ((UINT32_C( 0x00A7 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_DPAD_UP_CLICK = ((UINT32_C( 0x00A8 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_DPAD_LEFT_CLICK = ((UINT32_C( 0x00A9 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_XBOX_SHOULDER_LEFT_CLICK = ((UINT32_C( 0x00AA ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_SHOULDER_RIGHT_CLICK = ((UINT32_C( 0x00AB ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_THUMBSTICK_LEFT_CLICK = ((UINT32_C( 0x00AC ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_THUMBSTICK_LEFT = ((UINT32_C( 0x00AD ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) ,
  XRT_INPUT_XBOX_THUMBSTICK_RIGHT_CLICK = ((UINT32_C( 0x00AE ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_XBOX_THUMBSTICK_RIGHT = ((UINT32_C( 0x00AF ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) , XRT_INPUT_XBOX_LEFT_TRIGGER_VALUE = ((UINT32_C( 0x00B0 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_XBOX_RIGHT_TRIGGER_VALUE = ((UINT32_C( 0x00B1 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) ,
  XRT_INPUT_GO_SYSTEM_CLICK = ((UINT32_C( 0x00B0 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_GO_TRIGGER_CLICK = ((UINT32_C( 0x00B1 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_GO_BACK_CLICK = ((UINT32_C( 0x00B2 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_GO_TRACKPAD_CLICK = ((UINT32_C( 0x00B3 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_GO_TRACKPAD_TOUCH = ((UINT32_C( 0x00B4 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_GO_TRACKPAD = ((UINT32_C( 0x00B5 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) , XRT_INPUT_GO_GRIP_POSE = ((UINT32_C( 0x00B6 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_GO_AIM_POSE = ((UINT32_C( 0x00B7 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) ,
  XRT_INPUT_TOUCH_X_CLICK = ((UINT32_C( 0x00C0 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_TOUCH_X_TOUCH = ((UINT32_C( 0x00C1 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_TOUCH_Y_CLICK = ((UINT32_C( 0x00C2 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_TOUCH_Y_TOUCH = ((UINT32_C( 0x00C3 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_TOUCH_MENU_CLICK = ((UINT32_C( 0x00C4 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_TOUCH_A_CLICK = ((UINT32_C( 0x00C5 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_TOUCH_A_TOUCH = ((UINT32_C( 0x00C6 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_TOUCH_B_CLICK = ((UINT32_C( 0x00C7 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_TOUCH_B_TOUCH = ((UINT32_C( 0x00C8 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_TOUCH_SYSTEM_CLICK = ((UINT32_C( 0x00C9 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_TOUCH_SQUEEZE_VALUE = ((UINT32_C( 0x00CA ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_TOUCH_TRIGGER_TOUCH = ((UINT32_C( 0x00CB ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_TOUCH_TRIGGER_VALUE = ((UINT32_C( 0x00CC ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_TOUCH_THUMBSTICK_CLICK = ((UINT32_C( 0x00CD ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_TOUCH_THUMBSTICK_TOUCH = ((UINT32_C( 0x00CE ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_TOUCH_THUMBSTICK = ((UINT32_C( 0x00CF ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) ,
  XRT_INPUT_TOUCH_THUMBREST_TOUCH = ((UINT32_C( 0x00D0 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_TOUCH_GRIP_POSE = ((UINT32_C( 0x00D1 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_TOUCH_AIM_POSE = ((UINT32_C( 0x00D2 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_HAND_SELECT_VALUE = ((UINT32_C( 0x00E0 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) ,
  XRT_INPUT_HAND_SQUEEZE_VALUE = ((UINT32_C( 0x00E1 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_HAND_GRIP_POSE = ((UINT32_C( 0x00E2 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_HAND_AIM_POSE = ((UINT32_C( 0x00E3 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_G2_CONTROLLER_X_CLICK = ((UINT32_C( 0x00F0 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_G2_CONTROLLER_Y_CLICK = ((UINT32_C( 0x00F1 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_G2_CONTROLLER_A_CLICK = ((UINT32_C( 0x00F2 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_G2_CONTROLLER_B_CLICK = ((UINT32_C( 0x00F3 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_G2_CONTROLLER_MENU_CLICK = ((UINT32_C( 0x00F4 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_G2_CONTROLLER_SQUEEZE_VALUE = ((UINT32_C( 0x00F5 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_G2_CONTROLLER_TRIGGER_VALUE = ((UINT32_C( 0x00F6 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_G2_CONTROLLER_THUMBSTICK_CLICK = ((UINT32_C( 0x00F7 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_G2_CONTROLLER_THUMBSTICK = ((UINT32_C( 0x00F8 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) ,
  XRT_INPUT_G2_CONTROLLER_GRIP_POSE = ((UINT32_C( 0x00F9 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_G2_CONTROLLER_AIM_POSE = ((UINT32_C( 0x00FA ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_G2_CONTROLLER_HOME_CLICK = ((UINT32_C( 0x00FB ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_G2_CONTROLLER_SQUEEZE_CLICK = ((UINT32_C( 0x00FC ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_ODYSSEY_CONTROLLER_MENU_CLICK = ((UINT32_C( 0x0100 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_ODYSSEY_CONTROLLER_SQUEEZE_CLICK = ((UINT32_C( 0x0101 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_ODYSSEY_CONTROLLER_TRIGGER_VALUE = ((UINT32_C( 0x0102 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_ODYSSEY_CONTROLLER_THUMBSTICK_CLICK = ((UINT32_C( 0x0103 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_ODYSSEY_CONTROLLER_THUMBSTICK = ((UINT32_C( 0x0104 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) , XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_CLICK = ((UINT32_C( 0x0105 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_TOUCH = ((UINT32_C( 0x0106 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD = ((UINT32_C( 0x0107 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) ,
  XRT_INPUT_ODYSSEY_CONTROLLER_GRIP_POSE = ((UINT32_C( 0x0108 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_ODYSSEY_CONTROLLER_AIM_POSE = ((UINT32_C( 0x0109 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_ODYSSEY_CONTROLLER_HOME_CLICK = ((UINT32_C( 0x010A ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_ML2_CONTROLLER_MENU_CLICK = ((UINT32_C( 0x0200 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_ML2_CONTROLLER_SELECT_CLICK = ((UINT32_C( 0x0201 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_ML2_CONTROLLER_TRIGGER_CLICK = ((UINT32_C( 0x0202 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_ML2_CONTROLLER_TRIGGER_VALUE = ((UINT32_C( 0x0203 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_ML2_CONTROLLER_TRACKPAD_CLICK = ((UINT32_C( 0x0204 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_ML2_CONTROLLER_TRACKPAD_TOUCH = ((UINT32_C( 0x0205 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_ML2_CONTROLLER_TRACKPAD_FORCE = ((UINT32_C( 0x0206 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_ML2_CONTROLLER_TRACKPAD = ((UINT32_C( 0x0207 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) , XRT_INPUT_ML2_CONTROLLER_GRIP_POSE = ((UINT32_C( 0x0208 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) ,
  XRT_INPUT_ML2_CONTROLLER_AIM_POSE = ((UINT32_C( 0x0209 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_ML2_CONTROLLER_SHOULDER_CLICK = ((UINT32_C( 0x020A ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVE_TRACKER_SYSTEM_CLICK = ((UINT32_C( 0x0210 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVE_TRACKER_MENU_CLICK = ((UINT32_C( 0x0211 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_VIVE_TRACKER_TRIGGER_CLICK = ((UINT32_C( 0x0212 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVE_TRACKER_SQUEEZE_CLICK = ((UINT32_C( 0x0213 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVE_TRACKER_TRIGGER_VALUE = ((UINT32_C( 0x0214 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_VIVE_TRACKER_TRACKPAD = ((UINT32_C( 0x0215 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) ,
  XRT_INPUT_VIVE_TRACKER_TRACKPAD_CLICK = ((UINT32_C( 0x0216 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVE_TRACKER_TRACKPAD_TOUCH = ((UINT32_C( 0x0217 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_VIVE_TRACKER_GRIP_POSE = ((UINT32_C( 0x0218 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_PSSENSE_PS_CLICK = ((UINT32_C( 0x0300 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_PSSENSE_SHARE_CLICK = ((UINT32_C( 0x0301 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_OPTIONS_CLICK = ((UINT32_C( 0x0302 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_SQUARE_CLICK = ((UINT32_C( 0x0303 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_SQUARE_TOUCH = ((UINT32_C( 0x0304 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_PSSENSE_TRIANGLE_CLICK = ((UINT32_C( 0x0305 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_TRIANGLE_TOUCH = ((UINT32_C( 0x0306 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_CROSS_CLICK = ((UINT32_C( 0x0307 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_CROSS_TOUCH = ((UINT32_C( 0x0308 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_PSSENSE_CIRCLE_CLICK = ((UINT32_C( 0x0309 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_CIRCLE_TOUCH = ((UINT32_C( 0x030a ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_SQUEEZE_CLICK = ((UINT32_C( 0x030b ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_SQUEEZE_TOUCH = ((UINT32_C( 0x030c ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_PSSENSE_SQUEEZE_PROXIMITY = ((UINT32_C( 0x030d ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_PSSENSE_TRIGGER_CLICK = ((UINT32_C( 0x030e ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_TRIGGER_TOUCH = ((UINT32_C( 0x030f ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_TRIGGER_VALUE = ((UINT32_C( 0x0310 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) ,
  XRT_INPUT_PSSENSE_TRIGGER_PROXIMITY = ((UINT32_C( 0x0311 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_PSSENSE_THUMBSTICK = ((UINT32_C( 0x0312 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) , XRT_INPUT_PSSENSE_THUMBSTICK_CLICK = ((UINT32_C( 0x0313 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_PSSENSE_THUMBSTICK_TOUCH = ((UINT32_C( 0x0314 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_PSSENSE_GRIP_POSE = ((UINT32_C( 0x0315 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_PSSENSE_AIM_POSE = ((UINT32_C( 0x0316 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_HAND_PINCH_POSE = ((UINT32_C( 0x0401 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_HAND_POKE_POSE = ((UINT32_C( 0x0402 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) ,
  XRT_INPUT_HAND_PINCH_VALUE = ((UINT32_C( 0x0403 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_HAND_AIM_ACTIVATE_VALUE = ((UINT32_C( 0x0404 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_HAND_GRASP_VALUE = ((UINT32_C( 0x0405 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_HAND_PINCH_READY = ((UINT32_C( 0x0406 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_HAND_AIM_ACTIVATE_READY = ((UINT32_C( 0x0407 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_HAND_GRASP_READY = ((UINT32_C( 0x0408 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_OPPO_MR_X_CLICK = ((UINT32_C( 0x0500 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_OPPO_MR_X_TOUCH = ((UINT32_C( 0x0501 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_OPPO_MR_Y_CLICK = ((UINT32_C( 0x0502 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_OPPO_MR_Y_TOUCH = ((UINT32_C( 0x0503 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_OPPO_MR_MENU_CLICK = ((UINT32_C( 0x0504 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_OPPO_MR_HEART_RATE_VALUE = ((UINT32_C( 0x0505 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) ,
  XRT_INPUT_OPPO_MR_A_CLICK = ((UINT32_C( 0x0506 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_OPPO_MR_A_TOUCH = ((UINT32_C( 0x0507 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_OPPO_MR_B_CLICK = ((UINT32_C( 0x0508 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_OPPO_MR_B_TOUCH = ((UINT32_C( 0x0509 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_OPPO_MR_HOME_CLICK = ((UINT32_C( 0x050A ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_OPPO_MR_SQUEEZE_VALUE = ((UINT32_C( 0x050B ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) , XRT_INPUT_OPPO_MR_TRIGGER_TOUCH = ((UINT32_C( 0x050C ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_OPPO_MR_TRIGGER_VALUE = ((UINT32_C( 0x050D ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC1_ZERO_TO_ONE ) ,
  XRT_INPUT_OPPO_MR_GRIP_POSE = ((UINT32_C( 0x050E ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_OPPO_MR_AIM_POSE = ((UINT32_C( 0x050F ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_POSE ) , XRT_INPUT_OPPO_MR_THUMBSTICK_CLICK = ((UINT32_C( 0x0510 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) , XRT_INPUT_OPPO_MR_THUMBSTICK_TOUCH = ((UINT32_C( 0x0511 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_BOOLEAN ) ,
  XRT_INPUT_OPPO_MR_THUMBSTICK = ((UINT32_C( 0x0512 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_VEC2_MINUS_ONE_TO_ONE ) , XRT_INPUT_GENERIC_FACE_TRACKING = ((UINT32_C( 0x0600 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_FACE_TRACKING ) , XRT_INPUT_HTC_EYE_FACE_TRACKING = ((UINT32_C( 0x0601 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_FACE_TRACKING ) , XRT_INPUT_HTC_LIP_FACE_TRACKING = ((UINT32_C( 0x0602 ) << 8u ) | (uint32_t)XRT_INPUT_TYPE_FACE_TRACKING )
}
 Every internal input source known to monado with a baked in type. More...
 
enum  xrt_hand_joint {
  XRT_HAND_JOINT_PALM = 0 , XRT_HAND_JOINT_WRIST = 1 , XRT_HAND_JOINT_THUMB_METACARPAL = 2 , XRT_HAND_JOINT_THUMB_PROXIMAL = 3 ,
  XRT_HAND_JOINT_THUMB_DISTAL = 4 , XRT_HAND_JOINT_THUMB_TIP = 5 , XRT_HAND_JOINT_INDEX_METACARPAL = 6 , XRT_HAND_JOINT_INDEX_PROXIMAL = 7 ,
  XRT_HAND_JOINT_INDEX_INTERMEDIATE = 8 , XRT_HAND_JOINT_INDEX_DISTAL = 9 , XRT_HAND_JOINT_INDEX_TIP = 10 , XRT_HAND_JOINT_MIDDLE_METACARPAL = 11 ,
  XRT_HAND_JOINT_MIDDLE_PROXIMAL = 12 , XRT_HAND_JOINT_MIDDLE_INTERMEDIATE = 13 , XRT_HAND_JOINT_MIDDLE_DISTAL = 14 , XRT_HAND_JOINT_MIDDLE_TIP = 15 ,
  XRT_HAND_JOINT_RING_METACARPAL = 16 , XRT_HAND_JOINT_RING_PROXIMAL = 17 , XRT_HAND_JOINT_RING_INTERMEDIATE = 18 , XRT_HAND_JOINT_RING_DISTAL = 19 ,
  XRT_HAND_JOINT_RING_TIP = 20 , XRT_HAND_JOINT_LITTLE_METACARPAL = 21 , XRT_HAND_JOINT_LITTLE_PROXIMAL = 22 , XRT_HAND_JOINT_LITTLE_INTERMEDIATE = 23 ,
  XRT_HAND_JOINT_LITTLE_DISTAL = 24 , XRT_HAND_JOINT_LITTLE_TIP = 25 , XRT_HAND_JOINT_MAX_ENUM = 0x7FFFFFFF
}
 Number of joints in a hand. More...
 
enum  xrt_hand { XRT_HAND_LEFT = 0 , XRT_HAND_RIGHT = 1 }
 Enumeration for left and right hand. More...
 
enum  xrt_finger {
  XRT_FINGER_LITTLE = 0 , XRT_FINGER_RING , XRT_FINGER_MIDDLE , XRT_FINGER_INDEX ,
  XRT_FINGER_THUMB
}
 Names for fingers on a hand. More...
 
enum  xrt_output_type { XRT_OUTPUT_TYPE_VIBRATION = 0x00 , XRT_OUTPUT_TYPE_FORCE_FEEDBACK = 0x01 }
 Base type of this output. More...
 
enum  xrt_eye_expression_htc {
  XRT_EYE_EXPRESSION_LEFT_BLINK_HTC = 0 , XRT_EYE_EXPRESSION_LEFT_WIDE_HTC = 1 , XRT_EYE_EXPRESSION_RIGHT_BLINK_HTC = 2 , XRT_EYE_EXPRESSION_RIGHT_WIDE_HTC = 3 ,
  XRT_EYE_EXPRESSION_LEFT_SQUEEZE_HTC = 4 , XRT_EYE_EXPRESSION_RIGHT_SQUEEZE_HTC = 5 , XRT_EYE_EXPRESSION_LEFT_DOWN_HTC = 6 , XRT_EYE_EXPRESSION_RIGHT_DOWN_HTC = 7 ,
  XRT_EYE_EXPRESSION_LEFT_OUT_HTC = 8 , XRT_EYE_EXPRESSION_RIGHT_IN_HTC = 9 , XRT_EYE_EXPRESSION_LEFT_IN_HTC = 10 , XRT_EYE_EXPRESSION_RIGHT_OUT_HTC = 11 ,
  XRT_EYE_EXPRESSION_LEFT_UP_HTC = 12 , XRT_EYE_EXPRESSION_RIGHT_UP_HTC = 13
}
 
enum  xrt_lip_expression_htc {
  XRT_LIP_EXPRESSION_JAW_RIGHT_HTC = 0 , XRT_LIP_EXPRESSION_JAW_LEFT_HTC = 1 , XRT_LIP_EXPRESSION_JAW_FORWARD_HTC = 2 , XRT_LIP_EXPRESSION_JAW_OPEN_HTC = 3 ,
  XRT_LIP_EXPRESSION_MOUTH_APE_SHAPE_HTC = 4 , XRT_LIP_EXPRESSION_MOUTH_UPPER_RIGHT_HTC = 5 , XRT_LIP_EXPRESSION_MOUTH_UPPER_LEFT_HTC = 6 , XRT_LIP_EXPRESSION_MOUTH_LOWER_RIGHT_HTC = 7 ,
  XRT_LIP_EXPRESSION_MOUTH_LOWER_LEFT_HTC = 8 , XRT_LIP_EXPRESSION_MOUTH_UPPER_OVERTURN_HTC = 9 , XRT_LIP_EXPRESSION_MOUTH_LOWER_OVERTURN_HTC = 10 , XRT_LIP_EXPRESSION_MOUTH_POUT_HTC = 11 ,
  XRT_LIP_EXPRESSION_MOUTH_SMILE_RIGHT_HTC = 12 , XRT_LIP_EXPRESSION_MOUTH_SMILE_LEFT_HTC = 13 , XRT_LIP_EXPRESSION_MOUTH_SAD_RIGHT_HTC = 14 , XRT_LIP_EXPRESSION_MOUTH_SAD_LEFT_HTC = 15 ,
  XRT_LIP_EXPRESSION_CHEEK_PUFF_RIGHT_HTC = 16 , XRT_LIP_EXPRESSION_CHEEK_PUFF_LEFT_HTC = 17 , XRT_LIP_EXPRESSION_CHEEK_SUCK_HTC = 18 , XRT_LIP_EXPRESSION_MOUTH_UPPER_UPRIGHT_HTC = 19 ,
  XRT_LIP_EXPRESSION_MOUTH_UPPER_UPLEFT_HTC = 20 , XRT_LIP_EXPRESSION_MOUTH_LOWER_DOWNRIGHT_HTC = 21 , XRT_LIP_EXPRESSION_MOUTH_LOWER_DOWNLEFT_HTC = 22 , XRT_LIP_EXPRESSION_MOUTH_UPPER_INSIDE_HTC = 23 ,
  XRT_LIP_EXPRESSION_MOUTH_LOWER_INSIDE_HTC = 24 , XRT_LIP_EXPRESSION_MOUTH_LOWER_OVERLAY_HTC = 25 , XRT_LIP_EXPRESSION_TONGUE_LONGSTEP1_HTC = 26 , XRT_LIP_EXPRESSION_TONGUE_LEFT_HTC = 27 ,
  XRT_LIP_EXPRESSION_TONGUE_RIGHT_HTC = 28 , XRT_LIP_EXPRESSION_TONGUE_UP_HTC = 29 , XRT_LIP_EXPRESSION_TONGUE_DOWN_HTC = 30 , XRT_LIP_EXPRESSION_TONGUE_ROLL_HTC = 31 ,
  XRT_LIP_EXPRESSION_TONGUE_LONGSTEP2_HTC = 32 , XRT_LIP_EXPRESSION_TONGUE_UPRIGHT_MORPH_HTC = 33 , XRT_LIP_EXPRESSION_TONGUE_UPLEFT_MORPH_HTC = 34 , XRT_LIP_EXPRESSION_TONGUE_DOWNRIGHT_MORPH_HTC = 35 ,
  XRT_LIP_EXPRESSION_TONGUE_DOWNLEFT_MORPH_HTC = 36
}
 
enum  xrt_facial_tracking_type_htc { XRT_FACIAL_TRACKING_TYPE_EYE_DEFAULT_HTC = 1 , XRT_FACIAL_TRACKING_TYPE_LIP_DEFAULT_HTC = 2 }
 
enum  xrt_output_name {
  XRT_OUTPUT_NAME_SIMPLE_VIBRATION = ((UINT32_C( 0x0010 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_PSMV_RUMBLE_VIBRATION = ((UINT32_C( 0x0020 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_INDEX_HAPTIC = ((UINT32_C( 0x0030 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_VIVE_HAPTIC = ((UINT32_C( 0x0040 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) ,
  XRT_OUTPUT_NAME_WMR_HAPTIC = ((UINT32_C( 0x0050 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_XBOX_HAPTIC_LEFT = ((UINT32_C( 0x0060 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_XBOX_HAPTIC_RIGHT = ((UINT32_C( 0x0061 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_XBOX_HAPTIC_LEFT_TRIGGER = ((UINT32_C( 0x0062 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) ,
  XRT_OUTPUT_NAME_XBOX_HAPTIC_RIGHT_TRIGGER = ((UINT32_C( 0x0063 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_TOUCH_HAPTIC = ((UINT32_C( 0x0070 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_FORCE_FEEDBACK_LEFT = ((UINT32_C( 0x0080 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_FORCE_FEEDBACK ) , XRT_OUTPUT_NAME_FORCE_FEEDBACK_RIGHT = ((UINT32_C( 0x0081 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_FORCE_FEEDBACK ) ,
  XRT_OUTPUT_NAME_G2_CONTROLLER_HAPTIC = ((UINT32_C( 0x0090 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_ODYSSEY_CONTROLLER_HAPTIC = ((UINT32_C( 0x00A0 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_ML2_CONTROLLER_VIBRATION = ((UINT32_C( 0x00B0 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_PSSENSE_VIBRATION = ((UINT32_C( 0x00C0 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) ,
  XRT_OUTPUT_NAME_PSSENSE_TRIGGER_FEEDBACK = ((UINT32_C( 0x00C1 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_FORCE_FEEDBACK ) , XRT_OUTPUT_NAME_VIVE_TRACKER_HAPTIC = ((UINT32_C( 0x00D0 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION ) , XRT_OUTPUT_NAME_OPPO_MR_HAPTIC = ((UINT32_C( 0x00E0 ) << 8u ) | (uint32_t)XRT_OUTPUT_TYPE_VIBRATION )
}
 Name of a output with a baked in type. More...
 
enum  xrt_force_feedback_location {
  XRT_FORCE_FEEDBACK_LOCATION_LEFT_THUMB , XRT_FORCE_FEEDBACK_LOCATION_LEFT_INDEX , XRT_FORCE_FEEDBACK_LOCATION_LEFT_MIDDLE , XRT_FORCE_FEEDBACK_LOCATION_LEFT_RING ,
  XRT_FORCE_FEEDBACK_LOCATION_LEFT_PINKY
}
 
enum  xrt_form_factor { XRT_FORM_FACTOR_HMD , XRT_FORM_FACTOR_HANDHELD }
 What form factor is this device, mostly maps onto OpenXR's XrFormFactor. More...
 
enum  xrt_perf_domain { XRT_PERF_DOMAIN_CPU = 1 , XRT_PERF_DOMAIN_GPU = 2 }
 Domain type. More...
 
enum  xrt_perf_sub_domain { XRT_PERF_SUB_DOMAIN_COMPOSITING = 1 , XRT_PERF_SUB_DOMAIN_RENDERING = 2 , XRT_PERF_SUB_DOMAIN_THERMAL = 3 }
 
enum  xrt_perf_set_level { XRT_PERF_SET_LEVEL_POWER_SAVINGS = 0 , XRT_PERF_SET_LEVEL_SUSTAINED_LOW = 25 , XRT_PERF_SET_LEVEL_SUSTAINED_HIGH = 50 , XRT_PERF_SET_LEVEL_BOOST = 75 }
 Performance level. More...
 
enum  xrt_perf_notify_level { XRT_PERF_NOTIFY_LEVEL_NORMAL = 0 , XRT_PERF_NOTIFY_LEVEL_WARNING = 25 , XRT_PERF_NOTIFY_LEVEL_IMPAIRED = 75 }
 Performance level. More...
 
enum  xrt_visibility_mask_type { XRT_VISIBILITY_MASK_TYPE_HIDDEN_TRIANGLE_MESH = 1 , XRT_VISIBILITY_MASK_TYPE_VISIBLE_TRIANGLE_MESH = 2 , XRT_VISIBILITY_MASK_TYPE_LINE_LOOP = 3 }
 Visibility mask, mirror of XrVisibilityMaskKHR. More...
 

Detailed Description

Enumeration Type Documentation

◆ xrt_device_name

A enum that is used to name devices so that the state trackers can reason about the devices easier.

Enumerator
XRT_DEVICE_EXT_HAND_INTERACTION 

XR_EXT_hand_interaction.

XRT_DEVICE_HTC_FACE_TRACKING 

XR_HTC_facial_tracking.

◆ xrt_distortion_model

Which distortion model does the device expose, used both as a bitfield and value.

◆ xrt_format

enum xrt_format

Common formats, use u_format_* functions to reason about them.

◆ xrt_passthrough_create_flags

Special flags for creating passthrough.

Enumerator
XRT_PASSTHROUGH_IS_RUNNING_AT_CREATION 

Start the passthrough on creation.

XRT_PASSTHROUGH_LAYER_DEPTH 

Our compositor just ignores this bit.

◆ xrt_passthrough_purpose_flags

Specify the kind of passthrough behavior the layer provides.

Enumerator
XRT_PASSTHROUGH_LAYER_PURPOSE_RECONSTRUCTION 

Fullscreen layer.

XRT_PASSTHROUGH_LAYER_PURPOSE_PROJECTED 

Projected layer.

XRT_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_HANDS 

Provided by XR_FB_passthrough_keyboard_hands.

XRT_PASSTHROUGH_LAYER_PURPOSE_TRACKED_KEYBOARD_MASKED_HANDS 

Provided by XR_FB_passthrough_keyboard_hands.

◆ xrt_passthrough_state

Specify additional state change behavior.

Enumerator
XRT_PASSTHROUGH_STATE_CHANGED_REINIT_REQUIRED_BIT 

Passthrough system requires reinitialization.

XRT_PASSTHROUGH_STATE_CHANGED_NON_RECOVERABLE_ERROR_BIT 

Non-recoverable error has occurred.

XRT_PASSTHROUGH_STATE_CHANGED_RECOVERABLE_ERROR_BIT 

A recoverable error has occurred.

XRT_PASSTHROUGH_STATE_CHANGED_RESTORED_ERROR_BIT 

The runtime has recovered from a previous error and is functioning normally.

◆ xrt_perf_domain

Domain type.

Use for performance level setting Which hardware should be boost/decrease

◆ xrt_perf_notify_level

Performance level.

◆ xrt_perf_set_level

Performance level.