/// <summary> /// Removes a registered callbacks by the token. /// </summary> /// <param name="token">The token of the registered callback.</param> /// <remarks>If the token is not known anymore nothing happen.</remarks> public void RemoveCallback(KeyboardWatchToken token) { if (_callbacks.ContainsKey(token)) _callbacks.Remove(token); }
/// <summary> /// Registers a callback which got called if one of the given keys changed their state to one of the given states. /// </summary> /// <param name="keys">The keys which has to be watched for.</param> /// <param name="states">The key states which has to be watched for.</param> /// <param name="callback">The callback to be called.</param> /// <returns>A token which represends the current callback to be used for <see cref="DW.WPFToolkit.Helpers.KeyboardWatcher.RemoveCallback" />.</returns> public KeyboardWatchToken AddCallback(IEnumerable<Key> keys, IEnumerable<KeyState> states, Action<KeyStateChangedArgs> callback) { var token = new KeyboardWatchToken(); var callbackItem = new KeyboardWatcherCallback { Callback = callback, Keys = keys, KeyStates = states, Token = token }; _callbacks[token] = callbackItem; return token; }