Exemplo n.º 1
0
        private void MouseDown(byte button, int x, int y)
        {
            //
            // OS X Sierra issue: we get mousedown events when the window title
            // is clicked, sometimes.  These always show up with a Y coordinate
            // of zero.  So ignore those only for mouse-capture purposes as
            // a workaround.
            //
            if (!_mouseCaptured && (x <= 0 || y <= 0))
            {
                return;
            }

            if (!_mouseCaptured)
            {
                CaptureMouse();
            }

            AltoMouseButton altoButton = GetMouseButton(button);

            if (altoButton != AltoMouseButton.None)
            {
                _system.MouseAndKeyset.MouseDown(altoButton);
            }
        }
Exemplo n.º 2
0
        private void OnDisplayMouseDown(object sender, MouseEventArgs e)
        {
            // Short-circuit if a script is playing.
            if (ScriptManager.IsPlaying)
            {
                return;
            }

            if (!_mouseCaptured)
            {
                return;
            }

            AltoMouseButton button = AltoMouseButton.None;

            switch (e.Button)
            {
            case MouseButtons.Left:
                button = AltoMouseButton.Left;
                break;

            case MouseButtons.Right:
                button = AltoMouseButton.Right;
                break;

            case MouseButtons.Middle:
                button = AltoMouseButton.Middle;
                break;
            }

            _system.MouseAndKeyset.MouseDown(button);
        }
Exemplo n.º 3
0
        private void OnDisplayMouseUp(object sender, MouseEventArgs e)
        {
            if (!_mouseCaptured)
            {
                // On mouse-up, capture the mouse if the system is running.
                if (_controller.IsRunning)
                {
                    CaptureMouse();
                }
                return;
            }

            AltoMouseButton button = AltoMouseButton.None;

            switch (e.Button)
            {
            case MouseButtons.Left:
                button = AltoMouseButton.Left;
                break;

            case MouseButtons.Right:
                button = AltoMouseButton.Right;
                break;

            case MouseButtons.Middle:
                button = AltoMouseButton.Middle;
                break;
            }

            _system.Mouse.MouseUp(button);
        }
Exemplo n.º 4
0
        private void OnDisplayMouseDown(object sender, MouseEventArgs e)
        {
            if (!_mouseCaptured)
            {
                return;
            }

            AltoMouseButton button = AltoMouseButton.None;

            switch (e.Button)
            {
            case MouseButtons.Left:
                button = AltoMouseButton.Left;
                break;

            case MouseButtons.Right:
                button = AltoMouseButton.Right;
                break;

            case MouseButtons.Middle:
                button = AltoMouseButton.Middle;
                break;
            }

            _system.Mouse.MouseDown(button);
        }
Exemplo n.º 5
0
 public void MouseUp(AltoMouseButton button)
 {
     _script.AppendAction(
         new MouseButtonAction(
             GetRelativeTimestamp(),
             button,
             false));
 }
Exemplo n.º 6
0
        public void MouseUp(AltoMouseButton button)
        {
            _buttons ^= button;

            if (ScriptManager.IsRecording)
            {
                ScriptManager.Recorder.MouseUp(button);
            }
        }
Exemplo n.º 7
0
        public static MouseButtonAction Parse(ulong timestamp, bool mouseDown, string[] tokens)
        {
            if (tokens.Length != 3)
            {
                throw new InvalidOperationException("Invalid MouseButtonAction syntax.");
            }

            AltoMouseButton button = (AltoMouseButton)Enum.Parse(typeof(AltoMouseButton), tokens[2]);

            return(new MouseButtonAction(timestamp, button, mouseDown));
        }
Exemplo n.º 8
0
        private void MouseUp(byte button)
        {
            if (!_mouseCaptured)
            {
                return;
            }

            AltoMouseButton altoButton = GetMouseButton(button);

            if (altoButton != AltoMouseButton.None)
            {
                _system.MouseAndKeyset.MouseUp(altoButton);
            }
        }
Exemplo n.º 9
0
        public void MouseDown(AltoMouseButton button)
        {
            _buttons |= button;

            if (ScriptManager.IsRecording)
            {
                //
                // Record the absolute position of the mouse (as held in MOUSELOC in system memory).
                // All other mouse movements in the script will be recorded relative to this point.
                //
                //int x = _system.Memory.Read(0x114, CPU.TaskType.Ethernet, false);
                //int y = _system.Memory.Read(0x115, CPU.TaskType.Ethernet, false);
                //ScriptManager.Recorder.MouseMoveAbsolute(x, y);

                ScriptManager.Recorder.MouseDown(button);
            }
        }
Exemplo n.º 10
0
        private static AltoMouseButton GetMouseButton(byte button)
        {
            AltoMouseButton altoButton = AltoMouseButton.None;

            switch (button)
            {
            case 1:
                altoButton = AltoMouseButton.Left;
                break;

            case 2:
                altoButton = AltoMouseButton.Middle;
                break;

            case 3:
                altoButton = AltoMouseButton.Right;
                break;
            }

            return(altoButton);
        }
Exemplo n.º 11
0
 public void MouseUp(AltoMouseButton button)
 {
     _buttons ^= button;
 }
Exemplo n.º 12
0
 public void MouseDown(AltoMouseButton button)
 {
     _buttons |= button;
 }
Exemplo n.º 13
0
 public MouseButtonAction(ulong timestamp, AltoMouseButton buttons, bool mouseDown) : base(timestamp)
 {
     _buttons   = buttons;
     _mouseDown = mouseDown;
 }