/// <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); }
/// <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; }