C Specification
The XrInteractionProfileAnalogThresholdVALVE structure is an input
struct that defines thresholds and haptic feedback behavior for action
bindings and should be added to the
XrBindingModificationsKHR::bindingModifications
array of the
XrBindingModificationsKHR structure (See
XR_KHR_binding_modification
extension).
// Provided by XR_VALVE_analog_threshold
typedef struct XrInteractionProfileAnalogThresholdVALVE {
XrStructureType type;
const void* next;
XrAction action;
XrPath binding;
float onThreshold;
float offThreshold;
const XrHapticBaseHeader* onHaptic;
const XrHapticBaseHeader* offHaptic;
} XrInteractionProfileAnalogThresholdVALVE;
Members
Description
Applications can also chain a single XrInteractionProfileAnalogThresholdVALVE structure on the next chain of any xrSuggestInteractionProfileBindings call. Runtimes must support this kind of chaining. This method of specifying analog thresholds is deprecated however, and should not be used by any new applications.
If a threshold struct is present for a given conversion, the runtime must use those thresholds instead of applying its own whenever it is using the binding suggested by the application.
onThreshold
and offThreshold
permit allow the application to
specify that it wants hysteresis to be applied to the threshold operation.
If onThreshold
is smaller than offThreshold
, the runtime must
return XR_ERROR_VALIDATION_FAILURE
.
onHaptic
and offHaptic
allow the application to specify that it
wants automatic haptic feedback to be generated when the boolean output of
the threshold operation changes from false to true or vice versa.
If these fields are not NULL, the runtime must trigger a haptic output with
the specified characteristics.
If the device has multiple haptic outputs, the runtime should use the
haptic output that is most appropriate for the specified input path.
If a suggested binding with action
and binding
is not in the
binding list for this interaction profile, the runtime must return
XR_ERROR_PATH_UNSUPPORTED
.
Document Notes
For more information, see the OpenXR Specification
This page is extracted from the OpenXR Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright 2014-2024, The Khronos Group Inc.
This work is licensed under a Creative Commons Attribution 4.0 International License.