Exemple #1
0
        static KeyboardInputSimulation()
        {
            var combos = new[]
            {
                ModifierKeys.None,
                ModifierKeys.Shift,
                ModifierKeys.Control,
                ModifierKeys.Alt,
                ModifierKeys.Alt | ModifierKeys.Shift
            };

            var map = new Dictionary <KeyInput, KeyData>();

            foreach (var c in KeyInputUtil.CharLettersLower)
            {
                foreach (var mod in combos)
                {
                    var keyMod   = AlternateKeyUtil.ConvertToKeyModifiers(mod);
                    var keyInput = KeyInputUtil.ApplyKeyModifiersToChar(c, keyMod);
                    var key      = (Key)((c - 'a') + (int)Key.A);
                    map[keyInput] = new KeyData(key, mod);
                }
            }

            map[KeyInputUtil.CharToKeyInput(' ')] = new KeyData(Key.Space, ModifierKeys.None);
            map[KeyInputUtil.CharToKeyInput('.')] = new KeyData(Key.OemPeriod, ModifierKeys.None);
            map[KeyInputUtil.CharToKeyInput(';')] = new KeyData(Key.OemSemicolon, ModifierKeys.None);
            map[KeyInputUtil.CharToKeyInput(':')] = new KeyData(Key.OemSemicolon, ModifierKeys.Shift);

            s_keyDataMap = map;
        }
Exemple #2
0
        private bool TryConvert(KeyInput keyInput, out Key key, out ModifierKeys modifierKeys)
        {
            if (AlternateKeyUtil.TrySpecialVimKeyToKey(keyInput.Key, out key))
            {
                var keyModifiers = keyInput.KeyModifiers;

                modifierKeys = ModifierKeys.None;
                if (KeyModifiers.Control == (keyModifiers & KeyModifiers.Control))
                {
                    modifierKeys |= ModifierKeys.Control;
                }

                if (KeyModifiers.Shift == (keyModifiers & KeyModifiers.Shift))
                {
                    modifierKeys |= ModifierKeys.Shift;
                }

                if (KeyModifiers.Alt == (keyModifiers & KeyModifiers.Alt))
                {
                    modifierKeys |= ModifierKeys.Alt;
                }

                return(true);
            }

            if (keyInput.RawChar.IsSome())
            {
                uint virtualKey;
                VirtualKeyModifiers virtualKeyModifiers;

                if (_virtualKeyboard.TryMapChar(keyInput.Char, out virtualKey, out virtualKeyModifiers))
                {
                    key          = KeyInterop.KeyFromVirtualKey((int)virtualKey);
                    modifierKeys = ModifierKeys.None;

                    if (VirtualKeyModifiers.Control == (virtualKeyModifiers & VirtualKeyModifiers.Control))
                    {
                        modifierKeys |= ModifierKeys.Control;
                    }

                    if (VirtualKeyModifiers.Shift == (virtualKeyModifiers & VirtualKeyModifiers.Shift))
                    {
                        modifierKeys |= ModifierKeys.Shift;
                    }

                    if (VirtualKeyModifiers.Alt == (virtualKeyModifiers & VirtualKeyModifiers.Alt))
                    {
                        modifierKeys |= ModifierKeys.Alt;
                    }

                    return(true);
                }
            }

            key          = Key.None;
            modifierKeys = ModifierKeys.None;
            return(false);
        }
Exemple #3
0
        private bool TryConvert(KeyInput keyInput, out Key key, out ModifierKeys modifierKeys)
        {
            if (AlternateKeyUtil.TrySpecialVimKeyToKey(keyInput.Key, out key))
            {
                var keyModifiers = keyInput.KeyModifiers;

                modifierKeys = ModifierKeys.None;
                if (VimKeyModifiers.Control == (keyModifiers & VimKeyModifiers.Control))
                {
                    modifierKeys |= ModifierKeys.Control;
                }

                if (VimKeyModifiers.Shift == (keyModifiers & VimKeyModifiers.Shift))
                {
                    modifierKeys |= ModifierKeys.Shift;
                }

                if (VimKeyModifiers.Alt == (keyModifiers & VimKeyModifiers.Alt))
                {
                    modifierKeys |= ModifierKeys.Alt;
                }

                return(true);
            }

            KeyData keyData;

            if (KeyDataMap.TryGetValue(keyInput, out keyData))
            {
                key          = keyData.Key;
                modifierKeys = keyData.ModifierKeys;
                return(true);
            }

            key          = Key.None;
            modifierKeys = ModifierKeys.None;
            return(false);
        }
 protected AlternateKeyUtilTest()
 {
     _keyUtilRaw = new AlternateKeyUtil();
     _keyUtil    = _keyUtilRaw;
 }