/// <summary> /// Converts a Sce.Atf.Input.Keys to a System.Windows.Input.ModifierKeys</summary> /// <param name="atfKeys">AtfKeys enum</param> /// <returns>Converted WpfModifierKeys enum</returns> public static WpfModifierKeys ToWpfModifiers(AtfKeys atfKeys) { // TODO: need to verify this all works correctly var modifiers = atfKeys &= AtfKeys.Modifiers; WpfModifierKeys result = WpfModifierKeys.None; if ((modifiers & AtfKeys.Alt) > 0) { result |= WpfModifierKeys.Alt; } if ((modifiers & AtfKeys.Shift) > 0) { result |= WpfModifierKeys.Shift; } if ((modifiers & AtfKeys.Control) > 0) { result |= WpfModifierKeys.Control; } if ((atfKeys & AtfKeys.RWin) > 0 || (atfKeys & AtfKeys.RWin) > 0) { result |= WpfModifierKeys.Windows; } return(result); }
private void GotoNextError(System.Windows.Input.ModifierKeys modifierKeys) { var errorsToolWindowViewModel = ((ErrorsToolWindowViewModel)ErrorsToolWindow); if (errorsToolWindowViewModel.References.Count > 0) { if (modifierKeys == System.Windows.Input.ModifierKeys.Shift) { if (errorsToolWindowViewModel.SelectedReferenceIndex > 0) { errorsToolWindowViewModel.SelectedReferenceIndex--; } else { errorsToolWindowViewModel.SelectedReferenceIndex = errorsToolWindowViewModel.References.Count - 1; } errorsToolWindowViewModel.GotoReferenceCommand.Execute(errorsToolWindowViewModel.References[errorsToolWindowViewModel.SelectedReferenceIndex]); } else if (modifierKeys == System.Windows.Input.ModifierKeys.None) { if (errorsToolWindowViewModel.SelectedReferenceIndex < 0) { errorsToolWindowViewModel.SelectedReferenceIndex = 0; } else { errorsToolWindowViewModel.SelectedReferenceIndex = (errorsToolWindowViewModel.SelectedReferenceIndex + 1) % errorsToolWindowViewModel.References.Count; } errorsToolWindowViewModel.GotoReferenceCommand.Execute(errorsToolWindowViewModel.References[errorsToolWindowViewModel.SelectedReferenceIndex]); } } }
public static System.Windows.Forms.Keys ToWinforms(this System.Windows.Input.ModifierKeys modifier) { var retVal = System.Windows.Forms.Keys.None; if (modifier.HasFlag(System.Windows.Input.ModifierKeys.Alt)) { retVal |= System.Windows.Forms.Keys.Alt; } if (modifier.HasFlag(System.Windows.Input.ModifierKeys.Control)) { retVal |= System.Windows.Forms.Keys.Control; } if (modifier.HasFlag(System.Windows.Input.ModifierKeys.None)) { // Pointless I know retVal |= System.Windows.Forms.Keys.None; } if (modifier.HasFlag(System.Windows.Input.ModifierKeys.Shift)) { retVal |= System.Windows.Forms.Keys.Shift; } if (modifier.HasFlag(System.Windows.Input.ModifierKeys.Windows)) { // Not supported lel } return(retVal); }
public static CombinableDo SendKeys(string text, WinModifierKeys modifierKeys, bool isEncoded, bool isUnicode) { if (modifierKeys == WinModifierKeys.None) { return(new CombinableDo()); } return(TypeText(text, Convert(modifierKeys))); }
public static CombinableDo ReleaseModifierKeys(WinModifierKeys modifierKeys) { if (modifierKeys == WinModifierKeys.None) { return(new CombinableDo()); } return(ReleaseKey(Convert(modifierKeys))); }
public static CombinableDo PressModifierKeys(WinModifierKeys modifierKeys) { if (modifierKeys == WinModifierKeys.None) { return(new CombinableDo()); } return(PressKey(Convert(modifierKeys))); }
public static CombinableDo SendKeys(BasicElement control, string text, WinModifierKeys modifierKeys) { if (modifierKeys == WinModifierKeys.None) { return(new CombinableDo()); } return(TypeText(control, text, Convert(modifierKeys))); }
public static CombinableDo PressModifierKeys(BasicElement control, WinModifierKeys modifierKeys) { if (modifierKeys == WinModifierKeys.None) { return(new CombinableDo()); } return(PressKey(control, Convert(modifierKeys))); }
public override bool ProcessKeyDown( CanonicalMouseEventArgs e, System.Windows.Input.Key key, System.Windows.Input.ModifierKeys modifierKeys, InteractionContext context ) { MessageBox.Show(e.GetWcsPosition(context).ToString()); return(true); }
bool RegHotkey(int id, MK fsModifiers, Keys vk) { if (RegisterHotKey(this.Handle, id, fsModifiers, vk)) { this.FormClosed += (object sender, FormClosedEventArgs e) => UnregisterHotKey(this.Handle, id); return(true); } return(false); }
public void AddOrReplace(string name, System.Windows.Input.Key key, System.Windows.Input.ModifierKeys modifierKeys) { try { HotkeyManager.Current.AddOrReplace(name, key, modifierKeys, this.OnHotKeyPressed); } catch (HotkeyAlreadyRegisteredException e) { this.HotkeyAlreadyRegistered?.Invoke(this, new MappedHotkeyAlreadyRegisteredEventArgs(e.Name)); } }
/// <summary> /// キーアップ割り込みイベント /// </summary> /// <param name="sender">イベント発生元オブジェクト</param> /// <param name="args">イベント引数</param> private void InterceptorOnKeyUp(object sender, KeyEventArgs args) { if (this.suspended) { return; } if (args.KeyCode.IsModifyKey()) { this.pressedModifierKeys ^= args.KeyCode.GetModifierKeys(); } }
/// <summary> /// Converts a System.Windows.Input.ModifierKey to an Sce.Atf.Input.Keys</summary> /// <param name="wpfKey">WpfModifierKeys enum</param> /// <returns>Converted AtfKeys enum</returns> public static AtfKeys ToAtf(WpfModifierKeys wpfKey) { var atfKey = AtfKeys.None; if ((wpfKey & WpfModifierKeys.Shift) != 0) atfKey |= AtfKeys.Shift; if ((wpfKey & WpfModifierKeys.Control) != 0) atfKey |= AtfKeys.Control; if ((wpfKey & WpfModifierKeys.Alt) != 0) atfKey |= AtfKeys.Alt; return atfKey; }
/// <summary> /// Class constructor /// </summary> public BlockDefinition(string blockstart, string blockend, BlockAt typeOfBlock, string fileextension, System.Windows.Input.Key key, System.Windows.Input.ModifierKeys modifier = 0) : this() { this.TypeOfBlock = typeOfBlock; this.StartBlock = blockstart; this.EndBlock = blockend; this.FileExtension = fileextension; this.Key = key; this.Modifier = modifier; }
/// <summary> /// Converts a System.Windows.Input.ModifierKey to an Sce.Atf.Input.Keys</summary> /// <param name="wpfKey">WpfModifierKeys enum</param> /// <returns>Converted AtfKeys enum</returns> public static AtfKeys ToAtf(WpfModifierKeys wpfKey) { var atfKey = AtfKeys.None; if ((wpfKey & WpfModifierKeys.Shift) != 0) { atfKey |= AtfKeys.Shift; } if ((wpfKey & WpfModifierKeys.Control) != 0) { atfKey |= AtfKeys.Control; } if ((wpfKey & WpfModifierKeys.Alt) != 0) { atfKey |= AtfKeys.Alt; } return(atfKey); }
/// <summary> /// Converts string to WPF <see cref="System.Windows.Input.ModifierKeys"/> and <see cref="System.Windows.Input.Key"/> or <see cref="System.Windows.Input.MouseAction"/>. /// For example, if s is <c>"Ctrl+Left"</c>, sets mod=ModifierKeys.Control and key=Key.Left. /// Returns false if the string is invalid or contains incorrectly specified mouse buttons. /// Supported mouse button strings: "Click", "D-click", "R-click", "M-click", "Wheel". Example: "Ctrl+R-click". The first character of a mouse word is case-insensitive. /// </summary> public static bool parseHotkeyString(string s, out System.Windows.Input.ModifierKeys mod, out System.Windows.Input.Key key, out System.Windows.Input.MouseAction mouse) { mod = 0; key = 0; mouse = 0; if (s.Ends("lick") || s.Ends("heel")) { int i = s.LastIndexOf('+') + 1; var v = s.AsSpan(i); var co = StringComparison.OrdinalIgnoreCase; if (v.Equals("Click", co)) { mouse = System.Windows.Input.MouseAction.LeftClick; } else if (v.Equals("D-click", co)) { mouse = System.Windows.Input.MouseAction.LeftDoubleClick; } else if (v.Equals("R-click", co)) { mouse = System.Windows.Input.MouseAction.RightClick; } else if (v.Equals("M-click", co)) { mouse = System.Windows.Input.MouseAction.MiddleClick; } else if (v.Equals("Wheel", co)) { mouse = System.Windows.Input.MouseAction.WheelClick; } if (mouse != default) { if (i == 0) { return(true); } s = s.ReplaceAt(i.., "A"); //replace the mouse word with a key name, else can't parse } } if (!parseHotkeyString(s, out var m, out var k)) { return(false); } mod = KModToWpf(m); return(mouse != default || (key = KKeyToWpf(k)) != default);
/// <summary> /// キーダウン割り込みイベント /// </summary> /// <param name="sender">イベント発生元オブジェクト</param> /// <param name="args">イベント引数</param> private void InterceptorOnKeyDown(object sender, KeyEventArgs args) { if (this.suspended) { return; } if (args.KeyCode.IsModifyKey()) { this.pressedModifierKeys |= args.KeyCode.GetModifierKeys(); } else { var pressedEventArgs = new ShortcutKeyPressedEventArgs(args.KeyCode.ToKey(), this.pressedModifierKeys); this.Pressed?.Invoke(this, pressedEventArgs); if (pressedEventArgs.Handled) { args.SuppressKeyPress = true; } } }
private static ModifierKeys Convert(WinModifierKeys modifierKeys) { ModifierKeys converted = 0; if (modifierKeys.HasFlag(WinModifierKeys.Shift)) { converted |= ModifierKeys.Shift; } if (modifierKeys.HasFlag(WinModifierKeys.Control)) { converted |= ModifierKeys.Control; } if (modifierKeys.HasFlag(WinModifierKeys.Alt)) { converted |= ModifierKeys.Alt; } if (modifierKeys.HasFlag(WinModifierKeys.Windows)) { converted |= ModifierKeys.Windows; } return(converted); }
public static Dynamo.Utilities.ModifierKeys AsDynamoType(this System.Windows.Input.ModifierKeys keys) { switch (keys) { case System.Windows.Input.ModifierKeys.Alt: return(ModifierKeys.Alt); case System.Windows.Input.ModifierKeys.Control: return(ModifierKeys.Control); case System.Windows.Input.ModifierKeys.None: return(ModifierKeys.None); case System.Windows.Input.ModifierKeys.Shift: return(ModifierKeys.Shift); case System.Windows.Input.ModifierKeys.Windows: return(ModifierKeys.Windows); } // This is an exhaustive enumeration, so this should never be hit unless Windows // changes their API return(ModifierKeys.None); }
public void SelectModel(System.Guid id, System.Windows.Input.ModifierKeys modifiers) { throw new System.NotImplementedException(); }
[DllImport("user32")] static extern bool RegisterHotKey( IntPtr hWnd, int id, MK fsModifiers, Keys vk);
protected virtual new bool TranslateCharCore(ref MSG msg, System.Windows.Input.ModifierKeys modifiers) { return(default(bool)); }
bool System.Windows.Interop.IKeyboardInputSink.TranslateChar(ref MSG msg, System.Windows.Input.ModifierKeys modifiers) { return(default(bool)); }
bool System.Windows.Interop.IKeyboardInputSink.OnMnemonic(ref MSG msg, System.Windows.Input.ModifierKeys modifiers) { return(default(bool)); }
public TextBoxCommandArgs(System.Windows.Input.Key key, System.Windows.Input.ModifierKeys modifiers, Object commandParameter) { this.Key = key; this.Modifiers = modifiers; this.CommandParameter = commandParameter; }
protected override bool TranslateAcceleratorCore(ref System.Windows.Interop.MSG msg, System.Windows.Input.ModifierKeys modifiers) { return(default(bool)); }
/// <summary> /// ショートカットの監視を停止します。 /// </summary> public void Stop() { this.suspended = true; this.pressedModifierKeys = ModifierKeys.None; }
public void TestCreateInstance3(System.Windows.Input.ModifierKeys key) { Assert.Equal(System.Windows.Input.ModifierKeys.None, key); }
protected virtual new bool OnMnemonicCore(ref MSG msg, System.Windows.Input.ModifierKeys modifiers) { return(default(bool)); }