Beispiel #1
0
        private bool ConvertToKeyInfo(KeyEventArgs args, out KeyInfo info)
        {
            bool recognized = true;

            info = new KeyInfo();

            switch (args.KeyCode)
            {
            case Keys.Up:       info.Key = Key.Up; break;

            case Keys.Down:     info.Key = Key.Down; break;

            case Keys.Left:     info.Key = Key.Left; break;

            case Keys.Right:    info.Key = Key.Right; break;

            case Keys.A:        info.Key = Key.A; break;

            case Keys.B:        info.Key = Key.B; break;

            case Keys.C:        info.Key = Key.C; break;

            case Keys.D:        info.Key = Key.D; break;

            case Keys.E:        info.Key = Key.E; break;

            case Keys.F:        info.Key = Key.F; break;

            case Keys.G:        info.Key = Key.G; break;

            case Keys.H:        info.Key = Key.H; break;

            case Keys.I:        info.Key = Key.I; break;

            case Keys.J:        info.Key = Key.J; break;

            case Keys.K:        info.Key = Key.K; break;

            case Keys.L:        info.Key = Key.L; break;

            case Keys.M:        info.Key = Key.M; break;

            case Keys.N:        info.Key = Key.N; break;

            case Keys.O:        info.Key = Key.O; break;

            case Keys.P:        info.Key = Key.P; break;

            case Keys.Q:        info.Key = Key.Q; break;

            case Keys.R:        info.Key = Key.R; break;

            case Keys.S:        info.Key = Key.S; break;

            case Keys.T:        info.Key = Key.T; break;

            case Keys.U:        info.Key = Key.U; break;

            case Keys.V:        info.Key = Key.V; break;

            case Keys.W:        info.Key = Key.W; break;

            case Keys.X:        info.Key = Key.X; break;

            case Keys.Y:        info.Key = Key.Y; break;

            case Keys.Z:        info.Key = Key.Z; break;

            case Keys.D0:       info.Key = Key.Digit0; break;

            case Keys.D1:       info.Key = Key.Digit1; break;

            case Keys.D2:       info.Key = Key.Digit2; break;

            case Keys.D3:       info.Key = Key.Digit3; break;

            case Keys.D4:       info.Key = Key.Digit4; break;

            case Keys.D5:       info.Key = Key.Digit5; break;

            case Keys.D6:       info.Key = Key.Digit6; break;

            case Keys.D7:       info.Key = Key.Digit7; break;

            case Keys.D8:       info.Key = Key.Digit8; break;

            case Keys.D9:       info.Key = Key.Digit9; break;

            case Keys.Space:    info.Key = Key.Space; break;

            case Keys.Enter:    info.Key = Key.Enter; break;

            case Keys.Tab:      info.Key = Key.Tab; break;

            case Keys.Back:     info.Key = Key.Backspace; break;

            case Keys.Delete:   info.Key = Key.Delete; break;

            case Keys.Escape:   info.Key = Key.Escape; break;

            case Keys.OemSemicolon: info.Key = Key.Semicolon; break;

            case Keys.Oemcomma: info.Key = Key.Comma; break;

            case Keys.OemPeriod: info.Key = Key.Period; break;

            case Keys.OemQuestion: info.Key = Key.Slash; break;

            case Keys.F1: info.Key = Key.F1; break;

            case Keys.F2: info.Key = Key.F2; break;

            case Keys.F3: info.Key = Key.F3; break;

            case Keys.F4: info.Key = Key.F4; break;

            case Keys.F5: info.Key = Key.F5; break;

            case Keys.F6: info.Key = Key.F6; break;

            case Keys.F7: info.Key = Key.F7; break;

            case Keys.F8: info.Key = Key.F8; break;

            case Keys.F9: info.Key = Key.F9; break;

            case Keys.F10: info.Key = Key.F10; break;

            case Keys.F11: info.Key = Key.F11; break;

            case Keys.F12: info.Key = Key.F12; break;

            case Keys.F13: info.Key = Key.F13; break;

            case Keys.F14: info.Key = Key.F14; break;

            case Keys.F15: info.Key = Key.F15; break;

            case Keys.F16: info.Key = Key.F16; break;

            case Keys.F17: info.Key = Key.F17; break;

            case Keys.F18: info.Key = Key.F18; break;

            case Keys.F19: info.Key = Key.F19; break;

            case Keys.F20: info.Key = Key.F20; break;

            case Keys.F21: info.Key = Key.F21; break;

            case Keys.F22: info.Key = Key.F22; break;

            case Keys.F23: info.Key = Key.F23; break;

            case Keys.F24: info.Key = Key.F24; break;

            default: recognized = false; break;
            }

            info.Shift   = args.Shift;
            info.Control = args.Control;

            return(recognized);
        }
Beispiel #2
0
 public bool KeyUp(KeyInfo key)
 {
     return(false);
 }
Beispiel #3
0
        public int Read(int min, int start, int max)
        {
            int value = start;

            mText = value.ToString();
            Repaint();

            while (true)
            {
                KeyInfo key = Screen.UI.ReadKey();

                if (key.Down)
                {
                    switch (key.Key)
                    {
                    case Key.Escape:
                        return(0);

                    case Key.Enter:
                        return(value);

                    case Key.Digit0:
                    case Key.Digit1:
                    case Key.Digit2:
                    case Key.Digit3:
                    case Key.Digit4:
                    case Key.Digit5:
                    case Key.Digit6:
                    case Key.Digit7:
                    case Key.Digit8:
                    case Key.Digit9:
                        if (mReplacing)
                        {
                            value      = (key.Character.Value - '0');
                            mReplacing = false;
                        }
                        else
                        {
                            value = value * 10 + (key.Character.Value - '0');
                        }
                        break;

                    case Key.Backspace:
                    case Key.Delete:
                        if (value >= 10)
                        {
                            value /= 10;
                        }
                        else
                        {
                            // deleted entire number
                            mReplacing = true;
                            value      = 0;
                        }
                        break;

                    case Key.Up:
                        value++;
                        break;

                    case Key.Down:
                        value--;
                        break;

                    case Key.Left:
                        value = min;
                        break;

                    case Key.Right:
                        value = max;
                        break;
                    }
                }

                // keep in bounds
                value = value.Clamp(min, max);

                mText = value.ToString();
                Repaint();
            }
        }
Beispiel #4
0
 public bool KeyUp(KeyInfo key)
 {
     return(CheckForItemSelection(key));
 }