public static Key Convert(swi.Key key, swi.ModifierKeys modifier) { var keys = key.ToString() .Split(new[] { ", " }, StringSplitOptions.None) .Select(v => (swi.Key)Enum.Parse(typeof(swi.Key), v)); Key ret = Key.None; foreach (var val in keys) { ret |= Find(val); } if (modifier.HasFlag(swi.ModifierKeys.Alt)) { ret |= Key.Alt; } if (modifier.HasFlag(swi.ModifierKeys.Control)) { ret |= Key.Control; } if (modifier.HasFlag(swi.ModifierKeys.Shift)) { ret |= Key.Shift; } if (modifier.HasFlag(swi.ModifierKeys.Windows)) { ret |= Key.Application; } return(ret); }
public static string ToShortcutString(this WpfKey key, WpfModifier modifier, string separator = "+") { var sb = new StringBuilder(); if (modifier.HasFlag(WpfModifier.Control)) { AppendSeparator(sb, separator, "Ctrl"); } if (modifier.HasFlag(WpfModifier.Shift)) { AppendSeparator(sb, separator, "Shift"); } if (modifier.HasFlag(WpfModifier.Alt)) { AppendSeparator(sb, separator, "Alt"); } string val; if (keymap.TryGetValue(key, out val)) { AppendSeparator(sb, separator, val); } else { AppendSeparator(sb, separator, key.ToString()); } return(sb.ToString()); }
public static System.Windows.Forms.Keys ToWinforms(System.Windows.Input.ModifierKeys modifier) { var retVal = System.Windows.Forms.Keys.None; if (modifier.HasFlag(ModifierKeys.Alt)) { retVal |= System.Windows.Forms.Keys.Alt; } if (modifier.HasFlag(ModifierKeys.Control)) { retVal |= System.Windows.Forms.Keys.Control; } if (modifier.HasFlag(ModifierKeys.None)) { // Pointless I know retVal |= System.Windows.Forms.Keys.None; } if (modifier.HasFlag(ModifierKeys.Shift)) { retVal |= System.Windows.Forms.Keys.Shift; } if (modifier.HasFlag(ModifierKeys.Windows)) { // Not supported lel } return(retVal); }
/// <summary> /// Returns Forms modifiers as <see cref="forms.Keys"/> from WPF <see cref="wpf.ModifierKeys"/>. /// </summary> /// <param name="mKeys">WPF <see cref="wpf.ModifierKeys"/> which is about to converted to Forms <see cref="forms.Keys"/>.</param> public static forms.Keys FormsModifiersFromWpfModifiers(wpf.ModifierKeys mKeys) { forms.Keys fKey = forms.Keys.None; if (mKeys.HasFlag(wpf.ModifierKeys.Control)) { fKey = fKey | forms.Keys.Control; } if (mKeys.HasFlag(wpf.ModifierKeys.Alt)) { fKey = fKey | forms.Keys.Alt; } if (mKeys.HasFlag(wpf.ModifierKeys.Shift)) { fKey = fKey | forms.Keys.Shift; } return(fKey); }
internal void NotifyListItemClicked(ListBoxItem item) { switch (SelectionMode) { case SelectionMode.Single: if (!item.IsSelected) { item.SetCurrentValue(ListBoxItem.IsSelectedProperty, true); } else if (Keyboard.Modifiers.HasFlag(ModifierKeys.Control)) { item.SetCurrentValue(ListBoxItem.IsSelectedProperty, false); } UpdateAnchorItem(ItemInfoFromContainer(item)); break; case SelectionMode.Multiple: MakeToggleSelection(item); break; case SelectionMode.Extended: ModifierKeys kbModifiers = Keyboard.Modifiers; if (kbModifiers.HasFlag(ModifierKeys.Control | ModifierKeys.Shift)) { MakeAnchorSelection(item, false); } else if (kbModifiers.HasFlag(ModifierKeys.Control)) { MakeToggleSelection(item); } else if (kbModifiers.HasFlag(ModifierKeys.Shift)) { MakeAnchorSelection(item, true); } else { MakeSingleSelection(item); } break; } }
public static ModifierKeys ToFusion(this WpfModifier modifier) { var key = ModifierKeys.None; if (modifier.HasFlag(WpfModifier.Alt)) { key |= ModifierKeys.Alt; } if (modifier.HasFlag(WpfModifier.Control)) { key |= ModifierKeys.Control; } if (modifier.HasFlag(WpfModifier.Shift)) { key |= ModifierKeys.Shift; } if (modifier.HasFlag(WpfModifier.Windows)) { key |= ModifierKeys.Windows; //throw new NotImplementedException("Windows modifier key"); // key |= EtoKey.Windows; } return(key); }
public static Keys Convert(swi.Key key, swi.ModifierKeys modifier) { Keys ret = Find(key); if (modifier.HasFlag(swi.ModifierKeys.Alt)) { ret |= Keys.Alt; } if (modifier.HasFlag(swi.ModifierKeys.Control)) { ret |= Keys.Control; } if (modifier.HasFlag(swi.ModifierKeys.Shift)) { ret |= Keys.Shift; } if (modifier.HasFlag(swi.ModifierKeys.Windows)) { ret |= Keys.Application; } return(ret); }
public static Keys ToEto(this swi.ModifierKeys modifier) { Keys ret = Keys.None; if (modifier.HasFlag(swi.ModifierKeys.Alt)) { ret |= Keys.Alt; } if (modifier.HasFlag(swi.ModifierKeys.Control)) { ret |= Keys.Control; } if (modifier.HasFlag(swi.ModifierKeys.Shift)) { ret |= Keys.Shift; } if (modifier.HasFlag(swi.ModifierKeys.Windows)) { ret |= Keys.Application; } return(ret); }