public override void HandleKeyboard(ISystemContainer systemContainer, KeyCombination keyboard) { if (keyboard != null && keyboard.Key == Key.Escape) { Close(); } if (keyboard.Key == Key.BackSpace || keyboard.Key == Key.Back) { string text = (string)InputText; if (text.Length > 0) { text = text.Substring(0, text.Length - 1); InputText = text; } return; } var enteredChar = keyboard.ToChar(); if (enteredChar != null) { if (InputText.ToString().Length < 29) { InputText += enteredChar; } } }
public void ConvertsKeyToCorrectChar(Key key, bool shift, bool alt, bool ctrl, char output) { InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(CultureInfo.GetCultureInfo("en-GB")); var keyCombination = new KeyCombination { Key = key, Shift = shift, Alt = alt, Ctrl = ctrl }; var ascii = keyCombination.ToChar(); ascii.Should().Be(output); }