예제 #1
0
 /// <summary>
 /// Remainings the monsters.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="KeyboardMessageEventArgs"/> instance containing the event data.</param>
 private void RemainingMonsters(object sender, KeyboardMessageEventArgs e)
 {
     if (this._settingsService.RemainingMonsterEnabled)
     {
         this._keyboardHelper.RemainingMonster();
     }
 }
예제 #2
0
 private void KeyboardHook_MessageReceived(object sender, KeyboardMessageEventArgs e)
 {
     keyboardLabel.Invoke((MethodInvoker) delegate
     {
         keyboardLabel.Text = $"Keyboard Virtual Key Code: {e.VirtualKeyCode}; Flags: {e.Flags:x}";
     });
 }
예제 #3
0
 private void KeyboardHook_MessageReceived(object sender, KeyboardMessageEventArgs e)
 {
     keyboardLabel.Invoke((MethodInvoker) delegate
     {
         keyboardLabel.Text = $"Code: {e.KeyValue}; Modifiers: {e.Modifiers}; Flags: {e.Flags:x} "
                              + $"Shift: {e.Shift}; Control: {e.Control}; Alt: {e.Alt}; Direction: {e.Direction}";
     });
 }
예제 #4
0
 private void KeyboardHook_MessageReceived(object sender, KeyboardMessageEventArgs e)
 {
     keyboardLabel.Dispatcher.BeginInvoke(new Action(() =>
     {
         keyboardLabel.Content = $"Code: {e.KeyValue}; Modifiers: {e.Modifiers}; Flags: {e.Flags:x} "
                                 + $"Shift: {e.Shift}; Control: {e.Control}; Alt: {e.Alt}; Direction: {e.Direction}";
     }));
 }
예제 #5
0
 /// <summary>
 /// Deletes the item.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="KeyboardMessageEventArgs"/> instance containing the event data.</param>
 private void DeleteItem(object sender, KeyboardMessageEventArgs e)
 {
     if (this._settingsService.DeleteItemEnabled)
     {
         this._simulator.Mouse.LeftButtonClick();
         this._keyboardHelper.Destroy();
     }
 }
예제 #6
0
        private void HandleKeyboardMessage(KeyboardMessageEventArgs message, KeyboardEventHandler handler)
        {
            if (this._disabled)
            {
                return;
            }

            handler?.Invoke(this, message);
        }
예제 #7
0
        /// <summary>
        /// Deletes the item.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="KeyboardMessageEventArgs" /> instance containing the event data.</param>
        private async void DeleteItem(object sender, KeyboardMessageEventArgs e)
        {
            if (this._settingsService.DeleteItemEnabled)
            {
                await Simulate.Events().Click(WindowsInput.Events.ButtonCode.Left).Invoke();

                await this._keyboardHelper.Destroy();
            }
        }
예제 #8
0
        /// <summary>
        /// Mains the action toggled.
        /// </summary>
        /// <param name="e">The <see cref="KeyboardMessageEventArgs"/> instance containing the event data.</param>
        private async void MainActionToggled(KeyboardMessageEventArgs e)
        {
            if (this._disabled)
            {
                return;
            }

            if (e.Direction == KeyDirection.Down)
            {
                if (this._currentHoldTask != null)
                {
                    return;
                }

                try
                {
                    this._tokenSource     = new CancellationTokenSource();
                    this._currentHoldTask = Task.Delay(500);
                    await this._currentHoldTask;
                    if (this._tokenSource.IsCancellationRequested)
                    {
                        this._currentHoldTask = null;
                        return;
                    }

                    this.InvitePressed?.Invoke(this, e);
                }
                finally
                {
                    this._tokenSource.Dispose();
                    this._tokenSource = null;
                }

                return;
            }

            if (e.Direction == KeyDirection.Up)
            {
                if (this._currentHoldTask == null)
                {
                    return;
                }

                if (this._currentHoldTask.IsCompleted)
                {
                    this._tokenSource     = new CancellationTokenSource();
                    this._currentHoldTask = null;
                    return;
                }

                this._tokenSource.Cancel();
                this.MainActionPressed?.Invoke(this, e);

                return;
            }
        }
