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;
        }
    }
Exemple #2
0
        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);
            }
        }