public void AddHotkey(Section section, Chord chord, Action <Combo> action, string description) { if (section is Mode mode) { if (!mode.IsComposeMode && chord.Length > 1) { throw new ParseException($"Cannot use a chord with multiple keys inside a normal mode section. " + $"Use a '{Constants.ComposeModeSectionIdentifier}' section instead."); } if (!mode.IsComposeMode && chord.Length == 1 && chord.First().Modifiers != Modifiers.None) { throw new ParseException($"Cannot use modifiers inside a normal mode section. " + $"Use a '{Constants.ComposeModeSectionIdentifier}' section instead."); } mode.AddHotkey(new ModeHotkey(chord, action, description)); } else { HotkeyCollection.AddHotkey(chord, action, (StandardSection)section); } }