예제 #1
0
        public void Send(ISInputData input)
        {
            ISInputCode c = input.Code;

            switch (c)
            {
            case ISInputCode.IS_MOUSEMOVERELATIVE:
                MoveMouseRelative(input.Param1, input.Param2);
                break;

            case ISInputCode.IS_KEYDOWN:
                if (input.Param1 == 91)                  //Windows key cant be mapped to a scan code, so we'll use the virtual code instead
                {
                    KeyDownVirtual(91, true);
                    break;
                }
                KeyDownScan(input.Param1, true);
                break;

            case ISInputCode.IS_KEYUP:
                if (input.Param1 == 91)
                {
                    KeyDownVirtual(91, false);
                    break;
                }
                KeyDownScan(input.Param1, false);
                break;

            case ISInputCode.IS_MOUSELDOWN:
                MouseLDown(true);
                break;

            case ISInputCode.IS_MOUSELUP:
                MouseLDown(false);
                break;

            case ISInputCode.IS_MOUSERDOWN:
                MouseRDown(true);
                break;

            case ISInputCode.IS_MOUSERUP:
                MouseRDown(false);
                break;

            case ISInputCode.IS_MOUSEMDOWN:
                MouseMDown(true);
                break;

            case ISInputCode.IS_MOUSEMUP:
                MouseMDown(false);
                break;

            case ISInputCode.IS_MOUSEYSCROLL:
                MouseYScroll(input.Param1);
                break;

            case ISInputCode.IS_MOUSEXDOWN:
                MouseXDown(input.Param1, true);
                break;

            case ISInputCode.IS_MOUSEXUP:
                MouseXDown(input.Param1, false);
                break;

            case ISInputCode.IS_RELEASEALL:
                ReleaseAllKeys();
                break;
            }
        }
예제 #2
0
 public ISInputData(ISInputCode code, short param1, short param2)
 {
     Code   = code;
     Param1 = param1;
     Param2 = param2;
 }
예제 #3
0
        public void Send(ISInputData input)
        {
            ISInputCode c = input.Code;

            switch (c)
            {
            case ISInputCode.IS_MOUSEMOVERELATIVE:
                MoveMouseRelative(input.Param1, input.Param2);
                break;

            case ISInputCode.IS_KEYDOWN:
            {
                short useKey = CheckKey(input, out bool useScan);

                if (useScan)
                {
                    KeyDownScan(useKey, true);
                }
                else
                {
                    KeyDownVirtual(useKey, true);
                }

                break;
            }

            case ISInputCode.IS_KEYUP:
            {
                short useKey = CheckKey(input, out bool useScan);

                if (useScan)
                {
                    KeyDownScan(useKey, false);
                }
                else
                {
                    KeyDownVirtual(useKey, false);
                }

                break;
            }

            case ISInputCode.IS_MOUSELDOWN:
                MouseLDown(true);
                break;

            case ISInputCode.IS_MOUSELUP:
                MouseLDown(false);
                break;

            case ISInputCode.IS_MOUSERDOWN:
                MouseRDown(true);
                break;

            case ISInputCode.IS_MOUSERUP:
                MouseRDown(false);
                break;

            case ISInputCode.IS_MOUSEMDOWN:
                MouseMDown(true);
                break;

            case ISInputCode.IS_MOUSEMUP:
                MouseMDown(false);
                break;

            case ISInputCode.IS_MOUSEYSCROLL:
                MouseYScroll(input.Param1);
                break;

            case ISInputCode.IS_MOUSEXDOWN:
                MouseXDown(input.Param1, true);
                break;

            case ISInputCode.IS_MOUSEXUP:
                MouseXDown(input.Param1, false);
                break;

            case ISInputCode.IS_RELEASEALL:
                ResetKeyStates();
                break;

            case ISInputCode.IS_MOUSEMOVEABSOLUTE:
                MoveMouseAbs(input.Param1, input.Param2);
                break;
            }
        }