Monado OpenXR Runtime
Loading...
Searching...
No Matches
oxr_binding_point Struct Reference

Runtime description of one bindable path on an interaction profile. More...

#include <oxr/actions/oxr_binding_point.h>

Collaboration diagram for oxr_binding_point:

Data Fields

struct oxr_binding_profile * profile
 Owning interaction profile.
 
const struct oxr_binding_point_template * templ
 Immutable generated source template.
 
const struct oxr_binding_subaction * subaction
 Subaction path this binding point belongs to.
 
XrPath path
 Runtime XrPath identity for this binding point.
 
XrPath source_path
 Unique source path returned to applications for this binding point.
 
const char * localized_name
 User-facing localized name for this binding point.
 
XrPath priority_group
 Runtime XrPath for the priority group used for action priority suppression.
 
enum oxr_binding_point_kind kind
 Controls which fields are valid.
 
enum oxr_binding_value_transform value_transform
 Transform needed to interpret this binding point's raw input value.
 
union { 
 
   struct oxr_binding_point_input   input 
 
   struct oxr_binding_point_output   output 
 
   struct oxr_binding_point_upgrade   upgrade 
 
   struct oxr_binding_point_dpad   dpad 
 
};  
 Kind-specific payload.
 

Detailed Description

Runtime description of one bindable path on an interaction profile.

Binding points are cloned from generated templates into the oxr_binding_registry and are never mutated after that. All generated points are present in the registry; API validation decides whether an app may suggest a particular path. The common fields identify the point and the union stores data valid for kind.

This is the object an oxr_suggested_binding points to. The suggested binding is what the OpenXR client submits (via xrSuggestInteractionProfileBindings); it selects a path and stores a non-owning pointer to the matching registry binding point.

Field Documentation

◆ [union]

union { ... } oxr_binding_point

Kind-specific payload.

◆ kind

enum oxr_binding_point_kind oxr_binding_point::kind

Controls which fields are valid.

◆ localized_name

const char* oxr_binding_point::localized_name

User-facing localized name for this binding point.

Referenced by bindings.Profile::__init__(), and oxr_session::oxr_action_get_input_source_localized_name().

◆ path

XrPath oxr_binding_point::path

Runtime XrPath identity for this binding point.

◆ priority_group

XrPath oxr_binding_point::priority_group

Runtime XrPath for the priority group used for action priority suppression.

◆ profile

struct oxr_binding_profile* oxr_binding_point::profile

◆ source_path

XrPath oxr_binding_point::source_path

Unique source path returned to applications for this binding point.

◆ subaction

const struct oxr_binding_subaction* oxr_binding_point::subaction

Subaction path this binding point belongs to.

Referenced by oxr_session::oxr_action_get_input_source_localized_name().

◆ templ

const struct oxr_binding_point_template* oxr_binding_point::templ

◆ value_transform

enum oxr_binding_value_transform oxr_binding_point::value_transform

Transform needed to interpret this binding point's raw input value.

Referenced by oxr_input_transform::oxr_input_transform_create_chain().


The documentation for this struct was generated from the following file: