| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
OpenXR.Core10.Input
Synopsis
- getActionStateBoolean :: forall io. MonadIO io => Session -> ActionStateGetInfo -> io (Result, ActionStateBoolean)
- getActionStateFloat :: forall io. MonadIO io => Session -> ActionStateGetInfo -> io (Result, ActionStateFloat)
- getActionStateVector2f :: forall io. MonadIO io => Session -> ActionStateGetInfo -> io (Result, ActionStateVector2f)
- getActionStatePose :: forall io. MonadIO io => Session -> ActionStateGetInfo -> io (Result, ActionStatePose)
- createActionSet :: forall io. MonadIO io => Instance -> ActionSetCreateInfo -> io ActionSet
- withActionSet :: forall io r. MonadIO io => Instance -> ActionSetCreateInfo -> (io ActionSet -> (ActionSet -> io ()) -> r) -> r
- destroyActionSet :: forall io. MonadIO io => ActionSet -> io ()
- createAction :: forall io. MonadIO io => ActionSet -> ActionCreateInfo -> io Action
- withAction :: forall io r. MonadIO io => ActionSet -> ActionCreateInfo -> (io Action -> (Action -> io ()) -> r) -> r
- destroyAction :: forall io. MonadIO io => Action -> io ()
- suggestInteractionProfileBindings :: forall a io. (Extendss InteractionProfileSuggestedBinding a, PokeChain a, MonadIO io) => Instance -> ("suggestedBindings" ::: InteractionProfileSuggestedBinding a) -> io ()
- attachSessionActionSets :: forall io. MonadIO io => Session -> SessionActionSetsAttachInfo -> io Result
- getCurrentInteractionProfile :: forall io. MonadIO io => Session -> ("topLevelUserPath" ::: Path) -> io (Result, InteractionProfileState)
- syncActions :: forall io. MonadIO io => Session -> ActionsSyncInfo -> io Result
- enumerateBoundSourcesForAction :: forall io. MonadIO io => Session -> BoundSourcesForActionEnumerateInfo -> io (Result, "sources" ::: Vector Path)
- getInputSourceLocalizedName :: forall io. MonadIO io => Session -> InputSourceLocalizedNameGetInfo -> io (Result, "buffer" ::: ByteString)
- data Vector2f = Vector2f {}
- data ActionStateBoolean = ActionStateBoolean {}
- data ActionStateFloat = ActionStateFloat {}
- data ActionStateVector2f = ActionStateVector2f {}
- data ActionStatePose = ActionStatePose {}
- data ActionStateGetInfo = ActionStateGetInfo {
- action :: Ptr Action_T
- subactionPath :: Path
- data ActionSetCreateInfo = ActionSetCreateInfo {}
- data ActionSuggestedBinding = ActionSuggestedBinding {}
- data InteractionProfileSuggestedBinding (es :: [Type]) = InteractionProfileSuggestedBinding {}
- data ActiveActionSet = ActiveActionSet {}
- data SessionActionSetsAttachInfo = SessionActionSetsAttachInfo {
- actionSets :: Vector (Ptr ActionSet_T)
- data ActionsSyncInfo = ActionsSyncInfo {}
- data BoundSourcesForActionEnumerateInfo = BoundSourcesForActionEnumerateInfo {}
- data InputSourceLocalizedNameGetInfo = InputSourceLocalizedNameGetInfo {}
- data InteractionProfileState = InteractionProfileState {}
- data ActionCreateInfo = ActionCreateInfo {}
Documentation
getActionStateBoolean Source #
Arguments
| :: forall io. MonadIO io | |
| => Session |
|
| -> ActionStateGetInfo |
|
| -> io (Result, ActionStateBoolean) |
xrGetActionStateBoolean - Gets boolean action state
Return Codes
See Also
ActionStateBoolean, ActionStateGetInfo,
Session, createAction
Arguments
| :: forall io. MonadIO io | |
| => Session |
|
| -> ActionStateGetInfo |
|
| -> io (Result, ActionStateFloat) |
getActionStateVector2f Source #
Arguments
| :: forall io. MonadIO io | |
| => Session |
|
| -> ActionStateGetInfo |
|
| -> io (Result, ActionStateVector2f) |
xrGetActionStateVector2f - Gets 2D float vector action state
Return Codes
See Also
ActionStateGetInfo, ActionStateVector2f,
Session, createAction
Arguments
| :: forall io. MonadIO io | |
| => Session |
|
| -> ActionStateGetInfo |
|
| -> io (Result, ActionStatePose) |
xrGetActionStatePose - Gets metadata from a pose action
Parameter Descriptions
Description
getActionStatePose returns information about the binding and active
state for the specified action. To determine the pose of this action at
a historical or predicted time, the application can create an action
space using createActionSpace. Then, after each
sync, the application can locate the pose of this action space within
a base space using locateSpace.
Return Codes
See Also
ActionStateGetInfo, ActionStatePose,
Session, createAction,
createActionSpace
Arguments
| :: forall io. MonadIO io | |
| => Instance |
|
| -> ActionSetCreateInfo |
|
| -> io ActionSet |
xrCreateActionSet - Creates an XrActionSet
Parameter Descriptions
Description
The createActionSet function creates an action set and returns a
handle to the created action set.
Return Codes
See Also
withActionSet :: forall io r. MonadIO io => Instance -> ActionSetCreateInfo -> (io ActionSet -> (ActionSet -> io ()) -> r) -> r Source #
A convenience wrapper to make a compatible pair of calls to
createActionSet and destroyActionSet
To ensure that destroyActionSet is always called: pass
bracket (or the allocate function from your
favourite resource management library) as the last argument.
To just extract the pair pass (,) as the last argument.
xrDestroyActionSet - Destroys an XrActionSet
Parameter Descriptions
Description
Action set handles can be destroyed by calling destroyActionSet.
When an action set handle is destroyed, all handles of actions in that
action set are also destroyed.
The implementation must not free underlying resources for the action set while there are other valid handles that refer to those resources. The implementation may release resources for an action set when all of the action spaces for actions in that action set have been destroyed. See Action Spaces Lifetime for details.
Resources for all action sets in an instance must be freed when the instance containing those actions sets is destroyed.
Valid Usage (Implicit)
-
actionSetmust be a validActionSethandle
Thread Safety
- Access to
actionSet, and any child handles, must be externally synchronized
Return Codes
See Also
Arguments
| :: forall io. MonadIO io | |
| => ActionSet |
|
| -> ActionCreateInfo |
|
| -> io Action |
xrCreateAction - Creates an XrAction
Parameter Descriptions
Description
createAction creates an action and returns its handle.
If actionSet has been included in a call to attachSessionActionSets,
the implementation must return
ERROR_ACTIONSETS_ALREADY_ATTACHED.
Return Codes
- Failure
ERROR_INSTANCE_LOSTERROR_RUNTIME_FAILUREERROR_ACTIONSETS_ALREADY_ATTACHEDERROR_LIMIT_REACHEDERROR_HANDLE_INVALIDERROR_OUT_OF_MEMORYERROR_PATH_INVALIDERROR_VALIDATION_FAILUREERROR_NAME_DUPLICATEDERROR_LOCALIZED_NAME_DUPLICATEDERROR_NAME_INVALIDERROR_LOCALIZED_NAME_INVALIDERROR_PATH_FORMAT_INVALIDERROR_PATH_UNSUPPORTED
See Also
Action, ActionCreateInfo,
ActionSet,
ActionType, destroyAction
withAction :: forall io r. MonadIO io => ActionSet -> ActionCreateInfo -> (io Action -> (Action -> io ()) -> r) -> r Source #
A convenience wrapper to make a compatible pair of calls to
createAction and destroyAction
To ensure that destroyAction is always called: pass
bracket (or the allocate function from your
favourite resource management library) as the last argument.
To just extract the pair pass (,) as the last argument.
xrDestroyAction - Destroys an XrAction
Parameter Descriptions
Description
Action handles can be destroyed by calling destroyAction. Handles
for actions that are part of an action set are automatically destroyed
when the action set’s handle is destroyed.
The implementation must not destroy the underlying resources for an
action when destroyAction is called. Those resources are still used to
make
action spaces locatable
and when processing action priority in syncActions. Destroying the
action handle removes the application’s access to these resources, but
has no other change on actions.
Resources for all actions in an instance must be freed when the instance containing those actions sets is destroyed.
Valid Usage (Implicit)
-
actionmust be a validActionhandle
Thread Safety
- Access to
action, and any child handles, must be externally synchronized
Return Codes
See Also
suggestInteractionProfileBindings Source #
Arguments
| :: forall a io. (Extendss InteractionProfileSuggestedBinding a, PokeChain a, MonadIO io) | |
| => Instance |
|
| -> ("suggestedBindings" ::: InteractionProfileSuggestedBinding a) |
|
| -> io () |
xrSuggestInteractionProfileBindings - Sets the application-suggested bindings for the interaction profile
Parameter Descriptions
Description
suggestInteractionProfileBindings sets an interaction profile for
which the application can provide default bindings. The application
can call suggestInteractionProfileBindings once per interaction
profile that it supports.
The application can provide any number of bindings for each action.
If the application successfully calls
suggestInteractionProfileBindings more than once for an interaction
profile, the runtime must discard the previous suggested bindings and
replace them with the new suggested bindings for that profile.
If the interaction profile path does not follow the structure defined in
Interaction Profiles
or suggested bindings contain paths that do not follow the format
defined in
Device input subpaths,
the runtime must return
ERROR_PATH_UNSUPPORTED. If the interaction
profile or input source for any of the suggested bindings does not exist
in the allowlist defined in
Interaction Profile Paths,
the runtime must return
ERROR_PATH_UNSUPPORTED. A runtime must
accept every valid binding in the allowlist though it is free to ignore
any of them.
If the action set for any action referenced in the suggestedBindings
parameter has been included in a call to attachSessionActionSets, the
implementation must return
ERROR_ACTIONSETS_ALREADY_ATTACHED.
Return Codes
See Also
attachSessionActionSets Source #
Arguments
| :: forall io. MonadIO io | |
| => Session |
|
| -> SessionActionSetsAttachInfo |
|
| -> io Result |
xrAttachSessionActionSets - Attaches action sets to a given session
Parameter Descriptions
Description
attachSessionActionSets attaches the ActionSet
handles in attachInfo.actionSets to the session. Action sets must
be attached in order to be synchronized with syncActions.
When an action set is attached to a session, that action set becomes
immutable. See createAction and suggestInteractionProfileBindings
for details.
The runtime must return
ERROR_ACTIONSETS_ALREADY_ATTACHED if
attachSessionActionSets is called more than once for a given
session. The runtime must return
ERROR_ACTIONSET_NOT_ATTACHED for any action
created after attachSessionActionSets is called for a given session
if that handle is used with any call for the same session.
Return Codes
See Also
getCurrentInteractionProfile Source #
Arguments
| :: forall io. MonadIO io | |
| => Session |
|
| -> ("topLevelUserPath" ::: Path) |
|
| -> io (Result, InteractionProfileState) |
xrGetCurrentInteractionProfile - Gets the current interaction profile for a top level user paths
Parameter Descriptions
Description
getCurrentInteractionProfile asks the runtime for the active
interaction profiles for a top level user path.
The runtime must return only interaction profiles for which the
application has provided bindings with
suggestInteractionProfileBindings. The runtime may return
interaction profiles that do not represent physically present hardware,
for example if the runtime is using a known interaction profile to bind
to hardware that the application is not aware of. The runtime may
return the last-known interaction profile in the event that no
controllers are active.
If attachSessionActionSets has not yet been called for the session,
the runtime must return
ERROR_ACTIONSET_NOT_ATTACHED. If
topLevelUserPath is not one of the device input subpaths described in
section
/user paths,
the runtime must return
ERROR_PATH_UNSUPPORTED.
Return Codes
See Also
InteractionProfileState,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath,
Session
Arguments
| :: forall io. MonadIO io | |
| => Session |
|
| -> ActionsSyncInfo |
|
| -> io Result |
xrSyncActions - Updates the current state of input actions
Parameter Descriptions
Description
syncActions updates the current state of input actions. Repeated input
action state queries between subsequent synchronization calls must
return the same values. The ActionSet structures
referenced in the syncInfo.activeActionSets must have been
previously attached to the session via attachSessionActionSets. If any
action sets not attached to this session are passed to syncActions it
must return ERROR_ACTIONSET_NOT_ATTACHED.
Subsets of the bound action sets can be synchronized in order to
control which actions are seen as active.
If session is not focused, the runtime must return
SESSION_NOT_FOCUSED, and all action states
in the session must be inactive.
Return Codes
See Also
enumerateBoundSourcesForAction :: forall io. MonadIO io => Session -> BoundSourcesForActionEnumerateInfo -> io (Result, "sources" ::: Vector Path) Source #
xrEnumerateBoundSourcesForAction - Queries the bound input sources for an action
Parameter Descriptions
sessionis theSessionbeing queried.
enumerateInfois anBoundSourcesForActionEnumerateInfoproviding the query information.sourceCapacityInputis the capacity of the array, or 0 to indicate a request to retrieve the required capacity.sourceCountOutputis a pointer to the count of sources, or a pointer to the required capacity in the case thatsourceCapacityInputis 0.sourcesis a pointer to an application-allocated array that will be filled with the https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath values for all sources. It can beNULLifsourceCapacityInputis 0.- See
Buffer Size Parameters
chapter for a detailed description of retrieving the required
sourcessize.
Description
If an action is unbound, enumerateBoundSourcesForAction must assign
0 to the value pointed-to by sourceCountOutput and not modify the
array.
enumerateBoundSourcesForAction must return
ERROR_ACTIONSET_NOT_ATTACHED if passed an
action in an action set never attached to the session with
attachSessionActionSets.
Valid Usage (Implicit)
-
sessionmust be a validSessionhandle
-
enumerateInfomust be a pointer to a validBoundSourcesForActionEnumerateInfostructure -
sourceCountOutputmust be a pointer to auint32_tvalue - If
sourceCapacityInputis not0,sourcesmust be a pointer to an array ofsourceCapacityInputhttps://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath values
Return Codes
See Also
Action, BoundSourcesForActionEnumerateInfo,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath,
Session
getInputSourceLocalizedName :: forall io. MonadIO io => Session -> InputSourceLocalizedNameGetInfo -> io (Result, "buffer" ::: ByteString) Source #
xrGetInputSourceLocalizedName - Gets a localized source name
Parameter Descriptions
sessionis a handle to theSessionassociated with the action that reported this source.
getInfois anInputSourceLocalizedNameGetInfoproviding the query information.bufferCapacityInputis the capacity of the buffer, or 0 to indicate a request to retrieve the required capacity.bufferCountOutputis a pointer to the count of name characters written (including the terminating\0), or a pointer to the required capacity in the case thatbufferCapacityInputis 0.bufferis a pointer to an application-allocated buffer that will be filled with the source name. It can beNULLifbufferCapacityInputis 0.- See
Buffer Size Parameters
chapter for a detailed description of retrieving the required
buffersize.
Description
getInputSourceLocalizedName returns a string for the input source in
the current system locale.
If attachSessionActionSets has not yet been called for the session,
the runtime must return
ERROR_ACTIONSET_NOT_ATTACHED.
Valid Usage (Implicit)
-
sessionmust be a validSessionhandle
-
getInfomust be a pointer to a validInputSourceLocalizedNameGetInfostructure -
bufferCountOutputmust be a pointer to auint32_tvalue - If
bufferCapacityInputis not0,buffermust be a pointer to an array ofbufferCapacityInputchar values
Return Codes
See Also
XrVector2f - Two-dimensional vector
Member Descriptions
Description
If used to represent physical distances (rather than e.g. normalized direction) and not otherwise specified, values must be in meters.
See Also
ActionStateVector2f,
CompositionLayerEquirectKHR,
Posef, Quaternionf,
Vector3f, Vector4f,
VisibilityMaskKHR,
xrSetInputDeviceStateVector2fEXT
Constructors
| Vector2f | |
Instances
| Eq Vector2f Source # | |
| Show Vector2f Source # | |
| Storable Vector2f Source # | |
Defined in OpenXR.Core10.Input | |
| Zero Vector2f Source # | |
Defined in OpenXR.Core10.Input | |
| ToCStruct Vector2f Source # | |
Defined in OpenXR.Core10.Input | |
| FromCStruct Vector2f Source # | |
Defined in OpenXR.Core10.Input | |
data ActionStateBoolean Source #
XrActionStateBoolean - Boolean action state
Member Descriptions
Description
When multiple input sources are bound to this action, the currentState
follows
the previously defined rule to resolve ambiguity.
Valid Usage (Implicit)
See Also
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrBool32,
StructureType,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrTime,
getActionStateBoolean
Constructors
| ActionStateBoolean | |
Fields
| |
Instances
data ActionStateFloat Source #
XrActionStateFloat - Floating point action state
Member Descriptions
Description
When multiple input sources are bound to this action, the currentState
follows
the previously defined rule to resolve ambiguity.
Valid Usage (Implicit)
See Also
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrBool32,
StructureType,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrTime,
getActionStateFloat
Constructors
| ActionStateFloat | |
Fields
| |
Instances
data ActionStateVector2f Source #
XrActionStateVector2f - 2D float vector action state
Member Descriptions
Description
When multiple input sources are bound to this action, the currentState
follows
the previously defined rule to resolve ambiguity.
Valid Usage (Implicit)
See Also
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrBool32,
StructureType,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrTime,
Vector2f, getActionStateVector2f
Constructors
| ActionStateVector2f | |
Fields
| |
Instances
data ActionStatePose Source #
XrActionStatePose - Pose action metadata
Member Descriptions
Description
A pose action must not be bound to multiple input sources, according to the previously defined rule.
Valid Usage (Implicit)
See Also
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrBool32,
StructureType, getActionStatePose
Constructors
| ActionStatePose | |
Instances
data ActionStateGetInfo Source #
XrActionStateGetInfo - Information to get action state
Member Descriptions
Description
See ActionCreateInfo for a description of subaction paths, and the
restrictions on their use.
Valid Usage (Implicit)
See Also
Action,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath,
StructureType,
getActionStateBoolean, getActionStateFloat, getActionStatePose,
getActionStateVector2f
Constructors
| ActionStateGetInfo | |
Fields
| |
Instances
data ActionSetCreateInfo Source #
XrActionSetCreateInfo - XrActionSet creation info
Member Descriptions
Description
When multiple actions are bound to the same input source, the priority
of each action set determines which bindings are suppressed. Runtimes
must ignore input sources from action sets with a lower priority
number if those specific input sources are also present in active
actions within a higher priority action set. If multiple action sets
with the same priority are bound to the same input source and that is
the highest priority number, runtimes must process all those bindings
at the same time.
Two actions are considered to be bound to the same input source if they use the same identifier and optional location path segments, even if they have different component segments.
When runtimes are ignoring bindings because of priority, they must
treat the binding to that input source as though they do not exist. That
means the isActive field must be
FALSE when retrieving action data, and
that the runtime must not provide any visual, haptic, or other
feedback related to the binding of that action to that input source.
Other actions in the same action set which are bound to input sources
that do not collide are not affected and are processed as normal.
If actionSetName or localizedActionSetName are empty strings, the
runtime must return ERROR_NAME_INVALID or
ERROR_LOCALIZED_NAME_INVALID respectively.
If actionSetName or localizedActionSetName are duplicates of the
corresponding field for any existing action set in the specified
instance, the runtime must return
ERROR_NAME_DUPLICATED or
ERROR_LOCALIZED_NAME_DUPLICATED
respectively. If the conflicting action set is destroyed, the
conflicting field is no longer considered duplicated. If actionSetName
contains characters which are not allowed in a single level of a
well-formed path string,
the runtime must return
ERROR_PATH_FORMAT_INVALID.
Valid Usage (Implicit)
See Also
Constructors
| ActionSetCreateInfo | |
Fields
| |
Instances
data ActionSuggestedBinding Source #
XrActionSuggestedBinding - Suggested binding for a single action
Valid Usage (Implicit)
See Also
Action, InteractionProfileSuggestedBinding,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath,
suggestInteractionProfileBindings
Constructors
| ActionSuggestedBinding | |
Fields
| |
Instances
data InteractionProfileSuggestedBinding (es :: [Type]) Source #
XrInteractionProfileSuggestedBinding - Suggested bindings for a interaction profile
Valid Usage (Implicit)
-
typemust beTYPE_INTERACTION_PROFILE_SUGGESTED_BINDING
-
nextmust beNULLor a valid pointer to the next structure in a structure chain. See also:BindingModificationsKHR,InteractionProfileAnalogThresholdVALVE -
suggestedBindingsmust be a pointer to an array ofcountSuggestedBindingsvalidActionSuggestedBindingstructures -
The
countSuggestedBindingsparameter must be greater than0
See Also
ActionSuggestedBinding,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath,
StructureType,
suggestInteractionProfileBindings
Constructors
| InteractionProfileSuggestedBinding | |
Fields
| |
Instances
data ActiveActionSet Source #
XrActiveActionSet - Describes an active action set
Member Descriptions
Description
This structure defines a single active action set and subaction path
combination. Applications can provide a list of these structures to
the syncActions function.
Valid Usage (Implicit)
See Also
ActionSet, ActionsSyncInfo,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath,
syncActions
Constructors
| ActiveActionSet | |
Fields
| |
Instances
data SessionActionSetsAttachInfo Source #
XrSessionActionSetsAttachInfo - Information to attach action sets to a session
Valid Usage (Implicit)
-
typemust beTYPE_SESSION_ACTION_SETS_ATTACH_INFO
-
nextmust beNULLor a valid pointer to the next structure in a structure chain -
actionSetsmust be a pointer to an array ofcountActionSetsvalidActionSethandles - The
countActionSetsparameter must be greater than0
See Also
Constructors
| SessionActionSetsAttachInfo | |
Fields
| |
Instances
| Show SessionActionSetsAttachInfo Source # | |
Defined in OpenXR.Core10.Input Methods showsPrec :: Int -> SessionActionSetsAttachInfo -> ShowS # show :: SessionActionSetsAttachInfo -> String # showList :: [SessionActionSetsAttachInfo] -> ShowS # | |
| Zero SessionActionSetsAttachInfo Source # | |
Defined in OpenXR.Core10.Input Methods | |
| ToCStruct SessionActionSetsAttachInfo Source # | |
Defined in OpenXR.Core10.Input Methods withCStruct :: SessionActionSetsAttachInfo -> (Ptr SessionActionSetsAttachInfo -> IO b) -> IO b # pokeCStruct :: Ptr SessionActionSetsAttachInfo -> SessionActionSetsAttachInfo -> IO b -> IO b # withZeroCStruct :: (Ptr SessionActionSetsAttachInfo -> IO b) -> IO b # pokeZeroCStruct :: Ptr SessionActionSetsAttachInfo -> IO b -> IO b # cStructSize :: Int # cStructAlignment :: Int # | |
| FromCStruct SessionActionSetsAttachInfo Source # | |
Defined in OpenXR.Core10.Input Methods peekCStruct :: Ptr SessionActionSetsAttachInfo -> IO SessionActionSetsAttachInfo # | |
data ActionsSyncInfo Source #
XrActionsSyncInfo - Information to sync actions
Valid Usage (Implicit)
-
typemust beTYPE_ACTIONS_SYNC_INFO
-
nextmust beNULLor a valid pointer to the next structure in a structure chain - If
countActiveActionSetsis not0,activeActionSetsmust be a pointer to an array ofcountActiveActionSetsvalidActiveActionSetstructures
See Also
Constructors
| ActionsSyncInfo | |
Fields
| |
Instances
| Show ActionsSyncInfo Source # | |
Defined in OpenXR.Core10.Input Methods showsPrec :: Int -> ActionsSyncInfo -> ShowS # show :: ActionsSyncInfo -> String # showList :: [ActionsSyncInfo] -> ShowS # | |
| Zero ActionsSyncInfo Source # | |
Defined in OpenXR.Core10.Input Methods zero :: ActionsSyncInfo # | |
| ToCStruct ActionsSyncInfo Source # | |
Defined in OpenXR.Core10.Input Methods withCStruct :: ActionsSyncInfo -> (Ptr ActionsSyncInfo -> IO b) -> IO b # pokeCStruct :: Ptr ActionsSyncInfo -> ActionsSyncInfo -> IO b -> IO b # withZeroCStruct :: (Ptr ActionsSyncInfo -> IO b) -> IO b # pokeZeroCStruct :: Ptr ActionsSyncInfo -> IO b -> IO b # cStructSize :: Int # cStructAlignment :: Int # | |
| FromCStruct ActionsSyncInfo Source # | |
Defined in OpenXR.Core10.Input Methods | |
data BoundSourcesForActionEnumerateInfo Source #
XrBoundSourcesForActionEnumerateInfo - Information to query the bound input sources for an action
Valid Usage (Implicit)
See Also
Constructors
| BoundSourcesForActionEnumerateInfo | |
Instances
data InputSourceLocalizedNameGetInfo Source #
XrInputSourceLocalizedNameGetInfo - Information to query the bound input sources for an action
Valid Usage (Implicit)
See Also
InputSourceLocalizedNameFlags,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath,
StructureType,
enumerateBoundSourcesForAction, getInputSourceLocalizedName
Constructors
| InputSourceLocalizedNameGetInfo | |
Fields
| |
Instances
data InteractionProfileState Source #
XrInteractionProfileState - Receives active interaction profile for a top level path
Member Descriptions
Description
The runtime must only include interaction profiles that the
application has provided bindings for via
suggestInteractionProfileBindings or
NULL_PATH. If the runtime is rebinding an
interaction profile provided by the application to a device that the
application did not provide bindings for, it must return the
interaction profile path that it is emulating. If the runtime is unable
to provide input because it cannot emulate any of the
application-provided interaction profiles, it must return
NULL_PATH.
Valid Usage (Implicit)
See Also
ActionSuggestedBinding,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath,
StructureType,
getCurrentInteractionProfile, suggestInteractionProfileBindings
Constructors
| InteractionProfileState | |
Fields
| |
Instances
data ActionCreateInfo Source #
XrActionCreateInfo - XrAction creation info
Member Descriptions
Description
Subaction paths are a mechanism that enables applications to use the
same action name and handle on multiple devices. Applications can query
action state using subaction paths that differentiate data coming from
each device. This allows the runtime to group logically equivalent
actions together in system UI. For instance, an application could create
a single pick_up action with the /user/hand/left and
/user/hand/right subaction paths and use the subaction paths to
independently query the state of pick_up_with_left_hand and
pick_up_with_right_hand.
Applications can create actions with or without the subactionPaths
set to a list of paths. If this list of paths is omitted (i.e.
subactionPaths is set to NULL, and countSubactionPaths is set to
0), the application is opting out of filtering action results by
subaction paths and any call to get action data must also omit subaction
paths.
If subactionPaths is specified and any of the following conditions are
not satisfied, the runtime must return
ERROR_PATH_UNSUPPORTED:
Each path provided is one of:
- /user/head
- /user/hand/left
- /user/hand/right
- /user/gamepad
- No path appears in the list more than once
Extensions may append additional top level user paths to the above list.
Note
Earlier revisions of the spec mentioned /user but it could not be implemented as specified and was removed as errata.
The runtime must return
ERROR_PATH_UNSUPPORTED in the following
circumstances:
- The application specified subaction paths at action creation and the
application called
xrGetActionState*or a haptic function with an empty subaction path array. - The application called
xrGetActionState*or a haptic function with a subaction path that was not specified when the action was created.
If actionName or localizedActionName are empty strings, the runtime
must return ERROR_NAME_INVALID or
ERROR_LOCALIZED_NAME_INVALID respectively.
If actionName or localizedActionName are duplicates of the
corresponding field for any existing action in the specified action set,
the runtime must return
ERROR_NAME_DUPLICATED or
ERROR_LOCALIZED_NAME_DUPLICATED
respectively. If the conflicting action is destroyed, the conflicting
field is no longer considered duplicated. If actionName contains
characters which are not allowed in a single level of a
well-formed path string,
the runtime must return
ERROR_PATH_FORMAT_INVALID.
Valid Usage (Implicit)
-
typemust beTYPE_ACTION_CREATE_INFO
-
nextmust beNULLor a valid pointer to the next structure in a structure chain -
actionNamemust be a null-terminated UTF-8 string whose length is less than or equal toMAX_ACTION_NAME_SIZE -
actionTypemust be a validActionTypevalue - If
countSubactionPathsis not0,subactionPathsmust be a pointer to an array ofcountSubactionPathsvalid https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath values -
localizedActionNamemust be a null-terminated UTF-8 string whose length is less than or equal toMAX_LOCALIZED_ACTION_NAME_SIZE
See Also
Action,
ActionType,
https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html#XrPath,
StructureType, createAction,
createActionSet
Constructors
| ActionCreateInfo | |
Fields
| |
Instances
| Show ActionCreateInfo Source # | |
Defined in OpenXR.Core10.Input Methods showsPrec :: Int -> ActionCreateInfo -> ShowS # show :: ActionCreateInfo -> String # showList :: [ActionCreateInfo] -> ShowS # | |
| Zero ActionCreateInfo Source # | |
Defined in OpenXR.Core10.Input Methods | |
| ToCStruct ActionCreateInfo Source # | |
Defined in OpenXR.Core10.Input Methods withCStruct :: ActionCreateInfo -> (Ptr ActionCreateInfo -> IO b) -> IO b # pokeCStruct :: Ptr ActionCreateInfo -> ActionCreateInfo -> IO b -> IO b # withZeroCStruct :: (Ptr ActionCreateInfo -> IO b) -> IO b # pokeZeroCStruct :: Ptr ActionCreateInfo -> IO b -> IO b # cStructSize :: Int # cStructAlignment :: Int # | |
| FromCStruct ActionCreateInfo Source # | |
Defined in OpenXR.Core10.Input Methods peekCStruct :: Ptr ActionCreateInfo -> IO ActionCreateInfo # | |