InputModifiers GetModifiers(NSEventModifierMask mod) { var rv = new InputModifiers(); if (mod.HasFlag(NSEventModifierMask.ControlKeyMask)) { rv |= InputModifiers.Control; } if (mod.HasFlag(NSEventModifierMask.ShiftKeyMask)) { rv |= InputModifiers.Shift; } if (mod.HasFlag(NSEventModifierMask.AlternateKeyMask)) { rv |= InputModifiers.Alt; } if (mod.HasFlag(NSEventModifierMask.CommandKeyMask)) { rv |= InputModifiers.Windows; } if (_isLeftPressed) { rv |= InputModifiers.LeftMouseButton; } if (_isMiddlePressed) { rv |= InputModifiers.MiddleMouseButton; } if (_isRightPressed) { rv |= InputModifiers.RightMouseButton; } return(rv); }
static Xwt.ModifierKeys TranslateMask(NSEventModifierMask mask) { Xwt.ModifierKeys xwtMask = Xwt.ModifierKeys.None; if (mask.HasFlag(NSEventModifierMask.CommandKeyMask)) { xwtMask |= Xwt.ModifierKeys.Command; } if (mask.HasFlag(NSEventModifierMask.ControlKeyMask)) { xwtMask |= Xwt.ModifierKeys.Control; } if (mask.HasFlag(NSEventModifierMask.ShiftKeyMask)) { xwtMask |= Xwt.ModifierKeys.Shift; } if (mask.HasFlag(NSEventModifierMask.AlternateKeyMask)) { xwtMask |= Xwt.ModifierKeys.Alt; } return(xwtMask); }
public static Keys ToEto(this NSEventModifierMask mask) { Keys key = Keys.None; if (mask.HasFlag(NSEventModifierMask.ControlKeyMask)) { key |= Keys.Control; } if (mask.HasFlag(NSEventModifierMask.CommandKeyMask)) { key |= Keys.Application; } if (mask.HasFlag(NSEventModifierMask.ShiftKeyMask)) { key |= Keys.Shift; } if (mask.HasFlag(NSEventModifierMask.AlternateKeyMask)) { key |= Keys.Alt; } return(key); }
public static ModifierKeys ToXwtValue(this NSEventModifierMask e) { ModifierKeys m = ModifierKeys.None; if (e.HasFlag(NSEventModifierMask.ControlKeyMask)) { m |= ModifierKeys.Control; } if (e.HasFlag(NSEventModifierMask.AlternateKeyMask)) { m |= ModifierKeys.Alt; } if (e.HasFlag(NSEventModifierMask.CommandKeyMask)) { m |= ModifierKeys.Command; } if (e.HasFlag(NSEventModifierMask.ShiftKeyMask)) { m |= ModifierKeys.Shift; } return(m); }
internal static VimKeyModifiers ConvertToKeyModifiers(NSEventModifierMask keys) { var res = VimKeyModifiers.None; if (keys.HasFlag(NSEventModifierMask.ShiftKeyMask)) { res |= VimKeyModifiers.Shift; } if (keys.HasFlag(NSEventModifierMask.AlternateKeyMask)) { res |= VimKeyModifiers.Alt; } if (keys.HasFlag(NSEventModifierMask.ControlKeyMask)) { res |= VimKeyModifiers.Control; } if (keys.HasFlag(NSEventModifierMask.CommandKeyMask)) { res |= VimKeyModifiers.Command; } return(res); }
public static Keys MapKey(ushort key, NSEventModifierMask modifiers) { Keys value; if (Map.TryGetValue(key, out value)) { // special case, fn+return is usually interpreted as insert key on macOS, even though it is actually enter. if (value == Keys.Enter && modifiers.HasFlag(NSEventModifierMask.FunctionKeyMask)) { return(Keys.Insert); } return(value); } Debug.WriteLine($"Unknown key '{key}'"); return(Keys.None); }