public override void KeyDown(NSEvent theEvent) { if ((int)theEvent.ModifierFlags == (int)KeyModifierFlag.None && (theEvent.KeyCode == (int)KeyCodes.Enter || theEvent.KeyCode == (int)KeyCodes.Space)) { PerformClick(this); } var args = new NSEventArgs(theEvent); KeyDownPressed?.Invoke(this, args); if (!args.Handled) { base.KeyDown(theEvent); } }
private void ToolboxWidget_KeyDownPressed(object sender, NativeViews.NSEventArgs args) { if ((int)args.Event.ModifierFlags == (int)KeyModifierFlag.None && (args.Event.KeyCode == (int)KeyCodes.Enter)) { toolboxWidget.PerformActivateSelectedItem(); args.Handled = true; return; } if (args.Event.KeyCode == (ushort)NSKey.DownArrow && toolboxWidget.SelectionIndexPaths.Count == 0) { var firstVisibleItemPath = GetFirstVisibleItemIndexPath(); if (firstVisibleItemPath != null) { toolboxWidget.SelectItems(new NSSet(firstVisibleItemPath), NSCollectionViewScrollPosition.CenteredVertically); args.Handled = true; return; } } }
private void OnKeyDownKeyLoop(object sender, NativeViews.NSEventArgs args) { if (sender is NSView view && keyViewLoopDelegate.Contains(view)) { if (args.Event.KeyCode == (int)KeyCodes.Tab) { if ((int)args.Event.ModifierFlags == (int)KeyModifierFlag.None) { keyViewLoopDelegate.FocusNextView(view, 1); args.Handled = true; return; } if ((int)args.Event.ModifierFlags == (int)KeyModifierFlag.Shift) { keyViewLoopDelegate.FocusNextView(view, -1); args.Handled = true; return; } } } }