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; }
public KeyPress(Process process, InterceptKeyEventArgs interceptKeyEventArgs, bool isLetter, IEnumerable<string> input) { Process = process; InterceptKeyEventArgs = interceptKeyEventArgs; IsLetter = isLetter; Input = input; }
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; }
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()); }
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(); } }
public KeyPress(Process process, InterceptKeyEventArgs interceptKeyEventArgs) { Process = process; InterceptKeyEventArgs = interceptKeyEventArgs; }
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); ; } }
bool IsModifierKeyPress(InterceptKeyEventArgs interceptKeyEventArgs) { return modifierKeys.Contains(interceptKeyEventArgs.Key); }
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); }