예제 #1
0
        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;
                }
            }
        }
예제 #2
0
        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);
        }