bool KwmIsPrefixKey(hotkey *PrefixKey, modifiers *Mod, CGKeyCode Keycode) { hotkey TempHotkey; TempHotkey.Mod = *Mod; TempHotkey.Key = Keycode; return HotkeysAreEqual(PrefixKey, &TempHotkey); }
void KwmRemoveHotkey(std::string KeySym) { hotkey NewHotkey = {}; if(KwmParseHotkey(KeySym, "", &NewHotkey)) { for(std::size_t HotkeyIndex = 0; HotkeyIndex < KWMHotkeys.List.size(); ++HotkeyIndex) { if(HotkeysAreEqual(&KWMHotkeys.List[HotkeyIndex], &NewHotkey)) { KWMHotkeys.List.erase(KWMHotkeys.List.begin() + HotkeyIndex); break; } } } }
void KwmRemoveHotkey(std::string KeySym, bool KeycodeInHex) { hotkey NewHotkey = {}; if(KwmParseHotkey(KeySym, "", &NewHotkey, false, KeycodeInHex)) { mode *BindingMode = GetBindingMode(NewHotkey.Mode); for(std::size_t HotkeyIndex = 0; HotkeyIndex < BindingMode->Hotkeys.size(); ++HotkeyIndex) { hotkey *CurrentHotkey = &BindingMode->Hotkeys[HotkeyIndex]; if(HotkeysAreEqual(CurrentHotkey, &NewHotkey)) { BindingMode->Hotkeys.erase(BindingMode->Hotkeys.begin() + HotkeyIndex); break; } } } }
bool HotkeyExists(modifiers Mod, CGKeyCode Keycode, hotkey *Hotkey) { hotkey TempHotkey; TempHotkey.Mod = Mod; TempHotkey.Key = Keycode; for(std::size_t HotkeyIndex = 0; HotkeyIndex < KWMHotkeys.List.size(); ++HotkeyIndex) { if(HotkeysAreEqual(&KWMHotkeys.List[HotkeyIndex], &TempHotkey)) { if(Hotkey) *Hotkey = KWMHotkeys.List[HotkeyIndex]; return true; } } return false; }
bool HotkeyExists(modifiers Mod, CGKeyCode Keycode, hotkey *Hotkey, std::string Mode) { hotkey TempHotkey = {}; TempHotkey.Mod = Mod; TempHotkey.Key = Keycode; mode *BindingMode = GetBindingMode(Mode); for(std::size_t HotkeyIndex = 0; HotkeyIndex < BindingMode->Hotkeys.size(); ++HotkeyIndex) { hotkey *CheckHotkey = &BindingMode->Hotkeys[HotkeyIndex]; if(HotkeysAreEqual(CheckHotkey, &TempHotkey)) { if(Hotkey) *Hotkey = *CheckHotkey; return true; } } return false; }