Class DPadInteraction
This OpenXRInteractionFeature enables the use of DPad feature in OpenXR.
Inherited Members
Namespace: UnityEngine.XR.OpenXR.Features.Interactions
Assembly: Unity.XR.OpenXR.dll
Syntax
public class DPadInteraction : OpenXRInteractionFeature
Fields
centerRegionLeft
the radius in the input value space, of a logically circular region in the center of the input, in the range (0, 1).
Declaration
public float centerRegionLeft
Field Value
| Type | Description |
|---|---|
| float |
centerRegionRight
the radius in the input value space, of a logically circular region in the center of the input, in the range (0, 1).
Declaration
public float centerRegionRight
Field Value
| Type | Description |
|---|---|
| float |
extensionStrings
The OpenXR Extension strings. This is used by OpenXR to check if this extension is available or enabled.
Declaration
public string[] extensionStrings
Field Value
| Type | Description |
|---|---|
| string[] |
featureId
The feature id string. This is used to give the feature a well known id for reference.
Declaration
public const string featureId
Field Value
| Type | Description |
|---|---|
| string |
forceThresholdLeft
a number in the half-open range (0, 1] representing the force value threshold at or above which ≥ a dpad input will transition from inactive to active.
Declaration
public float forceThresholdLeft
Field Value
| Type | Description |
|---|---|
| float |
forceThresholdReleaseLeft
a number in the half-open range (0, 1] representing the force value threshold strictly below which less than a dpad input will transition from active to inactive.
Declaration
public float forceThresholdReleaseLeft
Field Value
| Type | Description |
|---|---|
| float |
forceThresholdReleaseRight
a number in the half-open range (0, 1] representing the force value threshold strictly below which less than a dpad input will transition from active to inactive.
Declaration
public float forceThresholdReleaseRight
Field Value
| Type | Description |
|---|---|
| float |
forceThresholdRight
a number in the half-open range (0, 1] representing the force value threshold at or above which ≥ a dpad input will transition from inactive to active.
Declaration
public float forceThresholdRight
Field Value
| Type | Description |
|---|---|
| float |
isStickyLeft
indicates that the implementation will latch the first region that is activated and continue to indicate that the binding for that region is true until the user releases the input underlying the virtual dpad.
Declaration
public bool isStickyLeft
Field Value
| Type | Description |
|---|---|
| bool |
isStickyRight
indicates that the implementation will latch the first region that is activated and continue to indicate that the binding for that region is true until the user releases the input underlying the virtual dpad.
Declaration
public bool isStickyRight
Field Value
| Type | Description |
|---|---|
| bool |
profile
A unique string for dpad feature
Declaration
public const string profile
Field Value
| Type | Description |
|---|---|
| string |
thumbstickDpadDown
Constant for a boolean interaction binding '.../thumbstick/dpad_down' OpenXR Input Binding.
Declaration
public const string thumbstickDpadDown
Field Value
| Type | Description |
|---|---|
| string |
thumbstickDpadLeft
Constant for a boolean interaction binding '.../thumbstick/dpad_left' OpenXR Input Binding.
Declaration
public const string thumbstickDpadLeft
Field Value
| Type | Description |
|---|---|
| string |
thumbstickDpadRight
Constant for a boolean interaction binding '.../thumbstick/dpad_right' OpenXR Input Binding.
Declaration
public const string thumbstickDpadRight
Field Value
| Type | Description |
|---|---|
| string |
thumbstickDpadUp
Constant for a boolean interaction binding '.../thumbstick/dpad_up' OpenXR Input Binding.
Declaration
public const string thumbstickDpadUp
Field Value
| Type | Description |
|---|---|
| string |
trackpadDpadCenter
Constant for a boolean interaction binding '.../trackpad/dpad_center' OpenXR Input Binding.
Declaration
public const string trackpadDpadCenter
Field Value
| Type | Description |
|---|---|
| string |
trackpadDpadDown
Constant for a boolean interaction binding '.../trackpad/dpad_down' OpenXR Input Binding.
Declaration
public const string trackpadDpadDown
Field Value
| Type | Description |
|---|---|
| string |
trackpadDpadLeft
Constant for a boolean interaction binding '.../trackpad/dpad_left' OpenXR Input Binding.
Declaration
public const string trackpadDpadLeft
Field Value
| Type | Description |
|---|---|
| string |
trackpadDpadRight
Constant for a boolean interaction binding '.../trackpad/dpad_right' OpenXR Input Binding.
Declaration
public const string trackpadDpadRight
Field Value
| Type | Description |
|---|---|
| string |
trackpadDpadUp
Constant for a boolean interaction binding '.../trackpad/dpad_up' OpenXR Input Binding.
Declaration
public const string trackpadDpadUp
Field Value
| Type | Description |
|---|---|
| string |
wedgeAngleLeft
indicates the angle in radians of each direction region and is a value in the half-open range (0, π].
Declaration
public float wedgeAngleLeft
Field Value
| Type | Description |
|---|---|
| float |
wedgeAngleRight
indicates the angle in radians of each direction region and is a value in the half-open range [0, π].
Declaration
public float wedgeAngleRight
Field Value
| Type | Description |
|---|---|
| float |
Properties
IsAdditive
A flag to mark that this DPad feature is additive.
Declaration
protected override bool IsAdditive { get; }
Property Value
| Type | Description |
|---|---|
| bool |
Overrides
Methods
AddAdditiveActions(List<ActionMapConfig>, ActionMapConfig)
Adds DPad binding actions to enabled left/right hand controller action maps that include a thumbstick or trackpad.
Declaration
protected override void AddAdditiveActions(List<OpenXRInteractionFeature.ActionMapConfig> actionMaps, OpenXRInteractionFeature.ActionMapConfig additiveMap)
Parameters
| Type | Name | Description |
|---|---|---|
| List<ActionMapConfig> | actionMaps | The set of action maps from all enabled non-additive interaction profiles that can be augmented. |
| OpenXRInteractionFeature.ActionMapConfig | additiveMap | DPad interaction feature's additive map containing the extra DPad bindings to append. |
Overrides
Remarks
When this profile is enabled in the OpenXR settings, this function is called automatically during feature initialization.
AddAdditiveActions(List<ActionMapConfig>, ActionMapConfig)
Adds DPad binding actions to enabled left/right hand controller action maps that include a thumbstick or trackpad.
Declaration
protected override void AddAdditiveActions(List<OpenXRInteractionFeature.ActionMapConfig> actionMaps, OpenXRInteractionFeature.ActionMapConfig additiveMap)
Parameters
| Type | Name | Description |
|---|---|---|
| List<OpenXRInteractionFeature.ActionMapConfig> | actionMaps | The set of action maps from all enabled non-additive interaction profiles that can be augmented. |
| OpenXRInteractionFeature.ActionMapConfig | additiveMap | DPad interaction feature's additive map containing the extra DPad bindings to append. |
Overrides
Remarks
When this profile is enabled in the OpenXR settings, this function is called automatically during feature initialization.
GetDeviceLayoutName()
Return device layout string for registering Dpad in InputSystem.
Declaration
protected override string GetDeviceLayoutName()
Returns
| Type | Description |
|---|---|
| string | Device layout string. |
Overrides
GetValidationChecks(List<ValidationRule>, BuildTargetGroup)
Allows a feature to add to a list of validation rules which your feature will evaluate at build time. Details of the validation results can be found in OpenXRProjectValidation.
Declaration
protected override void GetValidationChecks(List<OpenXRFeature.ValidationRule> results, BuildTargetGroup target)
Parameters
| Type | Name | Description |
|---|---|---|
| List<OpenXRFeature.ValidationRule> | results | |
| BuildTargetGroup | target |
Overrides
OnExtensionsReady(ulong)
Called when all extensions are ready. Some systems may require enumeration of optional extension availability at the OnSystemChange stage.
Override this method to validate that any necessary OpenXR extensions were successfully enabled (OpenXRRuntime.IsSystemExtensionEnabled) and that any required system properties are supported. If this method returns false, the feature's enabled property is set to false.
Declaration
protected override bool OnExtensionsReady(ulong instance)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | instance |
Returns
| Type | Description |
|---|---|
| bool | true if this feature successfully initialized. Otherwise, false. |
Overrides
Remarks
This cannot be used with loader-required features as required extensions must be available at OnInstanceCreate(ulong). Therefore, failures that return false will simply disable the feature, not the loader.
See Also
OnInstanceCreate(ulong)
Called after xrCreateInstance. Override this method to validate that any necessary OpenXR extensions were
successfully enabled (OpenXRRuntime.IsExtensionEnabled)
and that any required system properties are supported. If this method returns false,
the feature's enabled property is set to false.
Declaration
protected override bool OnInstanceCreate(ulong instance)
Parameters
| Type | Name | Description |
|---|---|---|
| ulong | instance |
Returns
| Type | Description |
|---|---|
| bool | true if this feature successfully initialized. Otherwise, false. |
Overrides
Remarks
If this feature is a required feature of an enabled feature set, returning false here
causes the OpenXRLoader to fail, and XR Plug-in Management will fall back to another loader if enabled.
See Also
RegisterActionMapsWithRuntime()
Register action maps for this device with the OpenXR Runtime. Called at runtime before Start.
Declaration
protected override void RegisterActionMapsWithRuntime()
Overrides
RegisterDeviceLayout()
Registers the DPadInteraction.DPad layout with the Input System.
Declaration
protected override void RegisterDeviceLayout()
Overrides
UnregisterDeviceLayout()
Removes the DPadInteraction.DPad layout with the Input System.
Declaration
protected override void UnregisterDeviceLayout()