public void Remove(HotkeyDefinition hotkey) { hotkeys.Remove(hotkey); }
bool HasModifiers(HotkeyDefinition hotkey) { if(hotkey.Extra != Keys.None && !pressed[hotkey.Extra]) return false; if((hotkey.EnabledOptions & HotkeyDefinition.Options.IgnoreModifiers) == HotkeyDefinition.Options.IgnoreModifiers) return true; bool[,] modifiers = { { (hotkey.Keys & Keys.Alt) == Keys.Alt, pressed[Keys.Alt] || pressed[Keys.LMenu] || pressed[Keys.RMenu], (hotkey.Keys & Keys.LMenu) == Keys.LMenu }, { (hotkey.Keys & Keys.Control) == Keys.Control, pressed[Keys.Control] || pressed[Keys.LControlKey] || pressed[Keys.RControlKey], (hotkey.Keys & Keys.ControlKey) == Keys.ControlKey }, { (hotkey.Keys & Keys.Shift) == Keys.Shift, pressed[Keys.Shift] || pressed[Keys.LShiftKey] || pressed[Keys.RShiftKey], (hotkey.Keys & Keys.ShiftKey) == Keys.ShiftKey } }; for(int i = 0; i < 3; i++) if((modifiers[i, 0] && !modifiers[i, 1]) || (modifiers[i, 1] && !modifiers[i, 0] && !modifiers[i, 2])) return false; return true; }
public HotkeyDefinition Add(HotkeyDefinition hotkey) { hotkeys.Add(hotkey); return hotkey; }