Exemplo n.º 1
0
 public ExtraMouse(ExtraMouse mouse)
 {
     m_button = mouse.Button;
     m_action = mouse.Action;
     m_point  = mouse.Position;
     m_clicks = mouse.Cliks;
 }
Exemplo n.º 2
0
 public ExtraMouse(ExtraMouseBtns button, ExtraMouseActions action, Point position)
 {
     m_button = button;
     m_action = action;
     m_point  = position;
     m_clicks = m_action == ExtraMouseActions.DoubleClick ? 2 : 1;
 }
Exemplo n.º 3
0
        private static int GetDwData(ExtraMouseBtns button, ExtraMouseActions action)
        {
            int dwData = 0;

            switch (button)
            {
            case ExtraMouseBtns.XButton1:
                dwData = Win32.XBUTTON1;
                break;

            case ExtraMouseBtns.XButton2:
                dwData = Win32.XBUTTON2;
                break;

            case ExtraMouseBtns.Wheel:
                if (action == ExtraMouseActions.WheelDown)
                {
                    dwData = 120;
                }
                else if (action == ExtraMouseActions.WheelUp)
                {
                    dwData = -120;
                }
                break;

            default:
                dwData = 0;
                break;
            }
            return(dwData);
        }
Exemplo n.º 4
0
 public ExtraMouse(ExtraMouse mouse)
 {
     m_button = mouse.Button;
     m_action = mouse.Action;
     m_point = mouse.Position;
     m_clicks = mouse.Cliks;
 }
Exemplo n.º 5
0
        //public void SimulateHiddenAction(ExtraMouseActions action, Point pos)
        //{
        //    m_bSimimulate = true;
        //    ExtraMouse.SimateHiddenClick(action, pos);
        //    m_bSimimulate = false;
        //}

        public void SimulateMouseAction(ExtraMouseBtns button, ExtraMouseActions action)
        {
            StartSimulation();
            Debug.WriteLineIf(DEBUG, string.Format("Simulating button: {0}, action: {1}", button, action));
            ExtraMouse.SimulateMouseAction(button, action, m_LParam);
            StopSimulation();
        }
Exemplo n.º 6
0
 public ExtraMouse(ExtraMouseBtns button, ExtraMouseActions action, Point position)
 {   
     m_button = button;
     m_action = action;
     m_point = position;
     m_clicks = m_action == ExtraMouseActions.DoubleClick ? 2 : 1;
 }
Exemplo n.º 7
0
 public ExtraMouse(IntPtr wParam, IntPtr lParam)
 {
     Win32.MouseLLHookStruct hookStruct = (Win32.MouseLLHookStruct)Marshal.PtrToStructure(lParam, typeof(Win32.MouseLLHookStruct));
     m_button = ExtractButton(wParam, hookStruct);
     m_action = ExtractAction(wParam, hookStruct);
     m_point = new Point(hookStruct.pt.x, hookStruct.pt.y);
     m_clicks = m_action == ExtraMouseActions.DoubleClick ? 2 : 1;
 }
Exemplo n.º 8
0
 public ExtraMouse(IntPtr wParam, IntPtr lParam)
 {
     Win32.MouseLLHookStruct hookStruct = (Win32.MouseLLHookStruct)Marshal.PtrToStructure(lParam, typeof(Win32.MouseLLHookStruct));
     m_button = ExtractButton(wParam, hookStruct);
     m_action = ExtractAction(wParam, hookStruct);
     m_point  = new Point(hookStruct.pt.x, hookStruct.pt.y);
     m_clicks = m_action == ExtraMouseActions.DoubleClick ? 2 : 1;
 }
