Esempio n. 1
0
        /// <summary>
        /// Trigger specific keyboard functionality.
        /// </summary>
        /// <param name="functionKey">The functionKey of the pressed key.</param>
        public void FunctionKey(KeyboardKeyFunc functionKey)
        {
            IndicateActivity();
            switch (functionKey.m_ButtonFunction)
            {
            case KeyboardKeyFunc.Function.Enter:
            {
                Enter();
                break;
            }

            case KeyboardKeyFunc.Function.Tab:
            {
                Tab();
                break;
            }

            case KeyboardKeyFunc.Function.ABC:
            {
                ActivateSpecificKeyboard(m_LastKeyboardLayout);
                break;
            }

            case KeyboardKeyFunc.Function.Symbol:
            {
                ActivateSpecificKeyboard(LayoutType.Symbol);
                break;
            }

            case KeyboardKeyFunc.Function.Previous:
            {
                MoveCaretLeft();
                break;
            }

            case KeyboardKeyFunc.Function.Next:
            {
                MoveCaretRight();
                break;
            }

            case KeyboardKeyFunc.Function.Close:
            {
                Close();
                break;
            }

            case KeyboardKeyFunc.Function.Dictate:
            {
                if (IsMicrophoneActive())
                {
                    EndDictation();
                }
                else
                {
                    BeginDictation();
                }
                break;
            }

            case KeyboardKeyFunc.Function.Shift:
            {
                Shift(!m_IsShifted);
                break;
            }

            case KeyboardKeyFunc.Function.CapsLock:
            {
                CapsLock(!m_IsCapslocked);
                break;
            }

            case KeyboardKeyFunc.Function.Space:
            {
                Space();
                break;
            }

            case KeyboardKeyFunc.Function.Backspace:
            {
                Backspace();
                break;
            }

            case KeyboardKeyFunc.Function.UNDEFINED:
            {
                Debug.LogErrorFormat("The {0} key on this keyboard hasn't been assigned a function.", functionKey.name);
                break;
            }

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        /// <summary>
        /// Trigger specific keyboard functionality.
        /// </summary>
        /// <param name="functionKey">The functionKey of the pressed key.</param>
        public void FunctionKey(KeyboardKeyFunc functionKey)
        {
            switch (functionKey.m_ButtonFunction)
            {
            case KeyboardKeyFunc.Function.Enter:
            {
                Enter();
                break;
            }

            case KeyboardKeyFunc.Function.Tab:
            {
                Tab();
                break;
            }

            case KeyboardKeyFunc.Function.ABC:
            {
                ActivateSpecificKeyboard(m_LastKeyboardLayout);
                break;
            }

            case KeyboardKeyFunc.Function.Symbol:
            {
                ActivateSpecificKeyboard(LayoutType.Symbol);
                break;
            }

            case KeyboardKeyFunc.Function.Previous:
            {
                MoveCaretLeft();
                break;
            }

            case KeyboardKeyFunc.Function.Next:
            {
                MoveCaretRight();
                break;
            }

            case KeyboardKeyFunc.Function.Close:
            {
                Close();
                break;
            }

            case KeyboardKeyFunc.Function.Dictate:
            {
#if UNITY_WSA || UNITY_STANDALONE_WIN
                if (m_Dictation != null && m_Dictation.Status == SpeechSystemStatus.Running)
                {
                    EndDictation();
                }
                else
                {
                    BeginDictation();
                }
#endif
                break;
            }

            case KeyboardKeyFunc.Function.Shift:
            {
                Shift(!m_IsShifted);
                break;
            }

            case KeyboardKeyFunc.Function.CapsLock:
            {
                CapsLock(!m_IsCapslocked);
                break;
            }

            case KeyboardKeyFunc.Function.Space:
            {
                Space();
                break;
            }

            case KeyboardKeyFunc.Function.Backspace:
            {
                Backspace();
                break;
            }

            case KeyboardKeyFunc.Function.UNDEFINED:
            {
                Debug.LogErrorFormat("The {0} key on this keyboard hasn't been assigned a function.", functionKey.name);
                break;
            }

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Trigger specific keyboard functionality.
        /// </summary>
        /// <param name="functionKey">The functionkey of the pressed key.</param>
        public void FunctionKey(KeyboardKeyFunc functionKey)
        {
            switch (functionKey.m_ButtonFunction)
            {
            case KeyboardKeyFunc.Function.Enter:
            {
                Enter();
                break;
            }

            case KeyboardKeyFunc.Function.Tab:
            {
                Tab();
                break;
            }

            case KeyboardKeyFunc.Function.ABC:
            {
                ActivateSpecificKeyboard(m_LastKeyboardLayout);
                break;
            }

            case KeyboardKeyFunc.Function.Symbol:
            {
                ActivateSpecificKeyboard(LayoutType.Symbol);
                break;
            }

            case KeyboardKeyFunc.Function.Previous:
            {
                MoveCaretLeft();
                break;
            }

            case KeyboardKeyFunc.Function.Next:
            {
                MoveCaretRight();
                break;
            }

            case KeyboardKeyFunc.Function.Close:
            {
                Close();
                break;
            }

            case KeyboardKeyFunc.Function.Dictate:
            {
                BeginDictation();
                break;
            }

            case KeyboardKeyFunc.Function.Shift:
            {
                // On click ouc
                //if (FocusManager.Instance.UIEventPointerData.clickCount == 2)
                //{
                //	if (m_IsShifted)
                //	{
                //		CapsLock(!m_IsCapslocked);
                //	}
                //}
                //else
                //{
                Shift(!m_IsShifted);
                //}
                break;
            }

            case KeyboardKeyFunc.Function.CapsLock:
            {
                CapsLock(!m_IsCapslocked);
                break;
            }

            case KeyboardKeyFunc.Function.Space:
            {
                Space();
                break;
            }

            case KeyboardKeyFunc.Function.Backspace:
            {
                Backspace();
                break;
            }

            default:
            case KeyboardKeyFunc.Function.UNDEFINED:
            {
                Debug.LogErrorFormat("The {0} key on this keyboard hasn't been assigned a function.", functionKey.name);
                break;
            }
            }
        }