11-15-2015, 07:09 PM
(11-15-2015, 07:00 PM)Ge-Force Wrote: [ -> ]Any idea what version will have all the changes? (and an approximate ETA)
I'm pretty confident in the next 1.6.x release in a few days.
(11-15-2015, 07:00 PM)Ge-Force Wrote: [ -> ]Any idea what version will have all the changes? (and an approximate ETA)
public event EventHandler<ScpHidReport> NativeFeedReceived;
private void Parse(object sender, ScpHidReport e)
{
lock (this)
{
if (e.PadId == (DsPadId)m_SelectedPad)
{
if (e.PadState != DsState.Connected)
{
ResetControls();
return;
}
//scpProxy.Remap(m_SelectedProfile, e);
switch (e.Model)
{
case DsModel.DS3:
{
axLX.Value = e[Ds3Axis.Lx].Value;
axLY.Value = e[Ds3Axis.Ly].Value;
axRX.Value = e[Ds3Axis.Rx].Value;
axRY.Value = e[Ds3Axis.Ry].Value;
axL1.Value = e[Ds3Axis.L1].Value;
axR1.Value = e[Ds3Axis.R1].Value;
axL2.Value = e[Ds3Axis.L2].Value;
axR2.Value = e[Ds3Axis.R2].Value;
axL3.Value = (Byte)(e[Ds3Button.L3].IsPressed ? 255 : 0);
axR3.Value = (Byte)(e[Ds3Button.R3].IsPressed ? 255 : 0);
axSH.Value = (Byte)(e[Ds3Button.Select].IsPressed ? 255 : 0);
axOP.Value = (Byte)(e[Ds3Button.Start].IsPressed ? 255 : 0);
axT.Value = e[Ds3Axis.Triangle].Value;
axC.Value = e[Ds3Axis.Circle].Value;
axX.Value = e[Ds3Axis.Cross].Value;
axS.Value = e[Ds3Axis.Square].Value;
axU.Value = e[Ds3Axis.Up].Value;
axR.Value = e[Ds3Axis.Right].Value;
axD.Value = e[Ds3Axis.Down].Value;
axL.Value = e[Ds3Axis.Left].Value;
axPS.Value = (Byte)(e[Ds3Button.Ps].IsPressed ? 255 : 0);
}
break;
case DsModel.DS4:
{
axLX.Value = e[Ds4Axis.Lx].Value;
axLY.Value = e[Ds4Axis.Ly].Value;
axRX.Value = e[Ds4Axis.Rx].Value;
axRY.Value = e[Ds4Axis.Ry].Value;
axL2.Value = e[Ds4Axis.L2].Value;
axR2.Value = e[Ds4Axis.R2].Value;
axL1.Value = (Byte)(e[Ds4Button.L1].IsPressed ? 255 : 0);
axR1.Value = (Byte)(e[Ds4Button.R1].IsPressed ? 255 : 0);
axL3.Value = (Byte)(e[Ds4Button.L3].IsPressed ? 255 : 0);
axR3.Value = (Byte)(e[Ds4Button.R3].IsPressed ? 255 : 0);
axSH.Value = (Byte)(e[Ds4Button.Share].IsPressed ? 255 : 0);
axOP.Value = (Byte)(e[Ds4Button.Options].IsPressed ? 255 : 0);
axT.Value = (Byte)(e[Ds4Button.Triangle].IsPressed ? 255 : 0);
axC.Value = (Byte)(e[Ds4Button.Circle].IsPressed ? 255 : 0);
axX.Value = (Byte)(e[Ds4Button.Cross].IsPressed ? 255 : 0);
axS.Value = (Byte)(e[Ds4Button.Square].IsPressed ? 255 : 0);
axU.Value = (Byte)(e[Ds4Button.Up].IsPressed ? 255 : 0);
axR.Value = (Byte)(e[Ds4Button.Right].IsPressed ? 255 : 0);
axD.Value = (Byte)(e[Ds4Button.Down].IsPressed ? 255 : 0);
axL.Value = (Byte)(e[Ds4Button.Left].IsPressed ? 255 : 0);
axPS.Value = (Byte)(e[Ds4Button.Ps].IsPressed ? 255 : 0);
axTP.Value = (Byte)(e[Ds4Button.TouchPad].IsPressed ? 255 : 0);
}
break;
}
}
}
}
public SCP_EXTN GetExtended(uint dwUserIndex)
{
ScpHidReport inputReport;
var extended = default(SCP_EXTN);
try
{
inputReport = _packetCache[(DsPadId) dwUserIndex];
}
catch (KeyNotFoundException)
{
return extended;
}
switch (inputReport.Model)
{
case DsModel.None:
break;
case DsModel.DS3:
// translate and wrap button/axis information
extended = new SCP_EXTN
{
SCP_UP = inputReport[Ds3Axis.Up].Pressure,
SCP_RIGHT = inputReport[Ds3Axis.Right].Pressure,
SCP_DOWN = inputReport[Ds3Axis.Down].Pressure,
SCP_LEFT = inputReport[Ds3Axis.Left].Pressure,
SCP_LX = inputReport[Ds3Axis.Lx].Value,
SCP_LY = inputReport[Ds3Axis.Ly].Value,
SCP_L1 = inputReport[Ds3Axis.L1].Pressure,
SCP_L2 = inputReport[Ds3Axis.L2].Pressure,
SCP_L3 = inputReport[Ds3Button.L3].Pressure,
SCP_RX = inputReport[Ds3Axis.Rx].Value,
SCP_RY = inputReport[Ds3Axis.Ry].Value,
SCP_R1 = inputReport[Ds3Axis.R1].Pressure,
SCP_R2 = inputReport[Ds3Axis.R2].Pressure,
SCP_R3 = inputReport[Ds3Button.R3].Pressure,
SCP_T = inputReport[Ds3Axis.Triangle].Pressure,
SCP_C = inputReport[Ds3Axis.Circle].Pressure,
SCP_X = inputReport[Ds3Axis.Cross].Pressure,
SCP_S = inputReport[Ds3Axis.Square].Pressure,
SCP_SELECT = inputReport[Ds3Button.Select].Pressure,
SCP_START = inputReport[Ds3Button.Start].Pressure,
SCP_PS = inputReport[Ds3Button.Ps].Pressure
};
break;
// TODO: implement DS4 and Generic
}
return extended;
}
(11-20-2015, 05:33 AM)Lonely188 Wrote: [ -> ]Hey Ge-Force, thanks so much for your hard work on this tool.
I just wanted to let you know that one thing right now that I'm struggling with is no Dead-zones for the axes.
Is there a way currently to configure dead zones and if not, do you plan to add this as a feature into the ScpPad2vJoy app?
Thanks!
(12-03-2015, 01:50 PM)delti Wrote: [ -> ]hey ge-force, i just recently upgraded to windows 10 and can't seem to run ScpPad2vJoy.exe itself anymore. I upgraded to the latest version of vjoy, scpserver reloaded, and also scpPad2vjoy that you have attached in the first post as well. any idea how to go about getting this to run again? trying compatiblity with windows 8 didn't work either.
thanks