public Window(Surface surface) : base(surface) { inputHelper = new InputHelper(this); inputHelper.SubscribeToEvents(); SdlDotNet.Core.Events.Quit += new EventHandler<SdlDotNet.Core.QuitEventArgs>(Events_Quit); }
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 ""; }