/// <summary> /// Initializes a new instance of the <see cref="MousePressWindowViewModel"/> class. /// </summary> public MousePressWindowViewModel(MousePress mousePress) { //TODO: 동일한 키를 사용하는 항목이 이미 추가되었습니다 에러를 해결해야 한다. 아마도 뭔가 Argument.IsNotNull(() => mousePress); this.MousePress = mousePress; FillKeyList(); }
protected virtual void OnPress(MouseButtonActionInfo info) { State = ControlState.Pressed; if (MousePress != null) { MousePress.Invoke(this, info); } }
/// <summary> /// Called once-per-frame (invoked from other script) /// </summary> public void update() { if (Input.GetMouseButtonUp(1)) { var mousePress = new MousePress(); mousePress.button = 1; mousePress.time = Time.time; mousePress.position = Input.mousePosition; mousePressData.Add(mousePress); } }
/// <summary> /// Clicar com o mouse /// </summary> public void SetMouseClick(MouseButtons eMouseButtons, MousePress eMousePress, int iX, int iY, int iImgWidth, int iImgHeight) { try { CalcRelativePosition(ref iX, ref iY, iImgWidth, iImgHeight); if (eMouseButtons == MouseButtons.Left) { switch (eMousePress) { case MousePress.DOWN: WindowsControlClass.mouse_event((uint)WindowsControlClass.MouseEventTFlags.LEFTDOWN, (uint)iX, (uint)iY, 0, UIntPtr.Zero); break; case MousePress.UP: WindowsControlClass.mouse_event((uint)WindowsControlClass.MouseEventTFlags.LEFTUP, (uint)iX, (uint)iY, 0, UIntPtr.Zero); break; case MousePress.CLICK: WindowsControlClass.mouse_event((uint)WindowsControlClass.MouseEventTFlags.LEFTDOWN, (uint)iX, (uint)iY, 0, UIntPtr.Zero); WindowsControlClass.mouse_event((uint)WindowsControlClass.MouseEventTFlags.LEFTUP, (uint)iX, (uint)iY, 0, UIntPtr.Zero); break; } } else if (eMouseButtons == MouseButtons.Right) { switch (eMousePress) { case MousePress.DOWN: WindowsControlClass.mouse_event((uint)WindowsControlClass.MouseEventTFlags.RIGHTDOWN, (uint)iX, (uint)iY, 0, UIntPtr.Zero); break; case MousePress.UP: WindowsControlClass.mouse_event((uint)WindowsControlClass.MouseEventTFlags.RIGHTUP, (uint)iX, (uint)iY, 0, UIntPtr.Zero); break; case MousePress.CLICK: WindowsControlClass.mouse_event((uint)WindowsControlClass.MouseEventTFlags.RIGHTDOWN, (uint)iX, (uint)iY, 0, UIntPtr.Zero); WindowsControlClass.mouse_event((uint)WindowsControlClass.MouseEventTFlags.RIGHTUP, (uint)iX, (uint)iY, 0, UIntPtr.Zero); break; } } } catch (Exception ex) { System.Windows.Forms.MessageBox.Show(ex.Message); } System.Console.WriteLine("Botão do mouse pressionado..."); }
public virtual void Update(Game context) { #region Fire Mouse Events int mouseX = context.MouseX; int mouseY = context.MouseY; if ((mouseX != mouseLastX || mouseY != mouseLastY) && PointWithin(mouseX, mouseY, TopLeft, BottomRight)) { MouseMove?.Invoke(mouseX, mouseY); if (context.GetMouse(Mouse.Any).Down) { for (int i = 0; i < 3; i++) { Mouse current = (Mouse)i; if (context.GetMouse(current).Down) { MouseDrag?.Invoke(mouseX, mouseY, current); } } } } mouseLastX = mouseX; mouseLastY = mouseY; for (int i = 0; i < 3; i++) { Mouse current = (Mouse)i; if (context.GetMouse(current).Down) { MouseDown?.Invoke(mouseX, mouseY, current); } if (context.GetMouse(current).Up) { MouseUp?.Invoke(mouseX, mouseY, current); } if (context.GetMouse(current).Pressed) { MousePress?.Invoke(mouseX, mouseY, current); } } #endregion Fire Mouse Events }
} // UpdateMouse private void UpdateButtons() { MouseEventArgs e = new MouseEventArgs(); foreach (InputMouseButton btn in mouseButtons) { ButtonState bs; if (btn.Button == MouseButton.Left) bs = Mouse.State.LeftButton; else if (btn.Button == MouseButton.Right) bs = Mouse.State.RightButton; else if (btn.Button == MouseButton.Middle) bs = Mouse.State.MiddleButton; else if (btn.Button == MouseButton.XButton1) bs = Mouse.State.XButton1; else if (btn.Button == MouseButton.XButton2) bs = Mouse.State.XButton2; else continue; bool pressed = (bs == ButtonState.Pressed); // The current state if (pressed && !btn.Pressed) // If is pressed and the last frame wasn't pressed. { btn.Pressed = true; BuildMouseEvent(btn.Button, ref e); if (MouseDown != null) MouseDown.Invoke(this, e); if (MousePress != null) MousePress.Invoke(this, e); } else if (!pressed && btn.Pressed) // If isn't pressed and the last frame was pressed. { btn.Pressed = false; BuildMouseEvent(btn.Button, ref e); if (MouseUp != null) MouseUp.Invoke(this, e); } else if (pressed && btn.Pressed) // If is pressed and was pressed. { e.Button = btn.Button; BuildMouseEvent(btn.Button, ref e); if (MousePress != null) MousePress.Invoke(this, e); } } } // UpdateButtons
//////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// private void UpdateButtons(MouseState state, GameTime gameTime) { #if (!XBOX && !XBOX_FAKE) MouseEventArgs e = new MouseEventArgs(); foreach (InputMouseButton btn in mouseButtons) { ButtonState bs = ButtonState.Released; if (btn.Button == MouseButton.Left) { bs = state.LeftButton; } else if (btn.Button == MouseButton.Right) { bs = state.RightButton; } else if (btn.Button == MouseButton.Middle) { bs = state.MiddleButton; } else if (btn.Button == MouseButton.XButton1) { bs = state.XButton1; } else if (btn.Button == MouseButton.XButton2) { bs = state.XButton2; } else { continue; } bool pressed = (bs == ButtonState.Pressed); if (pressed) { double ms = gameTime.ElapsedGameTime.TotalMilliseconds; if (pressed) { btn.Countdown -= ms; } } if ((pressed) && (!btn.Pressed)) { btn.Pressed = true; BuildMouseEvent(state, btn.Button, ref e); if (MouseDown != null) { MouseDown.Invoke(this, e); } if (MousePress != null) { MousePress.Invoke(this, e); } } else if ((!pressed) && (btn.Pressed)) { btn.Pressed = false; btn.Countdown = RepeatDelay; BuildMouseEvent(state, btn.Button, ref e); if (MouseUp != null) { MouseUp.Invoke(this, e); } } else if (btn.Pressed && btn.Countdown < 0) { e.Button = btn.Button; btn.Countdown = RepeatRate; BuildMouseEvent(state, btn.Button, ref e); if (MousePress != null) { MousePress.Invoke(this, e); } } } #endif }
void IEventListener.ListenMousePress(UIMousePressEventArgs e) { MousePress?.Invoke(this, e); }
/// <summary> /// defines all of the actions /// </summary> public void DefineActions() { Click click = new Click(); Clear clear = new Clear(); Close close = new Close(); Exit exit = new Exit(); Next_Tab next_tab = new Next_Tab(); Previous_Tab previous_tab = new Previous_Tab(); WindowsCtrlTab wtab = new WindowsCtrlTab(); Idle idle = new Idle(); Next_Selection nextSelection = new Next_Selection(); Previous_Selection previousSelection = new Previous_Selection(); Scroll_Down scrollDown = new Scroll_Down(); Scroll_Up scrollUp = new Scroll_Up(); MousePress mousePress = new MousePress(); MouseRelease mouseRelease = new MouseRelease(); MultipleSelection multipleSelection = new MultipleSelection(); Maximize maximize = new Maximize(); Minimize minimize = new Minimize(); Lock locking = new Lock(); Unlock unlocking = new Unlock(); Undo undo = new Undo(); Redo redo = new Redo(); Open open = new Open(); //defining the click actions QlikMove.StandardHelper.ActionCore.Action clickAction = new QlikMove.StandardHelper.ActionCore.Action(ActionName.SIMPLE_SELECTION, new ActionPart[1] { click }); this.AddAction(clickAction); //defining the mouse press actions QlikMove.StandardHelper.ActionCore.Action mousePressedAction = new QlikMove.StandardHelper.ActionCore.Action(ActionName.MOUSE_PRESS, new ActionPart[1] { mousePress }); this.AddAction(mousePressedAction); //defining the mouse release actions QlikMove.StandardHelper.ActionCore.Action mouseReleasedAction = new QlikMove.StandardHelper.ActionCore.Action(ActionName.MOUSE_RELEASE, new ActionPart[1] { mouseRelease }); this.AddAction(mouseReleasedAction); //defining the exit action QlikMove.StandardHelper.ActionCore.Action exitAction = new StandardHelper.ActionCore.Action(ActionName.EXIT, new ActionPart[1] { exit }); this.AddAction(exitAction); //defining the next action QlikMove.StandardHelper.ActionCore.Action nextAction = new StandardHelper.ActionCore.Action(ActionName.NEXT_TAB, new ActionPart[1] { next_tab }); this.AddAction(nextAction); //defining the previous action QlikMove.StandardHelper.ActionCore.Action previousAction = new StandardHelper.ActionCore.Action(ActionName.PREVIOUS_TAB, new ActionPart[1] { previous_tab }); this.AddAction(previousAction); //defining the menu action QlikMove.StandardHelper.ActionCore.Action tabsAction = new QlikMove.StandardHelper.ActionCore.Action(ActionName.MENU, new ActionPart[1] { wtab }); this.AddAction(tabsAction); //defining the idle action QlikMove.StandardHelper.ActionCore.Action idleAction = new QlikMove.StandardHelper.ActionCore.Action(ActionName.IDLE, new ActionPart[1] { idle }); this.AddAction(idleAction); //defining the next selection action QlikMove.StandardHelper.ActionCore.Action nextSelectionAction = new QlikMove.StandardHelper.ActionCore.Action(ActionName.NEXT_SELECTION, new ActionPart[1] { nextSelection }); this.AddAction(nextSelectionAction); //defining the previous selection action QlikMove.StandardHelper.ActionCore.Action previousSelectionAction = new QlikMove.StandardHelper.ActionCore.Action(ActionName.PREVIOUS_SELECTION, new ActionPart[1] { previousSelection }); this.AddAction(previousSelectionAction); //defining the scrolling down action QlikMove.StandardHelper.ActionCore.Action scrollDownAction = new StandardHelper.ActionCore.Action(ActionName.SCROLL_DOWN, new ActionPart[1] { scrollDown }); this.AddAction(scrollDownAction); //defining the scrolling up action QlikMove.StandardHelper.ActionCore.Action scrollUpAction = new StandardHelper.ActionCore.Action(ActionName.SCROLL_UP, new ActionPart[1] { scrollUp }); this.AddAction(scrollUpAction); //defining the multiple selection action QlikMove.StandardHelper.ActionCore.Action multipleSelectionAction = new StandardHelper.ActionCore.Action(ActionName.MULTIPLE_SELECTION, new ActionPart[1] { multipleSelection }); this.AddAction(multipleSelectionAction); //defining the maximize action QlikMove.StandardHelper.ActionCore.Action maximizeAction = new StandardHelper.ActionCore.Action(ActionName.MAX, new ActionPart[1] { maximize }); this.AddAction(maximizeAction); //defining the minimize action QlikMove.StandardHelper.ActionCore.Action minimizeAction = new StandardHelper.ActionCore.Action(ActionName.MIN, new ActionPart[1] { minimize }); this.AddAction(minimizeAction); //defining the clear action QlikMove.StandardHelper.ActionCore.Action clearAction = new StandardHelper.ActionCore.Action(ActionName.CLEAR, new ActionPart[1] { clear }); this.AddAction(clearAction); //defining the undo action QlikMove.StandardHelper.ActionCore.Action undoAction = new StandardHelper.ActionCore.Action(ActionName.UNDO, new ActionPart[1] { undo }); this.AddAction(undoAction); //defining the redo action QlikMove.StandardHelper.ActionCore.Action redoAction = new StandardHelper.ActionCore.Action(ActionName.REDO, new ActionPart[1] { redo }); this.AddAction(redoAction); //defining the locking action QlikMove.StandardHelper.ActionCore.Action lockingAction = new StandardHelper.ActionCore.Action(ActionName.LOCK, new ActionPart[1] { locking }); this.AddAction(lockingAction); //defining the unlocking action QlikMove.StandardHelper.ActionCore.Action unlockingAction = new StandardHelper.ActionCore.Action(ActionName.UNLOCK, new ActionPart[1] { unlocking }); this.AddAction(unlockingAction); //defining the close action QlikMove.StandardHelper.ActionCore.Action closeAction = new StandardHelper.ActionCore.Action(ActionName.CLOSE, new ActionPart[1] { close }); this.AddAction(closeAction); //defining the open action QlikMove.StandardHelper.ActionCore.Action openAction = new StandardHelper.ActionCore.Action(ActionName.OPEN, new ActionPart[1] { open }); this.AddAction(openAction); LogHelper.logInput("Actions defined", LogHelper.logType.INFO, this); }
/// <param name="gameTime">Snapshot of the application's timing values.</param> /// <param name="state">Current state of the mouse device.</param> /// <summary> /// Updates the state of the Mouse buttons. /// </summary> private void UpdateButtons(MouseState state, GameTime gameTime) { #if (!XBOX && !XBOX_FAKE) var e = new MouseEventArgs(); // Update the state of the buttons in the mouse button list. foreach (var btn in mouseButtons) { // Current button state of the current gamepad button. var bs = ButtonState.Released; if (btn.Button == MouseButton.Left) { bs = state.LeftButton; } else if (btn.Button == MouseButton.Right) { bs = state.RightButton; } else if (btn.Button == MouseButton.Middle) { bs = state.MiddleButton; } else if (btn.Button == MouseButton.XButton1) { bs = state.XButton1; } else if (btn.Button == MouseButton.XButton2) { bs = state.XButton2; } else { continue; } // Current state button pressed? var pressed = (bs == ButtonState.Pressed); if (pressed) { // Update the repeat delay timer for the associated button. var ms = gameTime.ElapsedGameTime.TotalMilliseconds; if (pressed) { btn.Countdown -= ms; } } // Button was just pressed? if ((pressed) && (!btn.Pressed)) { // "Press" the associated button. btn.Pressed = true; BuildMouseEvent(state, btn.Button, ref e); // Fire the MouseDown and MousePress events. if (MouseDown != null) { MouseDown.Invoke(this, e); } // Fire the repeat MousePress event. } // Button was just released? else if ((!pressed) && (btn.Pressed)) { // "Release" the associated button and reset the repeat delay timer. btn.Pressed = false; btn.Countdown = RepeatDelay; BuildMouseEvent(state, btn.Button, ref e); // Fire the MouseUp event. if (MouseUp != null) { MouseUp.Invoke(this, e); } } // Button is held down and it's time to fire a repeat press event? else if (btn.Pressed && btn.Countdown < 0) { // Update event args and reset timer. e.Button = btn.Button; btn.Countdown = RepeatRate; BuildMouseEvent(state, btn.Button, ref e); // Fire the repeat MousePress event. if (MousePress != null) { MousePress.Invoke(this, e); } } } #endif }
internal void InvokeMousePress(S sender, T state, UIMousePressEventArgs e) => MousePress.Invoke(new SenderInfo(sender, state), e);
void Save(object sender, RoutedEventArgs e) { MousePressActionType mousePressAction; PositionType positionType = (PositionType)MousePositionType.SelectedItem; int scroll = 0; Point point = new Point(); //MousePressAction check if ((bool)Click.IsChecked) mousePressAction = MousePressActionType.Click; else if ((bool)DoubleClick.IsChecked) mousePressAction = MousePressActionType.DoubleClick; else if ((bool)Down.IsChecked) mousePressAction = MousePressActionType.Down; else if ((bool)Up.IsChecked) mousePressAction = MousePressActionType.Up; else throw new Exception(); //TargetPosition Check if (TargetPosition.IsChecked??false) { bool parseSuccess = false; //Don't like this.. var positionText = TargetPositionTextBox.Text.Split(','); if (positionText.Length == 2) { double x, y; if (double.TryParse(positionText[0], out x) && double.TryParse(positionText[1], out y)) { point = new Point(x, y); parseSuccess = true; } } if (!parseSuccess) { TargetPositionTextBox.Text = "Point parse error"; return; } } else TargetPositionTextBox.Text = ""; if(TargetScroll.IsChecked??false) { int.TryParse(TargetScrollDisplay.Text, out scroll); } else { TargetScroll.IsChecked = false; TargetScrollDisplay.Text = ""; scroll = 0; } action = new MousePress((VirtualKeyCode)TargetMouseKey.SelectedItem, mousePressAction, positionType, point, scroll); Cache.mousePress = this.action; DialogResult = true; this.Close(); }
/// <summary> /// Load EditMouse dialog with given MousePress macro. /// </summary> /// <param name="mousePress"></param> internal EditMouse(MousePress mousePress) { scroll = 5; this.action = mousePress; InitializeComponent(); int index = 0; for (index = 0; index < TargetMouseKey.Items.Count; index++) { if ((VirtualKeyCode)TargetMouseKey.Items[index] == action.Key) { System.Diagnostics.Debug.Print("key matched at" + index.ToString()); break; } } TargetMouseKey.SelectedIndex = index; //TODO : how to make TargetMouseKey have items property? //문제점 : TargetMouseKey 자체가 ComboBox이길 바랐는데, TargetMouseKey 안의 TargetMouseKey가 ComboBox로 나타남. -> MouseComboBox를 ComboBox로부터 상속받게 하여 해결. //mouse press action check //switch (mousePress.pressAction) //{ // case MousePressActionType.Click: // Click.IsChecked = true; // break; // case MousePressActionType.DoubleClick: // DoubleClick.IsChecked = true; // break; // case MousePressActionType.Down: // Down.IsChecked = true; // break; // case MousePressActionType.Up: // Up.IsChecked = true; // break; // default: // break; //} switch (mousePress.PositionType) { case PositionType.ResolutionAbsolute: MousePositionType.SelectedIndex = 2; TargetPosition.IsChecked = true; break; case PositionType.Absolute: MousePositionType.SelectedIndex = 1; TargetPosition.IsChecked = true; break; case PositionType.Relative: MousePositionType.SelectedIndex = 0; TargetPosition.IsChecked = true; break; default: TargetPosition.IsChecked = false; break; } TargetPositionTextBox.Text = mousePress.Position.ToString(); if (mousePress.Scroll != 0) { TargetScroll.IsChecked = true; TargetScrollDisplay.Value = mousePress.Scroll; } else TargetScroll.IsChecked = false; }