public static string ToShortcutString(this Key key, string separator = "+") { var sb = new StringBuilder(); if (key.HasFlag(Key.Control)) { AppendSeparator(sb, separator, "Ctrl"); } if (key.HasFlag(Key.Shift)) { AppendSeparator(sb, separator, "Shift"); } if (key.HasFlag(Key.Alt)) { AppendSeparator(sb, separator, "Alt"); } var mainKey = key & Key.KeyMask; string val; if (keymap.TryGetValue(mainKey, out val)) { AppendSeparator(sb, separator, val); } else { AppendSeparator(sb, separator, mainKey.ToString()); } return(sb.ToString()); }
public static swi.ModifierKeys ConvertModifier (Key key) { key &= Key.ModifierMask; swi.ModifierKeys val = swi.ModifierKeys.None; if (key.HasFlag (Key.Alt)) val |= swi.ModifierKeys.Alt; if (key.HasFlag (Key.Control)) val |= swi.ModifierKeys.Control; if (key.HasFlag (Key.Shift)) val |= swi.ModifierKeys.Shift; if (key.HasFlag (Key.Application)) val |= swi.ModifierKeys.Windows; return val; }