public static NSEventModifierFlags GetModifier(ModifierKey key) { NSEventModifierFlags result = NSEventModifierFlags.None; foreach (var flag in EnumTools.GetFlags(key)) { switch (flag) { case ModifierKey.None: continue; case ModifierKey.Shift: result |= NSEventModifierFlags.Shift; break; case ModifierKey.Control: result |= NSEventModifierFlags.Control; break; case ModifierKey.Alt: result |= NSEventModifierFlags.Option; break; case ModifierKey.Super: case ModifierKey.Primary: result |= NSEventModifierFlags.Command; break; default: throw new NotSupportedException($"Unsupported modifier key: \"{flag}\""); } } return(result); }
private static void MapModifier(StringBuilder builder, ModifierKey modifier) { foreach (var flag in EnumTools.GetFlags(modifier)) { string value; switch (flag) { case ModifierKey.None: continue; case ModifierKey.Shift: value = "<Shift>"; break; case ModifierKey.Control: value = "<Control>"; break; case ModifierKey.Alt: value = "<Alt>"; break; case ModifierKey.Super: case ModifierKey.Primary: value = "<Super>"; break; default: throw new NotSupportedException($"Unsupported modifier key: \"{flag}\""); } builder.Append(value); } }
private static Keys MapModifier(ModifierKey modifier) { var result = Keys.None; foreach (var flag in EnumTools.GetFlags(modifier)) { switch (flag) { case ModifierKey.None: continue; case ModifierKey.Shift: result |= Keys.Shift; break; case ModifierKey.Control: case ModifierKey.Primary: result |= Keys.Control; break; case ModifierKey.Alt: result |= Keys.Alt; break; case ModifierKey.Super: result |= Keys.LWin; break; default: throw new NotSupportedException($"Unsupported modifier key: \"{flag}\""); } } return(result); }