diff options
author | Bastiaan Olij <mux213@gmail.com> | 2023-06-08 12:05:20 +1000 |
---|---|---|
committer | Fredia Huya-Kouadio <fhuya@meta.com> | 2023-10-02 14:02:23 -0700 |
commit | 9e56e7a3ceabc5c65e9ae749be5981eb61b49370 (patch) | |
tree | cdd21478ae448ca1f30b5924041d7e493d9f05f8 /modules/openxr/action_map/openxr_action_map.cpp | |
parent | a2f90d565ad29edcb3bdab77bc7df51cdde8514a (diff) | |
download | redot-engine-9e56e7a3ceabc5c65e9ae749be5981eb61b49370.tar.gz |
Add support for the OpenXR Eye gaze interaction extension
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
Diffstat (limited to 'modules/openxr/action_map/openxr_action_map.cpp')
-rw-r--r-- | modules/openxr/action_map/openxr_action_map.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/modules/openxr/action_map/openxr_action_map.cpp b/modules/openxr/action_map/openxr_action_map.cpp index 6d79e33de8..72866f1cf7 100644 --- a/modules/openxr/action_map/openxr_action_map.cpp +++ b/modules/openxr/action_map/openxr_action_map.cpp @@ -206,7 +206,8 @@ void OpenXRActionMap::create_default_action_sets() { "/user/vive_tracker_htcx/role/waist," "/user/vive_tracker_htcx/role/chest," "/user/vive_tracker_htcx/role/camera," - "/user/vive_tracker_htcx/role/keyboard"); + "/user/vive_tracker_htcx/role/keyboard," + "/user/eyes_ext"); Ref<OpenXRAction> aim_pose = action_set->add_new_action("aim_pose", "Aim pose", OpenXRAction::OPENXR_ACTION_POSE, "/user/hand/left,/user/hand/right"); Ref<OpenXRAction> grip_pose = action_set->add_new_action("grip_pose", "Grip pose", OpenXRAction::OPENXR_ACTION_POSE, "/user/hand/left,/user/hand/right"); Ref<OpenXRAction> palm_pose = action_set->add_new_action("palm_pose", "Palm pose", OpenXRAction::OPENXR_ACTION_POSE, "/user/hand/left,/user/hand/right"); @@ -503,6 +504,11 @@ void OpenXRActionMap::create_default_action_sets() { "/user/vive_tracker_htcx/role/camera/output/haptic," "/user/vive_tracker_htcx/role/keyboard/output/haptic"); add_interaction_profile(profile); + + // Create our eye gaze interaction profile + profile = OpenXRInteractionProfile::new_profile("/interaction_profiles/ext/eye_gaze_interaction"); + profile->add_new_binding(default_pose, "/user/eyes_ext/input/gaze_ext/pose"); + add_interaction_profile(profile); } void OpenXRActionMap::create_editor_action_sets() { |