public override bool Equals(object obj) { if (!(obj is KeyPressState)) { return(false); } KeyPressState mys = (KeyPressState)obj; // This order is an attempt to try to fail as fast as possible. if (this.Key != mys.Key) { return(false); } if (this.IsCtrl != mys.IsCtrl) { return(false); } if (this.IsShift != mys.IsShift) { return(false); } if (this.IsAlt != mys.IsAlt) { return(false); } return(IsWin == mys.IsWin); }
public TrayBasedContext(Icon appIcon, KeyPressState kps, IConfigProvider optionProvider) { this.formLaunchShortcut = kps; this.optionProvider = optionProvider; this.data = optionProvider.Load(); this.EnsureRequiredOptions(data, optionProvider); launcher = new UrlLauncher(); controlState = new Dictionary <Keys, bool>(); foreach (var k in GlobalKeyboardHook.ControlKeys) { controlState.Add(k, false); } var launch = new MenuItem("Launch", Launch); var options = new MenuItem("Options", Options); var exit = new MenuItem("Exit", Exit); MenuItem[] main = { launch, exit }; // Initialize Tray Icon trayIcon = new NotifyIcon() { Icon = appIcon, ContextMenu = new ContextMenu(main), Visible = true }; }
private void VerifyFormState(KeyPressState kps, bool isDown) { if (isDown && this.ShouldShowForm(kps)) { Launch(this, null); } }
public void HandleKey(object sender, GlobalKeyboardHookEventArgs args) { var data = args.KeyboardData; var state = args.KeyboardState; bool isSys = ((state == KeyboardState.SysKeyDown) || (state == KeyboardState.SysKeyUp)); bool isDown = ((state == KeyboardState.KeyDown) || (state == KeyboardState.SysKeyDown)); controlState[data.Key] = isDown; var kps = KeyPressState.Create(controlState, data.Key); VerifyFormState(kps, isDown); }
private bool ShouldShowForm(KeyPressState kps) { return(kps.Equals(this.formLaunchShortcut)); }