Example #1
0
        private List <double> UpdateAxisState(WinMMAPI.JOYINFOEX info)
        {
            List <double> axisVals = new List <double>();


            if (Capabilities.axesNumber >= 1)
            {
                axisVals.Add(MakeParametric(info.xPos, Capabilities.xMin, Capabilities.xMax));
            }
            if (Capabilities.axesNumber >= 2)
            {
                axisVals.Add(MakeParametric(info.yPos, Capabilities.yMin, Capabilities.yMax));
            }
            if (Capabilities.axesNumber >= 3)
            {
                axisVals.Add(MakeParametric(info.rPos, Capabilities.rMin, Capabilities.rMax));
            }
            if (Capabilities.axesNumber >= 4)
            {
                axisVals.Add(MakeParametric(info.zPos, Capabilities.zMin, Capabilities.zMax));
            }
            if (Capabilities.axesNumber >= 5)
            {
                axisVals.Add(MakeParametric(info.uPos, Capabilities.uMin, Capabilities.uMax));
            }
            if (Capabilities.axesNumber >= 6)
            {
                axisVals.Add(MakeParametric(info.vPos, Capabilities.vMin, Capabilities.vMax));
            }

            return(axisVals);
        }
Example #2
0
        public List <bool> GetButtonStates()
        {
            WinMMAPI.JOYINFOEX info = new WinMMAPI.JOYINFOEX();
            info.flags = WinMMAPI.JoyPosFlags.ReturnAll;

            WinMMAPI.joyGetPosEx(ID, info);
            return(UpdateButtonState(info));
        }
Example #3
0
        public List <double> GetAxisStates()
        {
            WinMMAPI.JOYINFOEX info = new WinMMAPI.JOYINFOEX();
            info.flags = WinMMAPI.JoyPosFlags.ReturnAll;

            WinMMAPI.joyGetPosEx(ID, info);
            return(UpdateAxisState(info));
        }
Example #4
0
        public void StartCapture()
        {
            WinMMAPI.JOYINFOEX info = new WinMMAPI.JOYINFOEX();
            info.flags = WinMMAPI.JoyPosFlags.ReturnAll;

            WinMMAPI.joyGetPosEx(ID, info);

            LastAxisPositions = UpdateAxisState(info);
            LastButtonStates  = UpdateButtonState(info);
        }
Example #5
0
        private List <bool> UpdateButtonState(WinMMAPI.JOYINFOEX info)
        {
            List <bool> axisVals = new List <bool>();

            for (int i = 0; i < Capabilities.buttonsNumber; i++)
            {
                int mask = (int)(Math.Pow(2, i));
                if (mask == 0)
                {
                    mask = 1;
                }

                axisVals.Add(((info.buttons & mask) != 0));
            }

            return(axisVals);
        }