diff --git a/Assets/VRTK/Examples/002_Controller_Events.unity b/Assets/VRTK/Examples/002_Controller_Events.unity index f24a5e904..4aa500113 100644 --- a/Assets/VRTK/Examples/002_Controller_Events.unity +++ b/Assets/VRTK/Examples/002_Controller_Events.unity @@ -357,6 +357,7 @@ MonoBehaviour: uiClickButton: 3 menuToggleButton: 7 axisFidelity: 1 + triggerClickThreshold: 1 triggerPressed: 0 triggerTouched: 0 triggerHairlinePressed: 0 @@ -401,6 +402,7 @@ MonoBehaviour: uiClickButton: 3 menuToggleButton: 7 axisFidelity: 1 + triggerClickThreshold: 1 triggerPressed: 0 triggerTouched: 0 triggerHairlinePressed: 0 diff --git a/Assets/VRTK/Scripts/VRTK_ControllerEvents.cs b/Assets/VRTK/Scripts/VRTK_ControllerEvents.cs index 819c92ff0..20343cb6c 100644 --- a/Assets/VRTK/Scripts/VRTK_ControllerEvents.cs +++ b/Assets/VRTK/Scripts/VRTK_ControllerEvents.cs @@ -35,6 +35,7 @@ public enum ButtonAlias public ButtonAlias menuToggleButton = ButtonAlias.Application_Menu; public int axisFidelity = 1; + public float triggerClickThreshold = 1f; [HideInInspector] public bool triggerPressed = false; @@ -629,12 +630,12 @@ private void Update() } //Trigger Clicked - if (!triggerClicked && currentTriggerAxis.x == 1f) + if (!triggerClicked && currentTriggerAxis.x >= triggerClickThreshold) { OnTriggerClicked(SetButtonEvent(ref triggerClicked, true, currentTriggerAxis.x)); EmitAlias(ButtonAlias.Trigger_Click, true, currentTriggerAxis.x, ref triggerClicked); } - else if (triggerClicked && currentTriggerAxis.x < 1f) + else if (triggerClicked && currentTriggerAxis.x < triggerClickThreshold) { OnTriggerUnclicked(SetButtonEvent(ref triggerClicked, false, 0f)); EmitAlias(ButtonAlias.Trigger_Click, false, 0f, ref triggerClicked); diff --git a/DOCUMENTATION.md b/DOCUMENTATION.md index aea0c57c3..a360d22b8 100644 --- a/DOCUMENTATION.md +++ b/DOCUMENTATION.md @@ -231,6 +231,7 @@ The script also has a public boolean pressed state for the buttons to allow the * **UI Click Button:** The button to use for the action of clicking a UI element. * **Menu Toggle Button:** The button to use for the action of bringing up an in-game menu. * **Axis Fidelity:** The amount of fidelity in the changes on the axis, which is defaulted to 1. Any number higher than 2 will probably give too sensitive results. + * **Trigger Click Threshold:** The level on the trigger axis to reach before a click is registered. ### Class Variables