Class XrInteractionProfileDpadBindingEXT

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<XrInteractionProfileDpadBindingEXT>
org.lwjgl.openxr.XrInteractionProfileDpadBindingEXT
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class XrInteractionProfileDpadBindingEXT extends org.lwjgl.system.Struct<XrInteractionProfileDpadBindingEXT> implements org.lwjgl.system.NativeResource
Interaction profile dpad binding.
Description

The XrInteractionProfileDpadBindingEXT structure is an input struct that defines how to use any two-axis input to provide dpad-like functionality to the application. The struct must be added for each input that should be treated as a dpad to the XrBindingModificationsKHR::bindingModifications array in the XrBindingModificationsKHR structure (See XR_KHR_binding_modification extension).

Runtimes are free to ignore any of the fields when not obeying the bindings, but may use it for automatic rebindings of actions.

The implementation must return ERROR_VALIDATION_FAILURE from SuggestInteractionProfileBindings if any of the following are true:

  • forceThreshold or forceThresholdReleased are outside the half-open range (0, 1]
  • forceThreshold < forceThresholdReleased
  • centerRegion is outside the exclusive range (0, 1)
  • wedgeAngle outside the half-open range [0, π)

If more than one XrInteractionProfileDpadBindingEXT is provided for the same input identifier, including top level path (e.g. pathname:/user/hand/left/input/thumbstick), and two or more of them specify the same actionset, the runtime must return ERROR_VALIDATION_FAILURE. If the same input identifier, including top level path, is used for more than one action set, in addition to inputs being suppressed by higher priority action sets, haptic events from dpads are also suppressed.

For example, a Valve Index controller binding with a "Walking" action set can have a dpad on each of:

  • left thumbstick
  • right thumbstick
  • left trackpad
  • right trackpad

Another action set can also have a dpad active on each of those inputs, and they can have different settings. If both action sets are active, the higher priority one trumps the lower priority one, and the lower priority one is suppressed.

Valid Usage (Implicit)
See Also

XrBindingModificationBaseHeaderKHR, XrHapticBaseHeader, SuggestInteractionProfileBindings

Layout


 struct XrInteractionProfileDpadBindingEXT {
     XrStructureType type();
     void const * next();
     XrPath binding();
     XrActionSet actionSet();
     float forceThreshold();
     float forceThresholdReleased();
     float centerRegion();
     float wedgeAngle();
     XrBool32 isSticky();
     XrHapticBaseHeader const * onHaptic();
     XrHapticBaseHeader const * offHaptic();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • TYPE

      public static final int TYPE
      The struct member offsets.
    • NEXT

      public static final int NEXT
      The struct member offsets.
    • BINDING

      public static final int BINDING
      The struct member offsets.
    • ACTIONSET

      public static final int ACTIONSET
      The struct member offsets.
    • FORCETHRESHOLD

      public static final int FORCETHRESHOLD
      The struct member offsets.
    • FORCETHRESHOLDRELEASED

      public static final int FORCETHRESHOLDRELEASED
      The struct member offsets.
    • CENTERREGION

      public static final int CENTERREGION
      The struct member offsets.
    • WEDGEANGLE

      public static final int WEDGEANGLE
      The struct member offsets.
    • ISSTICKY

      public static final int ISSTICKY
      The struct member offsets.
    • ONHAPTIC

      public static final int ONHAPTIC
      The struct member offsets.
    • OFFHAPTIC

      public static final int OFFHAPTIC
      The struct member offsets.
  • Constructor Details

    • XrInteractionProfileDpadBindingEXT

      public XrInteractionProfileDpadBindingEXT(ByteBuffer container)
      Creates a XrInteractionProfileDpadBindingEXT instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

      The created instance holds a strong reference to the container object.

  • Method Details