@@ -261,14 +261,20 @@ void OpenXRActionMap::create_default_action_sets() {
261261 " /user/vive_tracker_htcx/role/right_ankle" );
262262
263263 // Create our interaction profiles.
264- Ref<OpenXRInteractionProfile> profile = OpenXRInteractionProfile::new_profile (" /interaction_profiles/khr/simple_controller " );
264+ Ref<OpenXRInteractionProfile> profile = OpenXRInteractionProfile::new_profile (" /interaction_profiles/khr/generic_controller " );
265265 profile->add_new_binding (default_pose, " /user/hand/left/input/aim/pose,/user/hand/right/input/aim/pose" );
266266 profile->add_new_binding (aim_pose, " /user/hand/left/input/aim/pose,/user/hand/right/input/aim/pose" );
267267 profile->add_new_binding (grip_pose, " /user/hand/left/input/grip/pose,/user/hand/right/input/grip/pose" );
268268 profile->add_new_binding (palm_pose, " /user/hand/left/input/grip_surface/pose,/user/hand/right/input/grip_surface/pose" );
269- profile->add_new_binding (menu_button, " /user/hand/left/input/menu/click,/user/hand/right/input/menu/click" );
270- profile->add_new_binding (select_button, " /user/hand/left/input/select/click,/user/hand/right/input/select/click" );
271- // generic has no support for triggers, grip, A/B buttons, nor joystick/trackpad inputs.
269+ // Generic controller has no menu or select buttons we can use.
270+ profile->add_new_binding (ax_button, " /user/hand/left/input/primary/click,/user/hand/right/input/primary/click" );
271+ profile->add_new_binding (by_button, " /user/hand/left/input/secondary/click,/user/hand/right/input/secondary/click" );
272+ profile->add_new_binding (trigger, " /user/hand/left/input/trigger/value,/user/hand/right/input/trigger/value" );
273+ profile->add_new_binding (trigger_click, " /user/hand/left/input/trigger/value,/user/hand/right/input/trigger/value" ); // OpenXR will convert float to bool.
274+ profile->add_new_binding (grip, " /user/hand/left/input/squeeze/value,/user/hand/right/input/squeeze/value" );
275+ profile->add_new_binding (grip_click, " /user/hand/left/input/squeeze/value,/user/hand/right/input/squeeze/value" ); // OpenXR will convert float to bool.
276+ profile->add_new_binding (primary, " /user/hand/left/input/thumbstick,/user/hand/right/input/thumbstick" );
277+ profile->add_new_binding (primary_click, " /user/hand/left/input/thumbstick/click,/user/hand/right/input/thumbstick/click" );
272278 profile->add_new_binding (haptic, " /user/hand/left/output/haptic,/user/hand/right/output/haptic" );
273279 add_interaction_profile (profile);
274280
0 commit comments