コード例 #1
0
ファイル: DInputHandler.cs プロジェクト: njz3/FFBInspector
        /// <summary>
        /// Polls the device and gets axes positions and buttons status.
        /// </summary>
        /// <returns>
        /// Axes positions and buttons status on success, otherwise returns null.
        /// </returns>
        public DataClasses.AxesInput GetDeviceStatus()
        {
            if (ffbDevice == null)
            {
                return(null);
            }

            SlimDX.Result res = ffbDevice.Acquire();
            if (!(res != ResultCode.Success || res != ResultCode.Failure))
            {
                return(null);
            }

            JoystickState js;

            try
            {
                ffbDevice.Poll();
                js = ffbDevice.GetCurrentState();
            }
            catch (Exception)
            {
                MessageBox.Show(FFBInspector.Properties.Resources.errMsg_dihGetDevStat, FFBInspector.Properties.Resources.errCap_dihError,
                                MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(null);
            }

            DataClasses.AxesInput dc = new DataClasses.AxesInput();
            dc.xAxis  = js.X;
            dc.yAxis  = js.Y;
            dc.zAxis  = js.Z;
            dc.rxAxis = js.RotationX;
            dc.ryAxis = js.RotationY;
            dc.rzAxis = js.RotationZ;
            dc.fX     = js.ForceX;
            dc.fY     = js.ForceY;
            dc.fZ     = js.ForceZ;

            return(dc);
        }
コード例 #2
0
ファイル: DInputHandler.cs プロジェクト: MadCatX/FFBInspector
        /// <summary>
        /// Polls the device and gets axes positions and buttons status.
        /// </summary>
        /// <returns>
        /// Axes positions and buttons status on success, otherwise returns null.
        /// </returns>
        public DataClasses.AxesInput GetDeviceStatus()
        {
            if (ffbDevice == null)
                return null;

            SlimDX.Result res = ffbDevice.Acquire();
            if (!(res != ResultCode.Success || res != ResultCode.Failure))
                return null;

            JoystickState js;
            try
            {
                ffbDevice.Poll();
                js = ffbDevice.GetCurrentState();
            }
            catch (Exception)
            {
                MessageBox.Show(FFBInspector.Properties.Resources.errMsg_dihGetDevStat, FFBInspector.Properties.Resources.errCap_dihError,
                                MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return null;
            }

            DataClasses.AxesInput dc = new DataClasses.AxesInput();
            dc.xAxis = js.X;
            dc.yAxis = js.Y;
            dc.zAxis = js.Z;
            dc.rxAxis = js.RotationX;
            dc.ryAxis = js.RotationY;
            dc.rzAxis = js.RotationZ;
            dc.fX = js.ForceX;
            dc.fY = js.ForceY;
            dc.fZ = js.ForceZ;

            return dc;
        }