Ejemplo n.º 1
0
        public Window(Surface surface)
            : base(surface)
        {
            inputHelper = new InputHelper(this);
            inputHelper.SubscribeToEvents();

            SdlDotNet.Core.Events.Quit += new EventHandler<SdlDotNet.Core.QuitEventArgs>(Events_Quit);
        }
Ejemplo n.º 2
0
        public static string GetCharString(KeyboardEventArgs e, InputHelper inputHelper)
        {
            switch (e.Key) {
                case Key.Space: {
                        return " ";
                    }
            }
            if (e.Mod == ModifierKeys.Caps || inputHelper.IsShiftDown) {
                //if (SdlDotNet.Input.Keyboard.IsKeyPressed(Key.CapsLock) || SdlDotNet.Input.Keyboard.IsKeyPressed(SdlDotNet.Input.Key.LeftShift) || SdlDotNet.Input.Keyboard.IsKeyPressed(SdlDotNet.Input.Key.RightShift)) {
                switch (e.KeyboardCharacter.ToLower()) {
                    #region Alphabet
                    case "a":
                    case "b":
                    case "c":
                    case "d":
                    case "e":
                    case "f":
                    case "g":
                    case "h":
                    case "i":
                    case "j":
                    case "k":
                    case "l":
                    case "m":
                    case "n":
                    case "o":
                    case "p":
                    case "q":
                    case "r":
                    case "s":
                    case "t":
                    case "u":
                    case "v":
                    case "w":
                    case "x":
                    case "y":
                    case "z":
                        return e.KeyboardCharacter.ToUpper();
                    #endregion
                    #region Numbers
                    case "1":
                        return "!";
                    case "2":
                        return "@";
                    case "3":
                        return "#";
                    case "4":
                        return "$";
                    case "5":
                        return "%";
                    case "6":
                        return "^";
                    case "7":
                        return "&";
                    case "8":
                        return "*";
                    case "9":
                        return "(";
                    case "0":
                        return ")";
                    #endregion
                    #region Symbols
                    case "`":
                        return "~";
                    case "-":
                        return "_";
                    case "=":
                        return "+";
                    case "[":
                        return "{";
                    case "]":
                        return "}";
                    case @"\":
                        return "|";
                    case ";":
                        return ":";
                    case "'":
                        return "\"";
                    case ",":
                        return "<";
                    case ".":
                        return ">";
                    case "/":
                        return "?";
                    #endregion
                }
            } else {
                switch (e.KeyboardCharacter.ToLower()) {
                    default:
                        return e.KeyboardCharacter;
                }
            }

            return "";
        }