Exemplo n.º 9
0
        public static int GetWmValue(ExtraMouseBtns button, ExtraMouseActions action)
        {
            int wm_message = 0;

            switch (button)
            {
            case ExtraMouseBtns.Left:
                if (action == ExtraMouseActions.Down)
                {
                    wm_message = Win32.WM_LBUTTONDOWN;
                }
                else
                {
                    wm_message = Win32.WM_LBUTTONUP;
                }
                break;

            case ExtraMouseBtns.Right:
                if (action == ExtraMouseActions.Down)
                {
                    wm_message = Win32.WM_RBUTTONDOWN;
                }
                else
                {
                    wm_message = Win32.WM_RBUTTONUP;
                }
                break;

            case ExtraMouseBtns.Middle:
                if (action == ExtraMouseActions.Down)
                {
                    wm_message = Win32.WM_MBUTTONDOWN;
                }
                else
                {
                    wm_message = Win32.WM_MBUTTONUP;
                }
                break;

            case ExtraMouseBtns.XButton1:
            case ExtraMouseBtns.XButton2:
                if (action == ExtraMouseActions.Down)
                {
                    wm_message = Win32.WM_XBUTTONDOWN;
                }
                else
                {
                    wm_message = Win32.WM_XBUTTONUP;
                }
                break;

            case ExtraMouseBtns.Wheel:
                wm_message = Win32.WM_MOUSEWHEEL;
                break;
            }
            return(wm_message);
        }
Exemplo n.º 10
0
 public void SetHookValues(MouseButtons toggleBtn, bool classicCurve, bool doubleBtn, bool wheelBtn,
                           int sensibleZone, int timeout, bool showTooltip, int toolTipInt)
 {
     m_cEnableHoldDownBtn.Interval = timeout;
     m_btnToggle              = ExtraMouse.MouseBtnToExtraBtn(toggleBtn);
     m_bUsingClassicCurve     = classicCurve;
     m_bUsingDoublebtn        = doubleBtn;
     m_bUsingWheelBtn         = wheelBtn;
     m_sensibleZone           = sensibleZone;
     m_bShowToolTip           = showTooltip;
     m_iToolTipInterval       = toolTipInt;
     m_bUsingClassicCurveOnly = m_bUsingClassicCurve && !m_bUsingDoublebtn && !m_bUsingWheelBtn;
 }
Exemplo n.º 11
0
        public static ExtraMouseBtns MouseBtnToExtraBtn(MouseButtons button)
        {
            ExtraMouseBtns btn = ExtraMouseBtns.None;

            btn = (ExtraMouseBtns)Enum.Parse(typeof(ExtraMouseBtns), button.ToString());
            return(btn);
            //switch (button)
            //{
            //    case MouseButtons.Left: btn = ExtraMouseBtns.Left; break;
            //    case MouseButtons.Right: btn = ExtraMouseBtns.Right; break;
            //    case MouseButtons.Middle: btn = ExtraMouseBtns.Middle; break;
            //    case MouseButtons.XButton1: btn = ExtraMouseBtns.XButton1; break;
            //    case MouseButtons.XButton2: btn = ExtraMouseBtns.XButton2; break;
            //}
            //return btn;
        }
Exemplo n.º 12
0
        public static MouseButtons ExtraBtnToMouseBtn(ExtraMouseBtns button)
        {
            MouseButtons btn = MouseButtons.None;

            if (button != ExtraMouseBtns.Wheel)
            {
                btn = (MouseButtons)Enum.Parse(typeof(MouseButtons), button.ToString());
            }
            return(btn);
            //switch (button)
            //{
            //    case ExtraMouseBtns.Left: btn = MouseButtons.Left; break;
            //    case ExtraMouseBtns.Right: btn = MouseButtons.Right; break;
            //    case ExtraMouseBtns.Middle: btn = MouseButtons.Middle; break;
            //    case ExtraMouseBtns.XButton1: btn = MouseButtons.XButton1; break;
            //    case ExtraMouseBtns.XButton2: btn = MouseButtons.XButton2; break;
            //}
            //return btn;
        }
Exemplo n.º 13
0
        public static void SimulateMouseAction(ExtraMouseBtns button, ExtraMouseActions action, IntPtr lParam)
        {
            Win32.MouseLLHookStruct hookStruct = (Win32.MouseLLHookStruct)Marshal.PtrToStructure(lParam, typeof(Win32.MouseLLHookStruct));
            int dwData  = GetDwData(button, action);
            int dwFlags = GetMouseEventValue(button, action);

            if (action == ExtraMouseActions.DoubleClick)
            {
                //Win32.SetCursorPos(hookStruct.pt.x, hookStruct.pt.y);
                Win32.mouse_event(dwFlags, hookStruct.pt.x, hookStruct.pt.y, dwData, IntPtr.Zero);
                System.Threading.Thread.Sleep(10);
                Win32.mouse_event(dwFlags, hookStruct.pt.x, hookStruct.pt.y, dwData, IntPtr.Zero);
            }
            else
            {
                //Win32.SetCursorPos(hookStruct.pt.x, hookStruct.pt.y);
                Win32.mouse_event(dwFlags, hookStruct.pt.x, hookStruct.pt.y, dwData, IntPtr.Zero);
            }
        }
