/// <summary> /// Return a KeyboardAction based on keys pressed and context. /// </summary> /// <param name="key">The key pressed.</param> /// <param name="modifierKeys">The modifier keys pressed.</param> /// <param name="keyboardActionContext">The keyboard action context.</param> /// <returns>The keyboard action.</returns> public KeyboardAction GetKeyboardAction(Key key, ModifierKeys modifierKeys, KeyboardActionContext keyboardActionContext) { Tuple <Key, ModifierKeys, KeyboardActionContext> tuple = new Tuple <Key, ModifierKeys, KeyboardActionContext>(key, modifierKeys, keyboardActionContext); return(this.Mappings.ContainsKey(tuple) ? this.Mappings[tuple] : KeyboardAction.None); }
/// <summary> /// Map a key with an action. /// </summary> /// <param name="key">The key pressed.</param> /// <param name="modifierKeys">The modifier keys pressed.</param> /// <param name="keyboardAction">The keyboard action.</param> /// <param name="keyboardActionContext">The keyboard action context.</param> public void Map(Key key, ModifierKeys modifierKeys, KeyboardAction keyboardAction, KeyboardActionContext keyboardActionContext) { Tuple <Key, ModifierKeys, KeyboardActionContext> tuple = new Tuple <Key, ModifierKeys, KeyboardActionContext>(key, modifierKeys, keyboardActionContext); if (!this.Mappings.ContainsKey(tuple)) { this.Mappings.Add(tuple, keyboardAction); } }