public static bool isKeyDown(Keys.Key key)
 {
     if (keysDown.ContainsKey(key))
     {
         bool hasKey;
         keysDown.TryGetValue(key, out hasKey);
         return(hasKey);
     }
     return(false);
 }
 public static void notifyKeyPressed(Keys.Key keyPressed)
 {
     keysDown[keyPressed] = true;
 }
 public static void notifyKeyUp(Keys.Key keyReleased)
 {
     keysDown[keyReleased] = false;
 }
Example #4
0
        public char getCharForKey(Keys.Key keyPressed)
        {
            bool isShiftDown = Keyboard.isShiftDown();

            char charPressed = ' ';

            if (keyPressed >= Keys.Key.A && keyPressed <= Keys.Key.Z)
            {
                char letterPressed = (char)('a' + (keyPressed - Keys.Key.A));

                if (isShiftDown)
                {
                    letterPressed = Char.ToUpper(letterPressed);
                }

                charPressed = letterPressed;
            }
            else if (keyPressed >= Keys.Key.Number0 && keyPressed <= Keys.Key.Number9)
            {
                char letterPressed = (char)('1' + (keyPressed - Keys.Key.Number1));

                if (!isShiftDown)
                {
                    charPressed = letterPressed;
                }
                else
                {
                    switch (keyPressed)
                    {
                    case Keys.Key.Number0:
                        charPressed = ')';
                        break;

                    case Keys.Key.Number1:
                        charPressed = '!';
                        break;

                    case Keys.Key.Number2:
                        charPressed = '"';
                        break;

                    case Keys.Key.Number3:
                        charPressed = '£';
                        break;

                    case Keys.Key.Number4:
                        charPressed = '$';
                        break;

                    case Keys.Key.Number5:
                        charPressed = '%';
                        break;

                    case Keys.Key.Number6:
                        charPressed = '^';
                        break;

                    case Keys.Key.Number7:
                        charPressed = '&';
                        break;

                    case Keys.Key.Number8:
                        charPressed = '*';
                        break;

                    case Keys.Key.Number9:
                        charPressed = '(';
                        break;
                    }
                }
            }
            else if (keyPressed == Keys.Key.NonUSBackSlash)
            {
                if (isShiftDown)
                {
                    charPressed = '|';
                }
                else
                {
                    charPressed = '\\';
                }
            }
            else if (keyPressed == Keys.Key.Comma)
            {
                if (isShiftDown)
                {
                    charPressed = '<';
                }
                else
                {
                    charPressed = ',';
                }
            }
            else if (keyPressed == Keys.Key.Period)
            {
                if (isShiftDown)
                {
                    charPressed = '>';
                }
                else
                {
                    charPressed = '.';
                }
            }
            else if (keyPressed == Keys.Key.Slash)
            {
                if (isShiftDown)
                {
                    charPressed = '?';
                }
                else
                {
                    charPressed = '/';
                }
            }
            else if (keyPressed == Keys.Key.Semicolon)
            {
                if (isShiftDown)
                {
                    charPressed = ':';
                }
                else
                {
                    charPressed = ';';
                }
            }
            else if (keyPressed == Keys.Key.Quote)
            {
                if (isShiftDown)
                {
                    charPressed = '@';
                }
                else
                {
                    charPressed = '\'';
                }
            }
            else if (keyPressed == Keys.Key.BackSlash)
            {
                if (isShiftDown)
                {
                    charPressed = '~';
                }
                else
                {
                    charPressed = '#';
                }
            }
            else if (keyPressed == Keys.Key.BracketLeft)
            {
                if (isShiftDown)
                {
                    charPressed = '{';
                }
                else
                {
                    charPressed = '[';
                }
            }
            else if (keyPressed == Keys.Key.BracketRight)
            {
                if (isShiftDown)
                {
                    charPressed = '}';
                }
                else
                {
                    charPressed = ']';
                }
            }
            else if (keyPressed == Keys.Key.Grave)
            {
                if (isShiftDown)
                {
                    charPressed = '¬';
                }
                else
                {
                    charPressed = '`';
                }
            }
            else if (keyPressed == Keys.Key.Minus)
            {
                if (isShiftDown)
                {
                    charPressed = '_';
                }
                else
                {
                    charPressed = '-';
                }
            }
            else if (keyPressed == Keys.Key.Plus)
            {
                if (isShiftDown)
                {
                    charPressed = '+';
                }
                else
                {
                    charPressed = '=';
                }
            }

            return(charPressed);
        }