Exemplo n.º 14
0
        private static int GetMouseEventValue(ExtraMouseBtns button, ExtraMouseActions action)
        {
            int  mouseEventValue = 0;
            bool swapedButtons   = Win32.GetSystemMetrics(Win32.SM_SWAPBUTTON) == 0 ? false : true;

            switch (button)
            {
            case ExtraMouseBtns.Left:
                if (swapedButtons)
                {
                    swapedButtons = false;
                    goto case ExtraMouseBtns.Right;
                }

                if (action == ExtraMouseActions.Down)
                {
                    mouseEventValue = Win32.MOUSEEVENTF_LEFTDOWN;
                }
                else if (action == ExtraMouseActions.Up)
                {
                    mouseEventValue = Win32.MOUSEEVENTF_LEFTUP;
                }
                break;

            case ExtraMouseBtns.Right:
                if (swapedButtons)
                {
                    swapedButtons = false;
                    goto case ExtraMouseBtns.Left;
                }

                if (action == ExtraMouseActions.Down)
                {
                    mouseEventValue = Win32.MOUSEEVENTF_RIGHTDOWN;
                }
                else if (action == ExtraMouseActions.Up)
                {
                    mouseEventValue = Win32.MOUSEEVENTF_RIGHTUP;
                }
                break;

            case ExtraMouseBtns.Middle:
                if (action == ExtraMouseActions.Down)
                {
                    mouseEventValue = Win32.MOUSEEVENTF_MIDDLEDOWN;
                }
                else if (action == ExtraMouseActions.Up)
                {
                    mouseEventValue = Win32.MOUSEEVENTF_MIDDLEUP;
                }
                break;

            case ExtraMouseBtns.XButton1:
            case ExtraMouseBtns.XButton2:
                if (action == ExtraMouseActions.Down)
                {
                    mouseEventValue = Win32.MOUSEEVENTF_XDOWN;
                }
                else if (action == ExtraMouseActions.Up)
                {
                    mouseEventValue = Win32.MOUSEEVENTF_XUP;
                }
                break;

            case ExtraMouseBtns.Wheel:
                mouseEventValue = Win32.MOUSEEVENTF_WHEEL;
                break;
            }
            if (action == ExtraMouseActions.Click)
            {
                mouseEventValue = GetMouseEventValue(button, ExtraMouseActions.Down) | GetMouseEventValue(button, ExtraMouseActions.Up);
            }
            return(mouseEventValue);
        }
Exemplo n.º 15
0
 public void SetHookValues(MouseButtons toggleBtn, bool classicCurve, bool doubleBtn, bool wheelBtn, 
     int sensibleZone, int timeout, bool showTooltip, int toolTipInt)
 {
     m_cEnableHoldDownBtn.Interval = timeout;
     m_btnToggle = ExtraMouse.MouseBtnToExtraBtn(toggleBtn);
     m_bUsingClassicCurve = classicCurve;
     m_bUsingDoublebtn = doubleBtn;
     m_bUsingWheelBtn = wheelBtn;
     m_sensibleZone = sensibleZone;
     m_bShowToolTip = showTooltip;
     m_iToolTipInterval = toolTipInt;
     m_bUsingClassicCurveOnly = m_bUsingClassicCurve && !m_bUsingDoublebtn && !m_bUsingWheelBtn;
 }
Exemplo n.º 16
0
        //public void SimulateHiddenAction(ExtraMouseActions action, Point pos)
        //{
        //    m_bSimimulate = true;
        //    ExtraMouse.SimateHiddenClick(action, pos);
        //    m_bSimimulate = false;
        //}

        public void SimulateMouseAction(ExtraMouseBtns button, ExtraMouseActions action)
        {
            StartSimulation();
            Debug.WriteLineIf(DEBUG, string.Format("Simulating button: {0}, action: {1}", button, action));
            ExtraMouse.SimulateMouseAction(button, action, m_LParam);
            StopSimulation();
        }
