Ejemplo n.º 1
0
        public void OnKeyDown(IKeyboardPluginContext context, object sender, LowLevelKeyEventArgs e)
        {
            e.Handled = true;

            try
            {
                var keysState = e.PressedKeys;
                var input     = e.ConvertToCurrentLanguage();
                if (context.Keybinds.Contains(keysState))
                {
                    context.Keybinds.Execute(keysState, e.CurrentKeyInfo.IsKeyHoldDown);
                    _stateController.PrintState();
                    return;
                }

                if (input.Length > 0)
                {
                    _stateController.FilterHints(input);
                }
            }
            catch (Exception ex)
            {
                UIAssistantAPI.LogAPI.WriteErrorMessage(ex);
            }
        }
Ejemplo n.º 2
0
        public static void Notify(LowLevelKeyEventArgs e)
        {
            if (!IsActive)
            {
                Initialize();
            }
            var input = e.ConvertToCurrentLanguage();

            if (input.Trim().Length > 0 && char.IsLetterOrDigit(input[0]))
            {
                _visualizer?.Dispatcher.Invoke((Action)(() => Notify(input)));
            }
            else if (!e.CurrentKeyInfo.Key.IsModifiersKey())
            {
                _visualizer?.Dispatcher.Invoke((Action)(() => Notify(e.PressedKeys.ToString(), true)));
            }
        }
Ejemplo n.º 3
0
        public void OnKeyDown(IKeyboardPluginContext context, object sender, LowLevelKeyEventArgs e)
        {
            e.Handled = true;

            var keysState = e.PressedKeys;
            var input     = e.ConvertToCurrentLanguage();

            if (context.Keybinds.Contains(keysState))
            {
                context.Keybinds.Execute(keysState, e.CurrentKeyInfo.IsKeyHoldDown);
                return;
            }

            if (string.IsNullOrEmpty(input) || char.IsControl(input[0]))
            {
                return;
            }
            _stateController.Input(input);
        }
Ejemplo n.º 4
0
        public void OnKeyDown(IKeyboardPluginContext context, object sender, LowLevelKeyEventArgs e)
        {
            var keybinds = _currentKeybinds.Keybinds;

            if (e.CurrentKeyInfo.IsInjected)
            {
                e.Handled = false;
                return;
            }
            e.Handled = true;

            var keysState = e.PressedKeys;
            var key       = e.CurrentKeyInfo.Key;

            _currentKeySet = keysState;

            if (keysState.Keys.Count == 1)
            {
                if (_currentKeybinds.OneShotDefined.ContainsKey(keysState))
                {
                    keybinds.Execute(keysState, e.CurrentKeyInfo.IsKeyHoldDown);
                    return;
                }
            }

            var input = e.ConvertToCurrentLanguage();

            if (input.Length > 0 && _command != null)
            {
                _command.Invoke(input, keysState);
                return;
            }
            if (keybinds.Contains(keysState))
            {
                if (e.CurrentKeyInfo.IsKeyHoldDown && !keybinds.CanActWhenKeyRepeat(keysState))
                {
                    return;
                }
                var operation = keybinds.GetAction(keysState);
                ReleaseKeys(keysState);
                operation?.Invoke();
                return;
            }

            //var keyset = new KeySet(key);
            var keyset = GenerateKeySet(key, keysState);

            if (keybinds.Contains(keyset))
            {
                if (e.CurrentKeyInfo.IsKeyHoldDown && !keybinds.CanActWhenKeyRepeat(keyset))
                {
                    return;
                }
                var operation = keybinds.GetAction(keyset);
                ReleaseKeys(keysState);
                operation?.Invoke();
                return;
            }

            e.Handled = !_currentKeybinds.IsEnabledWindowsKeybinds;
            return;
        }