diff --git a/Assets/VRKeys/Scripts/BackspaceKey.cs b/Assets/VRKeys/Scripts/BackspaceKey.cs index 66a9d42..4180797 100644 --- a/Assets/VRKeys/Scripts/BackspaceKey.cs +++ b/Assets/VRKeys/Scripts/BackspaceKey.cs @@ -19,9 +19,13 @@ namespace VRKeys { public class BackspaceKey : Key { public override void HandleTriggerEnter (Collider other) { + PressKey (); + } + + public override void PressKey () { keyboard.Backspace (); - ActivateFor (0.3f); + base.PressKey (); } public override void UpdateLayout (Layout translation) { diff --git a/Assets/VRKeys/Scripts/CancelKey.cs b/Assets/VRKeys/Scripts/CancelKey.cs index 9b82adc..10687e9 100644 --- a/Assets/VRKeys/Scripts/CancelKey.cs +++ b/Assets/VRKeys/Scripts/CancelKey.cs @@ -19,6 +19,10 @@ namespace VRKeys { public class CancelKey : Key { public override void HandleTriggerEnter (Collider other) { + PressKey (); + } + + public override void PressKey () { keyboard.Cancel (); } diff --git a/Assets/VRKeys/Scripts/ClearKey.cs b/Assets/VRKeys/Scripts/ClearKey.cs index 9805ec9..008f407 100644 --- a/Assets/VRKeys/Scripts/ClearKey.cs +++ b/Assets/VRKeys/Scripts/ClearKey.cs @@ -19,9 +19,13 @@ namespace VRKeys { public class ClearKey : Key { public override void HandleTriggerEnter (Collider other) { + PressKey (); + } + + public override void PressKey () { keyboard.SetText (""); - ActivateFor (0.3f); + base.PressKey (); } public override void UpdateLayout (Layout translation) { diff --git a/Assets/VRKeys/Scripts/EnterKey.cs b/Assets/VRKeys/Scripts/EnterKey.cs index 0262ef9..01ae7df 100644 --- a/Assets/VRKeys/Scripts/EnterKey.cs +++ b/Assets/VRKeys/Scripts/EnterKey.cs @@ -19,6 +19,10 @@ namespace VRKeys { public class EnterKey : Key { public override void HandleTriggerEnter (Collider other) { + PressKey (); + } + + public override void PressKey () { keyboard.Submit (); } diff --git a/Assets/VRKeys/Scripts/Key.cs b/Assets/VRKeys/Scripts/Key.cs index fd8a6d6..76649b9 100644 --- a/Assets/VRKeys/Scripts/Key.cs +++ b/Assets/VRKeys/Scripts/Key.cs @@ -106,6 +106,13 @@ public void OnTriggerEnter (Collider other) { } } + /// + /// Manually trigger a key press. + /// + public virtual void PressKey () { + ActivateFor (0.3f); + } + private IEnumerator Press (Collider other, Mallet mallet) { isPressing = true; diff --git a/Assets/VRKeys/Scripts/LetterKey.cs b/Assets/VRKeys/Scripts/LetterKey.cs index afb929e..e6f95e5 100644 --- a/Assets/VRKeys/Scripts/LetterKey.cs +++ b/Assets/VRKeys/Scripts/LetterKey.cs @@ -40,9 +40,13 @@ public string GetCharacter () { } public override void HandleTriggerEnter (Collider other) { + PressKey (); + } + + public override void PressKey () { keyboard.AddCharacter (GetCharacter ()); - ActivateFor (0.3f); + base.PressKey (); } } } \ No newline at end of file diff --git a/Assets/VRKeys/Scripts/ShiftKey.cs b/Assets/VRKeys/Scripts/ShiftKey.cs index dd6620e..d8d70a7 100644 --- a/Assets/VRKeys/Scripts/ShiftKey.cs +++ b/Assets/VRKeys/Scripts/ShiftKey.cs @@ -20,6 +20,10 @@ public class ShiftKey : Key { private bool shifted = false; public override void HandleTriggerEnter (Collider other) { + PressKey (); + } + + public override void PressKey () { keyboard.ToggleShift (); } diff --git a/Assets/VRKeys/Scripts/SpaceKey.cs b/Assets/VRKeys/Scripts/SpaceKey.cs index 61dd165..3f212d5 100644 --- a/Assets/VRKeys/Scripts/SpaceKey.cs +++ b/Assets/VRKeys/Scripts/SpaceKey.cs @@ -19,9 +19,13 @@ namespace VRKeys { public class SpaceKey : Key { public override void HandleTriggerEnter (Collider other) { + PressKey (); + } + + public override void PressKey () { keyboard.AddCharacter (" "); - ActivateFor (0.3f); + base.PressKey (); } public override void UpdateLayout (Layout translation) {