Exemplo n.º 17
0
        private ExtraMouseBtns ExtractButton(IntPtr wParam, Win32.MouseLLHookStruct hookStruct)
        {
            ExtraMouseBtns button = ExtraMouseBtns.None;

            switch (wParam.ToInt32())
            {
            //left button messages
            case Win32.WM_LBUTTONDBLCLK:
            case Win32.WM_NCLBUTTONDBLCLK:
            case Win32.WM_LBUTTONDOWN:
            case Win32.WM_LBUTTONUP:
            case Win32.WM_NCLBUTTONDOWN:
            case Win32.WM_NCLBUTTONUP:
                button = ExtraMouseBtns.Left;
                break;

            //right button messages
            case Win32.WM_RBUTTONDBLCLK:
            case Win32.WM_NCRBUTTONDBLCLK:
            case Win32.WM_RBUTTONDOWN:
            case Win32.WM_RBUTTONUP:
            case Win32.WM_NCRBUTTONDOWN:
            case Win32.WM_NCRBUTTONUP:
                button = ExtraMouseBtns.Right;
                break;

            //middle button messages
            case Win32.WM_MBUTTONDBLCLK:
            case Win32.WM_NCMBUTTONDBLCLK:
            case Win32.WM_MBUTTONDOWN:
            case Win32.WM_MBUTTONUP:
            case Win32.WM_NCMBUTTONDOWN:
            case Win32.WM_NCMBUTTONUP:
                button = ExtraMouseBtns.Middle;
                break;

            //x button messages
            case Win32.WM_XBUTTONDBLCLK:
            case Win32.WM_NCXBUTTONDBLCLK:
            case Win32.WM_XBUTTONDOWN:
            case Win32.WM_XBUTTONUP:
            case Win32.WM_NCXBUTTONDOWN:
            case Win32.WM_NCXBUTTONUP:
                short xstate = (short)((hookStruct.mouseData >> 16) & 0xffff);
                if (xstate == Win32.XBUTTON1)
                {
                    button = ExtraMouseBtns.XButton1;
                }
                else if (xstate == Win32.XBUTTON2)
                {
                    button = ExtraMouseBtns.XButton2;
                }
                else
                {
                    button = ExtraMouseBtns.None;
                }
                break;

            case Win32.WM_MOUSEWHEEL:
                button = ExtraMouseBtns.Wheel;
                break;
            }
            return(button);
        }
Exemplo n.º 18
0
 public static void SimulateMouseAction(ExtraMouseBtns button, ExtraMouseActions action, IntPtr lParam)
 {
     Win32.MouseLLHookStruct hookStruct = (Win32.MouseLLHookStruct)Marshal.PtrToStructure(lParam, typeof(Win32.MouseLLHookStruct));
     int dwData = GetDwData(button, action);
     int dwFlags = GetMouseEventValue(button, action);
     if (action == ExtraMouseActions.DoubleClick)
     {
         //Win32.SetCursorPos(hookStruct.pt.x, hookStruct.pt.y);
         Win32.mouse_event(dwFlags, hookStruct.pt.x, hookStruct.pt.y, dwData, IntPtr.Zero);
         System.Threading.Thread.Sleep(10);
         Win32.mouse_event(dwFlags, hookStruct.pt.x, hookStruct.pt.y, dwData, IntPtr.Zero);
     }
     else
     {
         //Win32.SetCursorPos(hookStruct.pt.x, hookStruct.pt.y);
         Win32.mouse_event(dwFlags, hookStruct.pt.x, hookStruct.pt.y, dwData, IntPtr.Zero);
     }
 }
Exemplo n.º 19
0
 private static int GetDwData(ExtraMouseBtns button, ExtraMouseActions action)
 {
     int dwData = 0;
     switch (button)
     {
         case ExtraMouseBtns.XButton1:
             dwData = Win32.XBUTTON1;
             break;
         case ExtraMouseBtns.XButton2:
             dwData = Win32.XBUTTON2;
             break;
         case ExtraMouseBtns.Wheel:
             if (action == ExtraMouseActions.WheelDown)
                 dwData = 120;
             else if (action == ExtraMouseActions.WheelUp)
                 dwData = -120;
             break;
         default:
             dwData = 0;
             break;
     }
     return dwData;
 }
