public static void SetHotkey(IAppConfiguration appConfiguration, HotkeyAction hotkeyAction, Action actionToRegister) { // save action to reconstruct later dict[hotkeyAction] = actionToRegister; foreach (var registeredEvent in registeredEvents) { registeredEvent.Dispose(); } var actionList = new List <(string key, string combination, Dictionary <string, Action> actionDictionary)>(); AddToList(appConfiguration.CaptureHotKey, HotkeyAction.Capture, actionList); AddToList(appConfiguration.OverlayHotKey, HotkeyAction.Overlay, actionList); AddToList(appConfiguration.OverlayConfigHotKey, HotkeyAction.OverlayConfig, actionList); AddToList(appConfiguration.ResetHistoryHotkey, HotkeyAction.ResetHistory, actionList); foreach (var item in actionList) { RemoveInvalidCombinations(item.combination, item.actionDictionary, actionList.Where(x => x.key == item.key).Where(x => x.actionDictionary != item.actionDictionary).Select(x => x.combination)); } foreach (var item in actionList) { var hook = Hook.GlobalEvents(); hook.OnCXCombination(item.key, item.actionDictionary); registeredEvents.Add(hook); } }
public Action Dispatch(HotkeyAction hotkeyAction) { if (actions.TryGetValue(hotkeyAction, out var action)) { return(action.Execute); } throw new NotImplementedException("Action does not exist."); }
public HotkeyActionEditorForm(HotkeyAction action) { InitializeComponent(); if (action.Keys != null) { hotkeyTextBox.Text = string.Join(" ", action.Keys); } }
public KeyCode?GetHotkey(HotkeyAction action) { if (_hotkeys.ContainsKey(action)) { return(_hotkeys[action]); } return(null); }
public HotkeyControl(string text, HotkeyAction key) { _key = key; CanMove = true; AcceptMouseInput = true; Add(new Label(text, true, 0, 150, 1)); AddNew(key); }
public Hotkey(string name, string id, Keys[] keys, HotkeyAction action, int sleep, bool retriggerable, params object[] args) { this.name = name; this.id = id; this.keys = keys; this.action = action; this.args = args; this.sleep = sleep; this.retriggerable = retriggerable; }
public void UnBind(HotkeyAction action) { for (int i = 0; i < _hotkeys.Count; i++) { var h = _hotkeys[i]; if (h.KeyAction == action) { _hotkeys.RemoveAt(i); break; } } }
private void LoadHotkey(HotkeyAction action, KeyCode defaultKeyCode) { var kc = PlayerPrefs.GetInt(action.ToString()); if (kc != 0) { UpdateHotkey(action, (KeyCode)kc); } else { UpdateHotkey(action, defaultKeyCode); } }
public void AddNew(HotkeyAction action) { HotkeyBox box = new HotkeyBox { X = 150 }; box.HotkeyChanged += (sender, e) => { GameScene gs = Client.Game.GetScene <GameScene>(); if (gs == null) { return; } if (gs.Hotkeys.Bind(_key, box.Key, box.Mod)) { } else // show a popup { UIManager.Add(new MessageBoxGump(400, 200, ResGumps.KeyCombinationAlreadyExists, null)); } }; box.HotkeyCancelled += (sender, e) => { GameScene gs = Client.Game.GetScene <GameScene>(); if (gs == null) { return; } gs.Hotkeys.UnBind(_key); }; if (_hotkesBoxes.Count != 0) { box.Y = _hotkesBoxes[_hotkesBoxes.Count - 1] .Bounds.Bottom; } _hotkesBoxes.Add(box); Add(box); }
public void AddNew(HotkeyAction action) { HotkeyBox box = new HotkeyBox() { X = 150, }; box.HotkeyChanged += (sender, e) => { GameScene gs = Engine.SceneManager.GetScene <GameScene>(); if (gs == null) { return; } if (gs.Hotkeys.Bind(_key, box.Key, box.Mod)) { } else // show a popup { Engine.UI.Add(new MessageBoxGump(400, 200, "Key combination already exists.", null)); } }; box.HotkeyCancelled += (sender, e) => { GameScene gs = Engine.SceneManager.GetScene <GameScene>(); if (gs == null) { return; } gs.Hotkeys.UnBind(_key); }; if (_hotkesBoxes.Count != 0) { box.Y = _hotkesBoxes[_hotkesBoxes.Count - 1].Bounds.Bottom; } _hotkesBoxes.Add(box); Add(box); }
public static void AddButton(HotkeyAction action, GameObject setHotkeyPrefab, GameObject hotkeyList) { var hotkey = Object.Instantiate(setHotkeyPrefab, hotkeyList.transform); hotkey.transform.localScale = Vector3.one; hotkey.transform.Find("HotkeyName").GetComponent <Text>().text = action.ToString().GetFriendlyName(); var hotkeyText = hotkey.transform.Find("SetHotkey/KeyPressed").GetComponent <Text>(); var kc = GameControl.InputManager.GetHotkey(action); hotkeyText.text = kc != null?kc.ToString() : "<None>"; GameControl.InputManager.HotkeyLabel[action] = hotkeyText; var setHotkey = hotkey.transform.Find("SetHotkey").GetComponent <Button>(); var keyName = action; setHotkey.onClick.AddListener(() => { GameControl.InputManager.RebindHotkey(keyName); }); }
public bool Bind(HotkeyAction action, SDL.SDL_Keycode key, SDL.SDL_Keymod mod) { foreach (HotKeyCombination h in _hotkeys) { if (h.Key == key && h.Mod == mod) { return(false); } } _hotkeys.Add(new HotKeyCombination { Key = key, Mod = mod, KeyAction = action }); return(true); }
public bool Bind(HotkeyAction action, SDL.SDL_Keycode key, SDL.SDL_Keymod mod) { for (int i = 0; i < _hotkeys.Count; i++) { var h = _hotkeys[i]; if (h.Key == key && h.Mod == mod) { return(false); } } _hotkeys.Add(new HotKeyCombination() { Key = key, Mod = mod, KeyAction = action }); return(true); }
private HotkeyAction?UpdateHotkey(HotkeyAction action, KeyCode keyCode) { HotkeyAction?removed = null; // Remove old hotkey mapping if (_keyCodes.ContainsKey(keyCode)) { var oldAction = _keyCodes[keyCode]; _keyCodes.Remove(keyCode); _hotkeys.Remove(oldAction); removed = oldAction; } // Remove old keycode mapping if (_hotkeys.ContainsKey(action)) { _keyCodes.Remove(_hotkeys[action]); } _hotkeys[action] = keyCode; _keyCodes[keyCode] = action; return(removed); }
internal void ProcessHotkey(HotkeyAction value) { switch (value) { case HotkeyAction.NextPage: SampleLibrary.NextPage(); break; case HotkeyAction.PrevPage: SampleLibrary.PrevPage(); break; case HotkeyAction.ToggleExtraPage: SampleLibrary.ToggleExtraPage(); break; case HotkeyAction.NextExtraPage: SampleLibrary.NextExtraPage(); break; case HotkeyAction.PrevExtraPage: SampleLibrary.PrevExtraPage(); break; case HotkeyAction.PlayPool1: Play(SampleLibrary.GetSamplePath(1)); break; case HotkeyAction.PlayPool1ModAlt: Play(SampleLibrary.GetSamplePath(1 + 9)); break; case HotkeyAction.PlayPool1ModCtrl: Play(SampleLibrary.GetSamplePath(1 + 18)); break; case HotkeyAction.PlayPool1ModCtrlAlt: Play(SampleLibrary.GetSamplePath(1 + 27)); break; case HotkeyAction.PlayPool2: Play(SampleLibrary.GetSamplePath(2)); break; case HotkeyAction.PlayPool2ModAlt: Play(SampleLibrary.GetSamplePath(2 + 9)); break; case HotkeyAction.PlayPool2ModCtrl: Play(SampleLibrary.GetSamplePath(2 + 18)); break; case HotkeyAction.PlayPool2ModCtrlAlt: Play(SampleLibrary.GetSamplePath(2 + 27)); break; case HotkeyAction.PlayPool3: Play(SampleLibrary.GetSamplePath(3)); break; case HotkeyAction.PlayPool3ModAlt: Play(SampleLibrary.GetSamplePath(3 + 9)); break; case HotkeyAction.PlayPool3ModCtrl: Play(SampleLibrary.GetSamplePath(3 + 18)); break; case HotkeyAction.PlayPool3ModCtrlAlt: Play(SampleLibrary.GetSamplePath(3 + 27)); break; case HotkeyAction.PlayPool4: Play(SampleLibrary.GetSamplePath(4)); break; case HotkeyAction.PlayPool4ModAlt: Play(SampleLibrary.GetSamplePath(4 + 9)); break; case HotkeyAction.PlayPool4ModCtrl: Play(SampleLibrary.GetSamplePath(4 + 18)); break; case HotkeyAction.PlayPool4ModCtrlAlt: Play(SampleLibrary.GetSamplePath(4 + 27)); break; case HotkeyAction.PlayPool5: Play(SampleLibrary.GetSamplePath(5)); break; case HotkeyAction.PlayPool5ModAlt: Play(SampleLibrary.GetSamplePath(5 + 9)); break; case HotkeyAction.PlayPool5ModCtrl: Play(SampleLibrary.GetSamplePath(5 + 18)); break; case HotkeyAction.PlayPool5ModCtrlAlt: Play(SampleLibrary.GetSamplePath(5 + 27)); break; case HotkeyAction.PlayPool6: Play(SampleLibrary.GetSamplePath(6)); break; case HotkeyAction.PlayPool6ModAlt: Play(SampleLibrary.GetSamplePath(6 + 9)); break; case HotkeyAction.PlayPool6ModCtrl: Play(SampleLibrary.GetSamplePath(6 + 18)); break; case HotkeyAction.PlayPool6ModCtrlAlt: Play(SampleLibrary.GetSamplePath(6 + 27)); break; case HotkeyAction.PlayPool7: Play(SampleLibrary.GetSamplePath(7)); break; case HotkeyAction.PlayPool7ModAlt: Play(SampleLibrary.GetSamplePath(7 + 9)); break; case HotkeyAction.PlayPool7ModCtrl: Play(SampleLibrary.GetSamplePath(7 + 18)); break; case HotkeyAction.PlayPool7ModCtrlAlt: Play(SampleLibrary.GetSamplePath(7 + 27)); break; case HotkeyAction.PlayPool8: Play(SampleLibrary.GetSamplePath(8)); break; case HotkeyAction.PlayPool8ModAlt: Play(SampleLibrary.GetSamplePath(8 + 9)); break; case HotkeyAction.PlayPool8ModCtrl: Play(SampleLibrary.GetSamplePath(8 + 18)); break; case HotkeyAction.PlayPool8ModCtrlAlt: Play(SampleLibrary.GetSamplePath(8 + 27)); break; case HotkeyAction.PlayPool9: Play(SampleLibrary.GetSamplePath(9)); break; case HotkeyAction.PlayPool9ModAlt: Play(SampleLibrary.GetSamplePath(9 + 9)); break; case HotkeyAction.PlayPool9ModCtrl: Play(SampleLibrary.GetSamplePath(9 + 18)); break; case HotkeyAction.PlayPool9ModCtrlAlt: Play(SampleLibrary.GetSamplePath(9 + 27)); break; default: throw new ArgumentOutOfRangeException(nameof(value), value, null); } }
public bool GetButtonDown(HotkeyAction hotkeyAction) { return(_hotkeys.ContainsKey(hotkeyAction) && Input.GetKeyDown(_hotkeys[hotkeyAction])); }
private static void AddToList(string hotkey, HotkeyAction hotkeyaction, List <(string key, string combination, Dictionary <string, Action> actionDictionary)> actionList)
public void RebindHotkey(HotkeyAction action) { _hotkeyToRebind = action; }
public HotkeyHandler(VirtualKey key, HotkeyAction action) : this(key, ModifierKeys.None, action) { }
public HotkeyHandler(VirtualKey key, ModifierKeys modkey, HotkeyAction action) { this.Key = key; this.ModKey = modkey; this.Action = action; }
private void Add(HotkeyAction action, Action handler) { _actions.Add(action, handler); }
public void ExecuteHotkeyAction(HotkeyAction action) { }