Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 4
0
        public static CombinableDo SendKeys(string text, WinModifierKeys modifierKeys, bool isEncoded, bool isUnicode)
        {
            if (modifierKeys == WinModifierKeys.None)
            {
                return(new CombinableDo());
            }

            return(TypeText(text, Convert(modifierKeys)));
        }
Esempio n. 5
0
        public static CombinableDo ReleaseModifierKeys(WinModifierKeys modifierKeys)
        {
            if (modifierKeys == WinModifierKeys.None)
            {
                return(new CombinableDo());
            }

            return(ReleaseKey(Convert(modifierKeys)));
        }
Esempio n. 6
0
        public static CombinableDo PressModifierKeys(WinModifierKeys modifierKeys)
        {
            if (modifierKeys == WinModifierKeys.None)
            {
                return(new CombinableDo());
            }

            return(PressKey(Convert(modifierKeys)));
        }
Esempio n. 7
0
        public static CombinableDo SendKeys(BasicElement control, string text, WinModifierKeys modifierKeys)
        {
            if (modifierKeys == WinModifierKeys.None)
            {
                return(new CombinableDo());
            }

            return(TypeText(control, text, Convert(modifierKeys)));
        }
Esempio n. 8
0
        public static CombinableDo PressModifierKeys(BasicElement control, WinModifierKeys modifierKeys)
        {
            if (modifierKeys == WinModifierKeys.None)
            {
                return(new CombinableDo());
            }

            return(PressKey(control, Convert(modifierKeys)));
        }
Esempio n. 9
0
 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);
 }
Esempio n. 10
0
 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);
 }
Esempio n. 11
0
 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));
     }
 }
Esempio n. 12
0
        /// <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();
            }
        }
Esempio n. 13
0
        /// <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;
        }
Esempio n. 14
0
        /// <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;
        }
Esempio n. 15
0
        /// <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);
        }
Esempio n. 16
0
 /// <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);
Esempio n. 17
0
        /// <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;
                }
            }
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
        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);
        }
Esempio n. 20
0
 public void SelectModel(System.Guid id, System.Windows.Input.ModifierKeys modifiers)
 {
     throw new System.NotImplementedException();
 }
Esempio n. 21
0
 [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));
 }
Esempio n. 25
0
 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));
 }
Esempio n. 27
0
 /// <summary>
 /// ショートカットの監視を停止します。
 /// </summary>
 public void Stop()
 {
     this.suspended           = true;
     this.pressedModifierKeys = ModifierKeys.None;
 }
Esempio n. 28
0
 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));
 }