Exemplo n.º 20
0
        private static int GetMouseEventValue(ExtraMouseBtns button, ExtraMouseActions action)
        {
            int mouseEventValue = 0;
            bool swapedButtons = Win32.GetSystemMetrics(Win32.SM_SWAPBUTTON) == 0 ? false : true;
            
            switch (button)
            {
                case ExtraMouseBtns.Left:
                    if (swapedButtons)
                    {
                        swapedButtons = false;
                        goto case ExtraMouseBtns.Right;
                    }

                    if (action == ExtraMouseActions.Down)
                        mouseEventValue = Win32.MOUSEEVENTF_LEFTDOWN;
                    else if (action == ExtraMouseActions.Up)
                        mouseEventValue = Win32.MOUSEEVENTF_LEFTUP;
                    break;
                case ExtraMouseBtns.Right:
                    if (swapedButtons)
                    {
                        swapedButtons = false;
                        goto case ExtraMouseBtns.Left;
                    }

                    if (action == ExtraMouseActions.Down)
                        mouseEventValue = Win32.MOUSEEVENTF_RIGHTDOWN;
                    else if (action == ExtraMouseActions.Up)
                        mouseEventValue = Win32.MOUSEEVENTF_RIGHTUP;
                    break;
                case ExtraMouseBtns.Middle:
                    if (action == ExtraMouseActions.Down)
                        mouseEventValue = Win32.MOUSEEVENTF_MIDDLEDOWN;
                    else if (action == ExtraMouseActions.Up)
                        mouseEventValue = Win32.MOUSEEVENTF_MIDDLEUP;
                    break;
                case ExtraMouseBtns.XButton1:
                case ExtraMouseBtns.XButton2:
                    if (action == ExtraMouseActions.Down)
                        mouseEventValue = Win32.MOUSEEVENTF_XDOWN;
                    else if (action == ExtraMouseActions.Up)
                        mouseEventValue = Win32.MOUSEEVENTF_XUP;
                    break;
                case ExtraMouseBtns.Wheel:
                    mouseEventValue = Win32.MOUSEEVENTF_WHEEL;
                    break;
            }
            if (action == ExtraMouseActions.Click)
                mouseEventValue = GetMouseEventValue(button, ExtraMouseActions.Down) | GetMouseEventValue(button, ExtraMouseActions.Up);
            return mouseEventValue;
        }
Exemplo n.º 21
0
 public static int GetWmValue(ExtraMouseBtns button, ExtraMouseActions action)
 {
     int wm_message = 0;
     switch (button)
     {
         case ExtraMouseBtns.Left:
             if (action == ExtraMouseActions.Down)
                 wm_message = Win32.WM_LBUTTONDOWN;
             else
                 wm_message = Win32.WM_LBUTTONUP;
             break;
         case ExtraMouseBtns.Right:
             if (action == ExtraMouseActions.Down)
                 wm_message = Win32.WM_RBUTTONDOWN;
             else
                 wm_message = Win32.WM_RBUTTONUP;
             break;
         case ExtraMouseBtns.Middle:
             if (action == ExtraMouseActions.Down)
                 wm_message = Win32.WM_MBUTTONDOWN;
             else
                 wm_message = Win32.WM_MBUTTONUP;
             break;
         case ExtraMouseBtns.XButton1:
         case ExtraMouseBtns.XButton2:
             if (action == ExtraMouseActions.Down)
                 wm_message = Win32.WM_XBUTTONDOWN;
             else
                 wm_message = Win32.WM_XBUTTONUP;
             break;
         case ExtraMouseBtns.Wheel:
             wm_message = Win32.WM_MOUSEWHEEL;
             break;
     }
     return wm_message;
 }
Exemplo n.º 22
0
 public static MouseButtons ExtraBtnToMouseBtn(ExtraMouseBtns button)
 {
     MouseButtons btn = MouseButtons.None;
     if (button != ExtraMouseBtns.Wheel)
         btn = (MouseButtons)Enum.Parse(typeof(MouseButtons), button.ToString());
     return btn;
     //switch (button)
     //{
     //    case ExtraMouseBtns.Left: btn = MouseButtons.Left; break;
     //    case ExtraMouseBtns.Right: btn = MouseButtons.Right; break;
     //    case ExtraMouseBtns.Middle: btn = MouseButtons.Middle; break;
     //    case ExtraMouseBtns.XButton1: btn = MouseButtons.XButton1; break;
     //    case ExtraMouseBtns.XButton2: btn = MouseButtons.XButton2; break;
     //}
     //return btn;
 }