The open source OpenXR runtime
0
fork

Configure Feed

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

d/wmr: Add more binding profiles to WMR controllers

- OG WMR -> Vive wand
- Odyssey -> OG WMR
- Odyssey -> Vive

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2496>

authored by

Beyley Cardellio and committed by
Marge Bot
311a1fa5 146ee8c2

+75 -2
+75 -2
src/xrt/drivers/wmr/wmr_controller_og.c
··· 68 68 {XRT_OUTPUT_NAME_SIMPLE_VIBRATION, XRT_OUTPUT_NAME_WMR_HAPTIC}, 69 69 }; 70 70 71 - static struct xrt_binding_profile binding_profiles_og[1] = { 71 + static struct xrt_binding_input_pair vive_inputs_og[10] = { 72 + {XRT_INPUT_VIVE_SYSTEM_CLICK, XRT_INPUT_WMR_HOME_CLICK}, 73 + {XRT_INPUT_VIVE_SQUEEZE_CLICK, XRT_INPUT_WMR_SQUEEZE_CLICK}, 74 + {XRT_INPUT_VIVE_MENU_CLICK, XRT_INPUT_WMR_MENU_CLICK}, 75 + {XRT_INPUT_VIVE_TRIGGER_CLICK, XRT_INPUT_WMR_TRIGGER_VALUE}, 76 + {XRT_INPUT_VIVE_TRIGGER_VALUE, XRT_INPUT_WMR_TRIGGER_VALUE}, 77 + {XRT_INPUT_VIVE_TRACKPAD, XRT_INPUT_WMR_TRACKPAD}, 78 + {XRT_INPUT_VIVE_TRACKPAD_CLICK, XRT_INPUT_WMR_TRACKPAD_CLICK}, 79 + {XRT_INPUT_VIVE_TRACKPAD_TOUCH, XRT_INPUT_WMR_TRACKPAD_TOUCH}, 80 + {XRT_INPUT_VIVE_GRIP_POSE, XRT_INPUT_WMR_GRIP_POSE}, 81 + {XRT_INPUT_VIVE_AIM_POSE, XRT_INPUT_WMR_AIM_POSE}, 82 + }; 83 + 84 + static struct xrt_binding_output_pair vive_outputs_og[1] = { 85 + {XRT_OUTPUT_NAME_VIVE_HAPTIC, XRT_OUTPUT_NAME_WMR_HAPTIC}, 86 + }; 87 + 88 + static struct xrt_binding_profile binding_profiles_og[2] = { 89 + { 90 + .name = XRT_DEVICE_VIVE_WAND, 91 + .inputs = vive_inputs_og, 92 + .input_count = ARRAY_SIZE(vive_inputs_og), 93 + .outputs = vive_outputs_og, 94 + .output_count = ARRAY_SIZE(vive_outputs_og), 95 + }, 72 96 { 73 97 .name = XRT_DEVICE_SIMPLE_CONTROLLER, 74 98 .inputs = simple_inputs_og, ··· 89 113 {XRT_OUTPUT_NAME_SIMPLE_VIBRATION, XRT_OUTPUT_NAME_ODYSSEY_CONTROLLER_HAPTIC}, 90 114 }; 91 115 92 - static struct xrt_binding_profile binding_profiles_odyssey[1] = { 116 + static struct xrt_binding_input_pair wmr_inputs_odyssey[11] = { 117 + {XRT_INPUT_WMR_MENU_CLICK, XRT_INPUT_ODYSSEY_CONTROLLER_MENU_CLICK}, 118 + {XRT_INPUT_WMR_SQUEEZE_CLICK, XRT_INPUT_ODYSSEY_CONTROLLER_SQUEEZE_CLICK}, 119 + {XRT_INPUT_WMR_TRIGGER_VALUE, XRT_INPUT_ODYSSEY_CONTROLLER_TRIGGER_VALUE}, 120 + {XRT_INPUT_WMR_THUMBSTICK_CLICK, XRT_INPUT_ODYSSEY_CONTROLLER_THUMBSTICK_CLICK}, 121 + {XRT_INPUT_WMR_THUMBSTICK, XRT_INPUT_ODYSSEY_CONTROLLER_THUMBSTICK}, 122 + {XRT_INPUT_WMR_TRACKPAD_CLICK, XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_CLICK}, 123 + {XRT_INPUT_WMR_TRACKPAD_TOUCH, XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_TOUCH}, 124 + {XRT_INPUT_WMR_TRACKPAD, XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD}, 125 + {XRT_INPUT_WMR_GRIP_POSE, XRT_INPUT_ODYSSEY_CONTROLLER_GRIP_POSE}, 126 + {XRT_INPUT_WMR_AIM_POSE, XRT_INPUT_ODYSSEY_CONTROLLER_AIM_POSE}, 127 + {XRT_INPUT_WMR_HOME_CLICK, XRT_INPUT_ODYSSEY_CONTROLLER_HOME_CLICK}, 128 + }; 129 + 130 + static struct xrt_binding_output_pair wmr_outputs_odyssey[1] = { 131 + {XRT_OUTPUT_NAME_WMR_HAPTIC, XRT_OUTPUT_NAME_ODYSSEY_CONTROLLER_HAPTIC}, 132 + }; 133 + 134 + static struct xrt_binding_input_pair vive_inputs_odyssey[10] = { 135 + {XRT_INPUT_VIVE_SYSTEM_CLICK, XRT_INPUT_ODYSSEY_CONTROLLER_HOME_CLICK}, 136 + {XRT_INPUT_VIVE_SQUEEZE_CLICK, XRT_INPUT_ODYSSEY_CONTROLLER_SQUEEZE_CLICK}, 137 + {XRT_INPUT_VIVE_MENU_CLICK, XRT_INPUT_ODYSSEY_CONTROLLER_MENU_CLICK}, 138 + {XRT_INPUT_VIVE_TRIGGER_CLICK, XRT_INPUT_ODYSSEY_CONTROLLER_TRIGGER_VALUE}, 139 + {XRT_INPUT_VIVE_TRIGGER_VALUE, XRT_INPUT_ODYSSEY_CONTROLLER_TRIGGER_VALUE}, 140 + {XRT_INPUT_VIVE_TRACKPAD, XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD}, 141 + {XRT_INPUT_VIVE_TRACKPAD_CLICK, XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_CLICK}, 142 + {XRT_INPUT_VIVE_TRACKPAD_TOUCH, XRT_INPUT_ODYSSEY_CONTROLLER_TRACKPAD_TOUCH}, 143 + {XRT_INPUT_VIVE_GRIP_POSE, XRT_INPUT_ODYSSEY_CONTROLLER_GRIP_POSE}, 144 + {XRT_INPUT_VIVE_AIM_POSE, XRT_INPUT_ODYSSEY_CONTROLLER_AIM_POSE}, 145 + }; 146 + 147 + static struct xrt_binding_output_pair vive_outputs_odyssey[1] = { 148 + {XRT_OUTPUT_NAME_VIVE_HAPTIC, XRT_OUTPUT_NAME_ODYSSEY_CONTROLLER_HAPTIC}, 149 + }; 150 + 151 + static struct xrt_binding_profile binding_profiles_odyssey[3] = { 152 + { 153 + .name = XRT_DEVICE_WMR_CONTROLLER, 154 + .inputs = wmr_inputs_odyssey, 155 + .input_count = ARRAY_SIZE(wmr_inputs_odyssey), 156 + .outputs = wmr_outputs_odyssey, 157 + .output_count = ARRAY_SIZE(wmr_outputs_odyssey), 158 + }, 159 + { 160 + .name = XRT_DEVICE_VIVE_WAND, 161 + .inputs = vive_inputs_odyssey, 162 + .input_count = ARRAY_SIZE(vive_inputs_odyssey), 163 + .outputs = vive_outputs_odyssey, 164 + .output_count = ARRAY_SIZE(vive_outputs_odyssey), 165 + }, 93 166 { 94 167 .name = XRT_DEVICE_SIMPLE_CONTROLLER, 95 168 .inputs = simple_inputs_odyssey,