private void TextInputChanged(object obj) { if (obj as string is null or "") { _globalHook?.Dispose(); return; } Combination[] combinations = new Combination[((string)obj).Length]; int i = 0; foreach (char ch in (string)obj) { combinations[i] = Combination.TriggeredBy(TextTyper.ConvertCharToKey(ch)); i++; } Sequence sequence = Sequence.Of(combinations); _globalHook?.Dispose(); _globalHook = Hook.GlobalEvents(); _globalHook.OnSequence(new KeyValuePair <Sequence, Action>[] { new KeyValuePair <Sequence, Action>(sequence, ActivateTriggerOnKeyUp) }); }