private static void LowLevelKeyboard_KeyUp(LowLevelKeyboard.KeyEventArgs e) { if (Config.BaseKeys.TrueForAll(key => LowLevelKeyboard.DownKeys.Contains(key))) { var shortcut = Config.Shortcuts.FirstOrDefault(s => s.InputKey == e.Key); if (shortcut != null) { LowLevelKeyboard.SendKeyUp(shortcut.OutputKey); e.Cancel = true; } } // disable CapsLock toggle functionality if (Config.DisableCapsLockToggle && e.Key == Keys.CapsLock && Control.IsKeyLocked(Keys.CapsLock)) { var timer = new System.Timers.Timer(1); timer.Elapsed += (sender, e) => { if (Control.IsKeyLocked(Keys.CapsLock)) { LowLevelKeyboard.SendKeyPress(Keys.CapsLock); } timer.Dispose(); }; timer.Start(); } }
private static void LowLevelKeyboard_KeyDown(LowLevelKeyboard.KeyEventArgs e) { if (Config.BaseKeys.TrueForAll(key => LowLevelKeyboard.DownKeys.Contains(key))) { var shortcut = Config.Shortcuts.FirstOrDefault(s => s.InputKey == e.Key); if (shortcut != null) { LowLevelKeyboard.SendKeyDown(shortcut.OutputKey); e.Cancel = true; } } }