Remove some property usage and minor improvements

This commit is contained in:
Travis Nickles 2017-03-28 01:48:02 -07:00
parent 0fc12c1038
commit 7d6e33ba2f
4 changed files with 61 additions and 19 deletions

View File

@ -441,17 +441,16 @@ namespace DS4Windows
//Called every time the new input report has arrived //Called every time the new input report has arrived
protected virtual void On_Report(object sender, EventArgs e) protected virtual void On_Report(object sender, EventArgs e)
{ {
DS4Device device = (DS4Device)sender; DS4Device device = (DS4Device)sender;
int ind = -1; int ind = -1;
for (int i = 0; i < DS4Controllers.Length; i++) for (int i = 0, arlength = DS4Controllers.Length; ind == -1 && i < arlength; i++)
if (device == DS4Controllers[i]) if (device == DS4Controllers[i])
ind = i; ind = i;
if (ind != -1) if (ind != -1)
{ {
if (FlushHIDQueue[ind]) if (getFlushHIDQueue(ind))
device.FlushHID(); device.FlushHID();
if (!string.IsNullOrEmpty(device.error)) if (!string.IsNullOrEmpty(device.error))
{ {
@ -459,9 +458,10 @@ namespace DS4Windows
} }
if (DateTime.UtcNow - device.firstActive > TimeSpan.FromSeconds(5)) if (DateTime.UtcNow - device.firstActive > TimeSpan.FromSeconds(5))
{ {
if (device.Latency >= FlashWhenLateAt && !lag[ind]) int flashWhenLateAt = getFlashWhenLateAt();
if (device.Latency >= flashWhenLateAt && !lag[ind])
LagFlashWarning(ind, true); LagFlashWarning(ind, true);
else if (device.Latency < FlashWhenLateAt && lag[ind]) else if (device.Latency < flashWhenLateAt && lag[ind])
LagFlashWarning(ind, false); LagFlashWarning(ind, false);
} }
device.getExposedState(ExposedState[ind], CurrentState[ind]); device.getExposedState(ExposedState[ind], CurrentState[ind]);
@ -508,7 +508,7 @@ namespace DS4Windows
// Output any synthetic events. // Output any synthetic events.
Mapping.Commit(ind); Mapping.Commit(ind);
// Pull settings updates. // Pull settings updates.
device.IdleTimeout = IdleDisconnectTimeout[ind]; device.IdleTimeout = getIdleDisconnectTimeout(ind);
} }
} }
@ -751,22 +751,22 @@ namespace DS4Windows
public int[] oldscrollvalue = { 0, 0, 0, 0 }; public int[] oldscrollvalue = { 0, 0, 0, 0 };
protected virtual void CheckForHotkeys(int deviceID, DS4State cState, DS4State pState) protected virtual void CheckForHotkeys(int deviceID, DS4State cState, DS4State pState)
{ {
if (!UseTPforControls[deviceID] && cState.Touch1 && pState.PS) if (!getUseTPforControls(deviceID) && cState.Touch1 && pState.PS)
{ {
if (TouchSensitivity[deviceID] > 0 && touchreleased[deviceID]) if (getTouchSensitivity(deviceID) > 0 && touchreleased[deviceID])
{ {
oldtouchvalue[deviceID] = TouchSensitivity[deviceID]; oldtouchvalue[deviceID] = getTouchSensitivity(deviceID);
oldscrollvalue[deviceID] = ScrollSensitivity[deviceID]; oldscrollvalue[deviceID] = getScrollSensitivity(deviceID);
TouchSensitivity[deviceID] = 0; getTouchSensitivity()[deviceID] = 0;
ScrollSensitivity[deviceID] = 0; getScrollSensitivity()[deviceID] = 0;
LogDebug(TouchSensitivity[deviceID] > 0 ? Properties.Resources.TouchpadMovementOn : Properties.Resources.TouchpadMovementOff); LogDebug(TouchSensitivity[deviceID] > 0 ? Properties.Resources.TouchpadMovementOn : Properties.Resources.TouchpadMovementOff);
Log.LogToTray(TouchSensitivity[deviceID] > 0 ? Properties.Resources.TouchpadMovementOn : Properties.Resources.TouchpadMovementOff); Log.LogToTray(TouchSensitivity[deviceID] > 0 ? Properties.Resources.TouchpadMovementOn : Properties.Resources.TouchpadMovementOff);
touchreleased[deviceID] = false; touchreleased[deviceID] = false;
} }
else if (touchreleased[deviceID]) else if (touchreleased[deviceID])
{ {
TouchSensitivity[deviceID] = oldtouchvalue[deviceID]; getTouchSensitivity()[deviceID] = oldtouchvalue[deviceID];
ScrollSensitivity[deviceID] = oldscrollvalue[deviceID]; getScrollSensitivity()[deviceID] = oldscrollvalue[deviceID];
LogDebug(TouchSensitivity[deviceID] > 0 ? Properties.Resources.TouchpadMovementOn : Properties.Resources.TouchpadMovementOff); LogDebug(TouchSensitivity[deviceID] > 0 ? Properties.Resources.TouchpadMovementOn : Properties.Resources.TouchpadMovementOff);
Log.LogToTray(TouchSensitivity[deviceID] > 0 ? Properties.Resources.TouchpadMovementOn : Properties.Resources.TouchpadMovementOff); Log.LogToTray(TouchSensitivity[deviceID] > 0 ? Properties.Resources.TouchpadMovementOn : Properties.Resources.TouchpadMovementOff);
touchreleased[deviceID] = false; touchreleased[deviceID] = false;

View File

@ -266,6 +266,10 @@ namespace DS4Windows
set { m_Config.flashWhenLateAt = value; } set { m_Config.flashWhenLateAt = value; }
get { return m_Config.flashWhenLateAt; } get { return m_Config.flashWhenLateAt; }
} }
public static int getFlashWhenLateAt()
{
return m_Config.flashWhenLateAt;
}
public static bool UseWhiteIcon public static bool UseWhiteIcon
{ {
set { m_Config.useWhiteIcon = value; } set { m_Config.useWhiteIcon = value; }
@ -277,8 +281,24 @@ namespace DS4Windows
public static byte[] RumbleBoost => m_Config.rumble; public static byte[] RumbleBoost => m_Config.rumble;
public static double[] Rainbow => m_Config.rainbow; public static double[] Rainbow => m_Config.rainbow;
public static bool[] FlushHIDQueue => m_Config.flushHIDQueue; public static bool[] FlushHIDQueue => m_Config.flushHIDQueue;
public static bool getFlushHIDQueue(int index)
{
return m_Config.flushHIDQueue[index];
}
public static int[] IdleDisconnectTimeout => m_Config.idleDisconnectTimeout; public static int[] IdleDisconnectTimeout => m_Config.idleDisconnectTimeout;
public static int getIdleDisconnectTimeout(int index)
{
return m_Config.idleDisconnectTimeout[index];
}
public static byte[] TouchSensitivity => m_Config.touchSensitivity; public static byte[] TouchSensitivity => m_Config.touchSensitivity;
public static byte[] getTouchSensitivity()
{
return m_Config.touchSensitivity;
}
public static byte getTouchSensitivity(int index)
{
return m_Config.touchSensitivity[index];
}
public static byte[] FlashType => m_Config.flashType; public static byte[] FlashType => m_Config.flashType;
public static byte getFlashType(int index) public static byte getFlashType(int index)
{ {
@ -296,6 +316,10 @@ namespace DS4Windows
public static bool[] DinputOnly => m_Config.dinputOnly; public static bool[] DinputOnly => m_Config.dinputOnly;
public static bool[] StartTouchpadOff => m_Config.startTouchpadOff; public static bool[] StartTouchpadOff => m_Config.startTouchpadOff;
public static bool[] UseTPforControls => m_Config.useTPforControls; public static bool[] UseTPforControls => m_Config.useTPforControls;
public static bool getUseTPforControls(int index)
{
return m_Config.useTPforControls[index];
}
public static bool[] UseSAforMouse => m_Config.useSAforMouse; public static bool[] UseSAforMouse => m_Config.useSAforMouse;
public static string[] SATriggers => m_Config.sATriggers; public static string[] SATriggers => m_Config.sATriggers;
public static int[] GyroSensitivity => m_Config.gyroSensitivity; public static int[] GyroSensitivity => m_Config.gyroSensitivity;
@ -310,6 +334,15 @@ namespace DS4Windows
public static byte[] TapSensitivity => m_Config.tapSensitivity; public static byte[] TapSensitivity => m_Config.tapSensitivity;
public static bool[] DoubleTap => m_Config.doubleTap; public static bool[] DoubleTap => m_Config.doubleTap;
public static int[] ScrollSensitivity => m_Config.scrollSensitivity; public static int[] ScrollSensitivity => m_Config.scrollSensitivity;
public static int[] getScrollSensitivity()
{
return m_Config.scrollSensitivity;
}
public static int getScrollSensitivity(int index)
{
return m_Config.scrollSensitivity[index];
}
public static bool[] LowerRCOn => m_Config.lowerRCOn; public static bool[] LowerRCOn => m_Config.lowerRCOn;
public static bool[] TouchpadJitterCompensation => m_Config.touchpadJitterCompensation; public static bool[] TouchpadJitterCompensation => m_Config.touchpadJitterCompensation;

View File

@ -474,7 +474,7 @@ namespace DS4Windows
else else
{ {
//HidDevice.ReadStatus res = hDevice.ReadFile(inputReport); //HidDevice.ReadStatus res = hDevice.ReadFile(inputReport);
HidDevice.ReadStatus res = hDevice.ReadAsyncWithFileStream(inputReport2, READ_STREAM_TIMEOUT); HidDevice.ReadStatus res = hDevice.ReadAsyncWithFileStream(inputReport, READ_STREAM_TIMEOUT);
readTimeout.Enabled = false; readTimeout.Enabled = false;
if (res != HidDevice.ReadStatus.Success) if (res != HidDevice.ReadStatus.Success)
{ {
@ -487,7 +487,7 @@ namespace DS4Windows
} }
else else
{ {
Array.Copy(inputReport2, 0, inputReport, 0, inputReport.Length); //Array.Copy(inputReport2, 0, inputReport, 0, inputReport.Length);
} }
} }
if (ConnectionType == ConnectionType.BT && btInputReport[0] != 0x11) if (ConnectionType == ConnectionType.BT && btInputReport[0] != 0x11)
@ -759,8 +759,8 @@ namespace DS4Windows
public void getExposedState(DS4StateExposed expState, DS4State state) public void getExposedState(DS4StateExposed expState, DS4State state)
{ {
cState.CopyTo(state); cState.CopyTo(state);
expState.Accel = accel; expState.setAccel(accel);
expState.Gyro = gyro; expState.setGyro(gyro);
} }
public void getCurrentState(DS4State state) public void getCurrentState(DS4State state)

View File

@ -48,8 +48,17 @@ namespace DS4Windows
/// <summary> Holds raw DS4 input data from 14 to 19 </summary> /// <summary> Holds raw DS4 input data from 14 to 19 </summary>
public byte[] Accel { set { accel = value; } } public byte[] Accel { set { accel = value; } }
public void setAccel(byte[] value)
{
accel = value;
}
/// <summary> Holds raw DS4 input data from 20 to 25 </summary> /// <summary> Holds raw DS4 input data from 20 to 25 </summary>
public byte[] Gyro { set { gyro = value; } } public byte[] Gyro { set { gyro = value; } }
public void setGyro(byte[] value)
{
gyro = value;
}
/// <summary> Yaw leftward/counter-clockwise/turn to port or larboard side </summary> /// <summary> Yaw leftward/counter-clockwise/turn to port or larboard side </summary>
/// <remarks> Add double the previous result to this delta and divide by three.</remarks> /// <remarks> Add double the previous result to this delta and divide by three.</remarks>