/// <summary> /// Adds a Key to a Binding /// </summary> /// <param name="id">The ID of the Binding</param> /// <param name="key">The Key</param> public void AddKey(string id, Keys key) { Binding binding; if (bindings.TryGetValue(id, out binding)) { if (!binding.Keys.Contains(key)) { binding.Keys.Add(key); } } }
/// <summary> /// Removes a Key from a Binding /// </summary> /// <param name="id">The ID of the Binding</param> /// <param name="key">The Key</param> public void RemoveKey(string id, Keys key) { Binding binding; if (bindings.TryGetValue(id, out binding)) { if (binding.Keys.Contains(key)) { binding.Keys.Remove(key); } } }
/// <summary> /// Lädt KeyBindings aus der App.config-Datei und greift, wenn kein Wert vorhanden ist, auf die angegebenen Standardwerte aus. /// </summary> /// <param name="standardKeys"></param> public void LoadFromConfig(Dictionary <string, Keys> standardKeys) { foreach (var id in standardKeys.Keys) { if (settings.KeyExists("KeyMapper-" + id)) { try { string val = settings.Get <string>("KeyMapper-" + id); Keys key = (Keys)Enum.Parse(typeof(Keys), val); AddKey(id, key); } catch { AddKey(id, standardKeys[id]); } } else { AddKey(id, standardKeys[id]); } } }