Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
XrProfile.h
1#pragma once
2
3#include <openxr/openxr.h>
4#include <vector>
5
16
17namespace Input
18{
30
39 {
40 const char * actionSuffix;
42 const char * hand;
43 const char * pathSuffix;
44 const char * pathSuffix2 = nullptr;
45 };
46
51 {
52 const char * profilePath;
53 const char * slug;
54 const char * topLevelUserPath;
55 std::vector<XrInputDef> inputs;
56 };
57
62 const std::vector<XrProfileDef> & getXrProfiles();
63} // namespace Input
XrInputType
OpenXR action type for an interaction-profile input component.
Definition XrProfile.h:23
@ Vector2
XR_ACTION_TYPE_VECTOR2F_INPUT.
Definition XrProfile.h:26
@ Float
XR_ACTION_TYPE_FLOAT_INPUT.
Definition XrProfile.h:25
@ Boolean
XR_ACTION_TYPE_BOOLEAN_INPUT.
Definition XrProfile.h:24
@ Haptic
XR_ACTION_TYPE_OUTPUT (haptic feedback).
Definition XrProfile.h:28
@ Pose
XR_ACTION_TYPE_POSE_INPUT.
Definition XrProfile.h:27
const std::vector< XrProfileDef > & getXrProfiles()
Returns the data-driven interaction profile registry.
One action definition for an interaction profile.
Definition XrProfile.h:39
const char * pathSuffix
Path relative to the user hand path (e.g. "/input/trigger/value"), or a full path when hand is "".
Definition XrProfile.h:43
const char * pathSuffix2
Optional second binding path (currently unused; Vector2 binds to a single 2D path).
Definition XrProfile.h:44
XrInputType type
OpenXR action type.
Definition XrProfile.h:41
const char * actionSuffix
Name suffix, e.g. "trigger_value". The full action name is <profile_slug>_<suffix>.
Definition XrProfile.h:40
const char * hand
"both", "left", "right", or "" (no user subaction, e.g. head/gamepad).
Definition XrProfile.h:42
Data-driven definition of one OpenXR interaction profile.
Definition XrProfile.h:51
const char * slug
Action-name prefix, e.g. "oculus_touch_controller".
Definition XrProfile.h:53
std::vector< XrInputDef > inputs
Component inputs bound by this profile.
Definition XrProfile.h:55
const char * profilePath
Interaction profile path, e.g. "/interaction_profiles/oculus/touch_controller".
Definition XrProfile.h:52
const char * topLevelUserPath
Top-level user path, e.g. "/user/hand/left", "/user/head" or "/user/gamepad".
Definition XrProfile.h:54