Test new action invocation on input threads.

Only used to transfer idle disconnect time but
it might be more useful in the future.
This commit is contained in:
Travis Nickles 2017-05-13 19:31:39 -07:00
parent b1c640eaa1
commit 9b78668935
3 changed files with 13 additions and 7 deletions

View File

@ -153,6 +153,7 @@ namespace DS4Windows
device.Report += this.On_Report; device.Report += this.On_Report;
TouchPadOn(i, device); TouchPadOn(i, device);
device.setIdleTimeout(getIdleDisconnectTimeout(i));
device.StartUpdate(); device.StartUpdate();
//string filename = ProfilePath[ind]; //string filename = ProfilePath[ind];
//ind++; //ind++;
@ -342,6 +343,7 @@ namespace DS4Windows
} }
TouchPadOn(Index, device); TouchPadOn(Index, device);
device.setIdleTimeout(getIdleDisconnectTimeout(Index));
CheckProfileOptions(Index, device); CheckProfileOptions(Index, device);
device.StartUpdate(); device.StartUpdate();
@ -419,7 +421,6 @@ namespace DS4Windows
device.SixAxis.SixAccelMoved += tPad.sixaxisMoved; device.SixAxis.SixAccelMoved += tPad.sixaxisMoved;
//LogDebug("Touchpad mode for " + device.MacAddress + " is now " + tmode.ToString()); //LogDebug("Touchpad mode for " + device.MacAddress + " is now " + tmode.ToString());
//Log.LogToTray("Touchpad mode for " + device.MacAddress + " is now " + tmode.ToString()); //Log.LogToTray("Touchpad mode for " + device.MacAddress + " is now " + tmode.ToString());
//ControllerStatusChanged(this);
} }
public string getDS4ControllerInfo(int index) public string getDS4ControllerInfo(int index)
@ -590,7 +591,6 @@ namespace DS4Windows
inWarnMonitor[ind] = false; inWarnMonitor[ind] = false;
useDInputOnly[ind] = false; useDInputOnly[ind] = false;
OnControllerRemoved(this, ind); OnControllerRemoved(this, ind);
//ControllerStatusChanged(this);
} }
} }
} }
@ -650,7 +650,6 @@ namespace DS4Windows
else if (pState.Battery != cState.Battery) else if (pState.Battery != cState.Battery)
{ {
OnBatteryStatusChange(this, ind, cState.Battery); OnBatteryStatusChange(this, ind, cState.Battery);
//ControllerStatusChanged(this);
} }
if (getEnableTouchToggle(ind)) if (getEnableTouchToggle(ind))
@ -690,8 +689,6 @@ namespace DS4Windows
// Output any synthetic events. // Output any synthetic events.
Mapping.Commit(ind); Mapping.Commit(ind);
// Pull settings updates.
device.setIdleTimeout(getIdleDisconnectTimeout(ind));
} }
} }

View File

@ -1688,6 +1688,16 @@ namespace DS4Windows
root.OptionsClosed(); root.OptionsClosed();
Visible = false; Visible = false;
e.Cancel = true; e.Cancel = true;
if (device < 4)
{
DS4Device tempDev = Program.rootHub.DS4Controllers[device];
if (tempDev != null)
{
int discon = getIdleDisconnectTimeout(device);
tempDev.queueEvent(() => { tempDev.setIdleTimeout(discon); });
}
}
} }
private void cBSlide_CheckedChanged(object sender, EventArgs e) private void cBSlide_CheckedChanged(object sender, EventArgs e)

View File

@ -803,7 +803,7 @@ namespace DS4Windows
cState.CopyTo(pState); cState.CopyTo(pState);
/*lock (eventQueueLock) lock (eventQueueLock)
{ {
Action tempAct = null; Action tempAct = null;
//while (eventQueue.TryDequeue(out tempAct)) //while (eventQueue.TryDequeue(out tempAct))
@ -813,7 +813,6 @@ namespace DS4Windows
tempAct.Invoke(); tempAct.Invoke();
} }
} }
*/
} }
} }