79 lines
3.7 KiB
C#
79 lines
3.7 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
namespace HurricaneVR.Framework.Shared
|
|
{
|
|
[CreateAssetMenu(menuName = "HurricaneVR/Input Settings", fileName = "InputSettings")]
|
|
public class HVRInputSettings : ScriptableObject
|
|
{
|
|
[Header("XR Input Settings (Oculus / WMR Plugins only) - SteamVR / OpenXR can ignore.")]
|
|
public InputAxes JoystickAxis;
|
|
public InputAxes TrackPadAxis;
|
|
public HVRXRInputFeatures Primary = HVRXRInputFeatures.PrimaryButton;
|
|
public HVRXRInputFeatures Secondary = HVRXRInputFeatures.SecondaryButton;
|
|
public HVRXRInputFeatures Menu = HVRXRInputFeatures.MenuButton;
|
|
public HVRXRInputFeatures PrimaryTouch = HVRXRInputFeatures.PrimaryTouch;
|
|
public HVRXRInputFeatures SecondaryTouch = HVRXRInputFeatures.SecondaryTouch;
|
|
public HVRXRInputFeatures JoystickButton = HVRXRInputFeatures.Primary2DAxisClick;
|
|
public HVRXRInputFeatures TrackPadButton = HVRXRInputFeatures.Secondary2DAxisClick;
|
|
|
|
public HVRXRInputFeatures JoystickTouch = HVRXRInputFeatures.Primary2DAxisTouch;
|
|
public HVRXRInputFeatures TrackPadTouch = HVRXRInputFeatures.Secondary2DAxisTouch;
|
|
|
|
[Header("Should Grip / Trigger use Analog checks or button presses from SteamVR / OpenXR")]
|
|
|
|
[Tooltip("If true grip clicked will use the grip 0-1 analog value compared to the GripThreshold, otherwise the grip pressed SteamVR / OpenXR binding")]
|
|
public bool GripUseAnalog = true;
|
|
|
|
[Tooltip("If true trigger clicked check will use the trigger 0-1 analog value compared to the TriggerThreshold, otherwise the trigger pressed SteamVR / OpenXR binding will be used.")]
|
|
public bool TriggerUseAnalog = true;
|
|
|
|
[Header("Grip Analog Activation")]
|
|
|
|
public float GripThreshold = .7f;
|
|
|
|
[Tooltip("If false the Threshold only will be used to determine Trigger activation / deactivation")]
|
|
public bool GripUseReleaseThreshold;
|
|
|
|
[Tooltip("If lower than the Threshold, the value must fall below this value to activate. " +
|
|
"When larger than the Threshold, the value must go above and then back below this value to deactivate.")]
|
|
public float GripReleaseThreshold = .7f;
|
|
|
|
|
|
[Tooltip("Only used when the release threshold is greater than the threshold, if true the value must drop below the Threshold before it can be considered active again" +
|
|
"Otherwise going back over the Release Threshold will activate the button.")]
|
|
public bool GripRequireReset;
|
|
|
|
[Header("Trigger Analog Activation")]
|
|
|
|
public float TriggerThreshold = .7f;
|
|
|
|
[Tooltip("If false the Threshold only will be used to determine Trigger activation / deactivation")]
|
|
public bool TriggerUseReleaseThreshold;
|
|
|
|
[Tooltip("If lower than the Threshold, the value must fall below this value to activate. " +
|
|
"When larger than the Threshold, the value must go above and then back below this value to deactivate.")]
|
|
public float TriggerReleaseThreshold = .7f;
|
|
|
|
[Tooltip("Only used when the release threshold is greater than the threshold, if true the value must drop below the Threshold before it can be considered active again" +
|
|
"Otherwise going back over the Release Threshold will activate the button.")]
|
|
public bool TriggerRequireReset;
|
|
|
|
[Header("Track Pad Click Thresholds")]
|
|
|
|
public float Axis2DUpThreshold = .7f;
|
|
public float Axis2DDownThreshold = .7f;
|
|
public float Axis2DLeftThreshold = .7f;
|
|
public float Axis2DRighThreshold = .7f;
|
|
}
|
|
|
|
[Serializable]
|
|
public enum InputAxes
|
|
{
|
|
None,
|
|
Primary2DAxis = 1,
|
|
Secondary2DAxis = 2,
|
|
};
|
|
|
|
|
|
} |