public override bool ProcessKey()

in src/common/details/console/gui/controls/EditBoxControl.cs [117:212]


        public override bool ProcessKey(ConsoleKeyInfo key)
        {
            bool fProcessedKey = false;

            cursor.Hide();
            switch (key.Key)
            {
                case ConsoleKey.Home:
                    if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
                    {
                        Home();
                        fProcessedKey = true;
                    }
                    break;

                case ConsoleKey.End:
                    if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
                    {
                        End();
                        fProcessedKey = true;
                    }
                    break;

                case ConsoleKey.UpArrow:
                case ConsoleKey.LeftArrow:
                    if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
                    {
                        Left();
                        fProcessedKey = true;
                    }
                    break;

                case ConsoleKey.DownArrow:
                case ConsoleKey.RightArrow:
                    if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
                    {
                        Right();
                        fProcessedKey = true;
                    }
                    break;

                case ConsoleKey.Backspace:
                    if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
                    {
                        BackSpace();
                        fProcessedKey = true;
                    }
                    break;

                case ConsoleKey.Insert:
                    if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
                    {
                        Insert();
                        fProcessedKey = true;
                    }
                    break;

                case ConsoleKey.Delete:
                    if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
                    {
                        Delete();
                        fProcessedKey = true;
                    }
                    break;

                case ConsoleKey.Escape:
                case ConsoleKey.Enter:
                case ConsoleKey.PageDown:
                case ConsoleKey.PageUp:
                case ConsoleKey.F1:
                case ConsoleKey.F2:
                case ConsoleKey.F3:
                case ConsoleKey.F4:
                case ConsoleKey.F5:
                case ConsoleKey.F6:
                case ConsoleKey.F7:
                case ConsoleKey.F8:
                case ConsoleKey.F9:
                case ConsoleKey.F10:
                case ConsoleKey.F11:
                case ConsoleKey.F12:
                case ConsoleKey.Tab:
                    break;

                default:
                    if (key.IsAscii())
                    {
                        TypeChar(key.KeyChar);
                        fProcessedKey = true;
                    }
                    break;
            }

            DisplayCursor();
            return fProcessedKey;
        }