public void KeyboardTyping(KeyboardClicker.EKeyState state, string key) { InputField inputField = GetInputField(); inputField.ActivateInputField(); switch (state) { case KeyboardClicker.EKeyState.Preview: PreviewKey(inputField, key); break; case KeyboardClicker.EKeyState.Confirm: ConfirmKey(inputField); break; case KeyboardClicker.EKeyState.Special_Enter: if (inputField.multiLine) { PreviewKey(inputField, "\n"); ConfirmKey(inputField); } else { original_text = inputField.text; SetBounds(inputField, 0, original_text.Length); inputField.DeactivateInputField(); /* in a Dialog, this sends the OnChange event */ inputField.ActivateInputField(); } break; case KeyboardClicker.EKeyState.Special_Esc: inputField.text = original_text; SetBounds(inputField, 0, original_text.Length); break; case KeyboardClicker.EKeyState.Special_Backspace: string s = inputField.text; int start, stop; GetBounds(inputField, out start, out stop); if (start == stop) { start -= 1; if (start < 0) { break; } } inputField.text = s.Remove(start, stop - start); SetBounds(inputField, start, start); break; } }
public void KeyboardTyping(KeyboardClicker.EKeyState state, string key) { GameObject gobj = EventSystem.current.currentSelectedGameObject; if (gobj != null && gobj && gobj.transform.IsChildOf(transform)) { /* the selection is already inside this dialog */ } else { gobj = SetInitialSelection(); if (gobj == null) { return; } } var keyboardVrInput = gobj.GetComponent <KeyboardVRInput>(); if (keyboardVrInput != null) { keyboardVrInput.KeyboardTyping(state, key); } }