protected void SendCombination(EKeyCombination combination, int duration, Action callback) { if (!IsActive) { return; } ActionManager.SendAction(() => { KeyUtils.SendCombination(combination); }, duration, callback); }
private static ConcurrentQueue <Keyboard.ScanCodeShort> GetKeyCombinations(EKeyCombination keys) { ConcurrentQueue <Keyboard.ScanCodeShort> lst = new ConcurrentQueue <Keyboard.ScanCodeShort>(); foreach (var key in _keyCombinations[keys]) { lst.Enqueue(key); } return(lst); }
public static void SendCombination(EKeyCombination keys, Action callback = null) { if (WinUtils.GetActiveWindow() != WindowToSendKeysIn) { return; } if (!_keyCombinations.ContainsKey(keys)) { Debug.Log("Key map does not contain combination: " + keys.ToString()); return; } if (_currentCombination != null) { Debug.Log("A combination is already running"); return; } _callbackMultipleKey = callback; _currentCombination = GetKeyCombinations(keys); _timerCombination.Restart(); }