public static bool KeyDown(Control control, NSEvent theEvent) { if (control != null) { var kpea = theEvent.ToEtoKeyPressEventArgs(); control.OnKeyDown(kpea); if (!kpea.Handled) { var handler = control.Handler as IMacViewHandler; if (handler != null) handler.PostKeyDown(kpea); } return kpea.Handled; } return false; }
/// <summary> /// Raises the key down event. /// </summary> public void OnKeyDown(Control widget, KeyEventArgs e) { widget.Platform.Invoke(() => widget.OnKeyDown(e)); }
public static bool KeyDown (Control control, NSEvent theEvent) { if (control != null) { char keyChar = !string.IsNullOrEmpty (theEvent.Characters) ? theEvent.Characters [0] : '\0'; Key key = KeyMap.MapKey (theEvent.KeyCode); KeyPressEventArgs kpea; Key modifiers = KeyMap.GetModifiers (theEvent); key |= modifiers; //Console.WriteLine("\t\tkeymap.Add({2}, Key.{0}({1})); {3}", theEvent.Characters, (int)keyChar, theEvent.KeyCode, theEvent.ModifierFlags); //Console.WriteLine("\t\t{0} {1} {2}", key & Key.ModifierMask, key & Key.KeyMask, (NSKey)keyChar); if (key != Key.None) { if (((modifiers & ~(Key.Shift | Key.Alt)) == 0)) kpea = new KeyPressEventArgs (key, keyChar); else kpea = new KeyPressEventArgs (key); } else { kpea = new KeyPressEventArgs (key, keyChar); } control.OnKeyDown (kpea); return kpea.Handled; } return false; }