예제 #9
0
 private void KeyboardHook_Test(object sender, KeyboardMessageEventArgs e)
 {
     Debug.Write($"KeyboardHook_Test - Code: {e.KeyValue}; Modifiers: {e.Modifiers:x}; Flags: {e.Flags:x}; ");
     Debug.WriteLine($"Shift: {e.Shift}; Control: {e.Control}; Alt: {e.Alt}; Direction: {e.Direction}");
     testLabel.Dispatcher.BeginInvoke(new Action(() =>
     {
         testLabel.Content = $"Code: {e.KeyValue}; Modifiers: {e.Modifiers}; Flags: {e.Flags:x} "
                             + $"Shift: {e.Shift}; Control: {e.Control}; Alt: {e.Alt}; Direction: {e.Direction}";
     }));
 }
예제 #10
0
 private void KeyboardHook_Test(object sender, KeyboardMessageEventArgs e)
 {
     Debug.Write($"KeyboardHook_Test - Code: {e.KeyValue}; Modifiers: {e.Modifiers:x}; Flags: {e.Flags:x}; ");
     Debug.WriteLine($"Shift: {e.Shift}; Control: {e.Control}; Alt: {e.Alt}; Direction: {e.Direction}");
     testLabel.Invoke((MethodInvoker) delegate
     {
         testLabel.Text = $"Code: {e.KeyValue}; Modifiers: {e.Modifiers}; Flags: {e.Flags:x} "
                          + $"Shift: {e.Shift}; Control: {e.Control}; Alt: {e.Alt}; Direction: {e.Direction}";
     });
 }
예제 #11
0
 public void HandleShortcut(KeyboardMessageEventArgs evt)
 {
     foreach (var s in Shortcuts)
     {
         if ((ushort)s.Key == evt.KeyValue && s.Alt == evt.Alt && s.Control == evt.Control && s.Shift == evt.Shift && (s.Direction == KeyDirection.Any || s.Direction == evt.Direction))
         {
             log.Trace($"Executing shortcut {s}");
             s.Action();
         }
     }
 }
예제 #12
0
        /// <summary>
        /// Searches the item.
        /// </summary>
        /// <param name="e">The <see cref="KeyboardMessageEventArgs"/> instance containing the event data.</param>
        private async void SearchItem(KeyboardMessageEventArgs e)
        {
            var baseType = await this.GetItemSearchValueInClipboard();

            if (string.IsNullOrEmpty(baseType))
            {
                return;
            }

            await this._keyboardHelper.Search(baseType);
        }
예제 #13
0
        private async void KeyboardHook_MessageReceived(object sender, KeyboardMessageEventArgs e)
        {
            var keyCode = (KeyCode)e.KeyValue;

            if (!this._disabled && keyCode == KeyCode.Enter)
            {
                this._disabled = true;
                await Task.Delay(2500);

                this._disabled = false;
            }
        }
예제 #14
0
        /// <summary>
        /// Searches the item.
        /// </summary>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The <see cref="KeyboardMessageEventArgs"/> instance containing the event data.</param>
        private async void SearchItem(object sender, KeyboardMessageEventArgs e)
        {
            if (this._settingsService.ItemHighlightEnabled)
            {
                var baseType = await this.GetItemSearchValueInClipboard();

                if (string.IsNullOrEmpty(baseType))
                {
                    return;
                }

                this._keyboardHelper.Search(baseType);
            }
        }
예제 #15
0
 /// <summary>
 /// Join the Guild Hideout.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The event.</param>
 private async void JoinGuildHideout(object sender, KeyboardMessageEventArgs e)
 {
     await this._keyboardHelper.JoinGuildHideout();
 }
예제 #16
0
 private static void Hook_MessageReceived(object sender, KeyboardMessageEventArgs e)
 {
     Console.WriteLine(e.KeyValue);
 }
예제 #17
0
 public void HandleKeyboardInput(KeyboardMessageEventArgs evt)
 {
     _shortcutService.HandleShortcut(evt);
 }
예제 #18
0
 /// <summary>
 /// Toggles the build.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="KeyboardMessageEventArgs"/> instance containing the event data.</param>
 public void ToggleBuild(object sender, KeyboardMessageEventArgs e)
 {
     this.BuildToggled?.Invoke(this, EventArgs.Empty);
 }
예제 #19
0
 /// <summary>
 /// Remainings the monsters.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="e">The <see cref="KeyboardMessageEventArgs"/> instance containing the event data.</param>
 private async void RemainingMonsters(object sender, KeyboardMessageEventArgs e)
 {
     await this._keyboardHelper.RemainingMonster();
 }
예제 #20
0
 private void KeyboardHook_MessageReceived(object sender, KeyboardMessageEventArgs e)
 {
     AppService.Instance.HandleKeyboardInput(e);
 }