Exemplo n.º 1
0
 public KeyPress(ProcessInfo process, InterceptKeyEventArgs interceptKeyEventArgs, bool winkeyPressed, IEnumerable<string> input) :
     base(interceptKeyEventArgs.Key, winkeyPressed, interceptKeyEventArgs.ShiftPressed, interceptKeyEventArgs.AltPressed, interceptKeyEventArgs.ControlPressed)
 {
     Process = process;
     InterceptKeyEventArgs = interceptKeyEventArgs;
     Input = input;
 }
Exemplo n.º 2
0
 public KeyPress(Process process, InterceptKeyEventArgs interceptKeyEventArgs, bool isLetter, IEnumerable<string> input)
 {
     Process = process;
     InterceptKeyEventArgs = interceptKeyEventArgs;
     IsLetter = isLetter;
     Input = input;
 }
Exemplo n.º 3
0
        InterceptKeyEventArgs DetectWindowsKey(InterceptKeyEventArgs interceptKeyEventArgs)
        {
            if (interceptKeyEventArgs.Key == Keys.LWin || interceptKeyEventArgs.Key == Keys.RWin)
            {
                if (interceptKeyEventArgs.KeyDirection == KeyDirection.Up)
                    winKeyPressed = false;
                else if (interceptKeyEventArgs.KeyDirection == KeyDirection.Down)
                    winKeyPressed = true;
            }

            return interceptKeyEventArgs;
        }
Exemplo n.º 4
0
        public void verify_password_mode_works()
        {
            //arrange
            var passwordInterceptKeyEventArgs = new InterceptKeyEventArgs(Keys.A, KeyDirection.Down, false, false, false);
            var passwordInterceptKeyEventArgs2 = new InterceptKeyEventArgs(Keys.B, KeyDirection.Down, false, false, false);
            var player = new KeyPlayer { passwordInterceptKeyEventArgs, passwordInterceptKeyEventArgs2 };

            var passwordService = Substitute.For<IPasswordModeService>();
            passwordService.CheckPasswordMode(Arg.Is(passwordInterceptKeyEventArgs)).Returns(true);

            var provider = new KeyProvider(player, passwordService);

            //act
            var processedKeys = ToEnumerable(provider, player);

            //assert
            Assert.Equal(1, processedKeys.Count());
        }
Exemplo n.º 5
0
        private static IEnumerable<string> ToInputs(bool isLetter, bool isWinKeyPressed, InterceptKeyEventArgs interceptKeyEventArgs)
        {
            var controlPressed = interceptKeyEventArgs.ControlPressed;
            var altPressed = interceptKeyEventArgs.AltPressed;
            var shiftPressed = interceptKeyEventArgs.ShiftPressed;
            if (controlPressed)
                yield return "Ctrl";
            if (altPressed)
                yield return "Alt";
            if (isWinKeyPressed)
                yield return "Win";

            if (controlPressed || altPressed)
            {
                //Treat as a shortcut, don't be too smart
                if (shiftPressed)
                    yield return "Shift";

                yield return interceptKeyEventArgs.Key.Sanitise();
            }
            else
            {
                string input;
                var shiftModifiesInput = interceptKeyEventArgs.Key.SanitiseShift(out input);

                if (!isLetter && !shiftModifiesInput && shiftPressed)
                    yield return "Shift";

                if (interceptKeyEventArgs.ShiftPressed && shiftModifiesInput)
                    yield return input;
                else if (isLetter && !interceptKeyEventArgs.ShiftPressed)
                    yield return interceptKeyEventArgs.Key.ToString().ToLower();
                else
                    yield return interceptKeyEventArgs.Key.Sanitise();
            }
        }
Exemplo n.º 6
0
 public KeyPress(Process process, InterceptKeyEventArgs interceptKeyEventArgs)
 {
     Process = process;
     InterceptKeyEventArgs = interceptKeyEventArgs;
 }
Exemplo n.º 7
0
        KeyPress ToCarnacKeyPress(InterceptKeyEventArgs interceptKeyEventArgs)
        {
            var process = GetAssociatedProcess();

            var isLetter = interceptKeyEventArgs.IsLetter();
            var inputs = ToInputs(isLetter, winKeyPressed, interceptKeyEventArgs).ToArray();
            try
            {
                string processFileName = process.MainModule.FileName;
                ImageSource image = IconUtilities.GetProcessIconAsImageSource(processFileName);
                return new KeyPress(new ProcessInfo(process.ProcessName, image), interceptKeyEventArgs, winKeyPressed, inputs);
            }
            catch (System.Exception)
            {
                return new KeyPress(new ProcessInfo(process.ProcessName), interceptKeyEventArgs, winKeyPressed, inputs); ;
            }
        }
Exemplo n.º 8
0
 bool IsModifierKeyPress(InterceptKeyEventArgs interceptKeyEventArgs)
 {
     return modifierKeys.Contains(interceptKeyEventArgs.Key);
 }
Exemplo n.º 9
0
        private KeyPress ToCarnacKeyPress(InterceptKeyEventArgs interceptKeyEventArgs)
        {
            var process = GetAssociatedProcess();

            var isLetter = interceptKeyEventArgs.Key >= Keys.A &&
                           interceptKeyEventArgs.Key <= Keys.Z;

            var inputs = ToInputs(isLetter, winKeyPressed, interceptKeyEventArgs);

            return new KeyPress(process, interceptKeyEventArgs, winKeyPressed, inputs);
        }