Revamped UI - Options are now in the same window as the main tool, Can edit profiles without it being selected, Organized Info of controllers, minimum size changes by number of controllers connected
You can now duplicate profiles Cycle through profiles by holding L1+R1 and swiping left and right on the touchpad Check for updates options in Hotkeys/About Small mouse movements with analog fixes Mouse movement with triggers fixed Alpha of Auto Profiles implemented, not yet able to use Minor fixes
@ -288,6 +288,26 @@ namespace DS4Control
|
||||
return String.Empty;
|
||||
}
|
||||
|
||||
public string getDS4MacAddress(int index)
|
||||
{
|
||||
if (DS4Controllers[index] != null)
|
||||
{
|
||||
DS4Device d = DS4Controllers[index];
|
||||
if (!d.IsAlive())
|
||||
//return "Connecting..."; // awaiting the first battery charge indication
|
||||
{
|
||||
var TimeoutThread = new System.Threading.Thread(() => TimeoutConnection(d));
|
||||
TimeoutThread.IsBackground = true;
|
||||
TimeoutThread.Name = "TimeoutFor" + d.MacAddress.ToString();
|
||||
TimeoutThread.Start();
|
||||
return "Connecting...";
|
||||
}
|
||||
return d.MacAddress;
|
||||
}
|
||||
else
|
||||
return String.Empty;
|
||||
}
|
||||
|
||||
public string getShortDS4ControllerInfo(int index)
|
||||
{
|
||||
if (DS4Controllers[index] != null)
|
||||
@ -307,7 +327,43 @@ namespace DS4Control
|
||||
{
|
||||
battery = d.Battery + "%";
|
||||
}
|
||||
return d.ConnectionType + " " + battery;
|
||||
return d.ConnectionType + " " + battery + " (" + System.IO.Path.GetFileNameWithoutExtension(Global.getAProfile(index)) + ")";
|
||||
}
|
||||
else
|
||||
return "None";
|
||||
}
|
||||
|
||||
public string getDS4Battery(int index)
|
||||
{
|
||||
if (DS4Controllers[index] != null)
|
||||
{
|
||||
DS4Device d = DS4Controllers[index];
|
||||
String battery;
|
||||
if (!d.IsAlive())
|
||||
battery = "...";
|
||||
if (d.Charging)
|
||||
{
|
||||
if (d.Battery >= 100)
|
||||
battery = "Full";
|
||||
else
|
||||
battery = d.Battery + "%+";
|
||||
}
|
||||
else
|
||||
{
|
||||
battery = d.Battery + "%";
|
||||
}
|
||||
return battery;
|
||||
}
|
||||
else
|
||||
return "N/A";
|
||||
}
|
||||
|
||||
public string getDS4Status(int index)
|
||||
{
|
||||
if (DS4Controllers[index] != null)
|
||||
{
|
||||
DS4Device d = DS4Controllers[index];
|
||||
return d.ConnectionType+"";
|
||||
}
|
||||
else
|
||||
return "None";
|
||||
@ -391,39 +447,41 @@ namespace DS4Control
|
||||
public string GetInputkeys(int ind)
|
||||
{
|
||||
DS4State cState = CurrentState[ind];
|
||||
if (Mapping.getBoolMapping(DS4Controls.Cross, cState)) return "Cross";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.Circle, cState)) return "Circle";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.Triangle, cState)) return "Triangle";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.Square, cState)) return "Square";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.L1, cState)) return "L1";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.R1, cState)) return "R1";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.L2, cState)) return "L2";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.R2, cState)) return "R2";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.L3, cState)) return "L3";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.R3, cState)) return "R3";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.DpadUp, cState)) return "Up";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.DpadDown, cState)) return "Down";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.DpadLeft, cState)) return "Left";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.DpadRight, cState)) return "Right";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.Share, cState)) return "Share";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.Options, cState)) return "Options";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.PS, cState)) return "PS";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.LXPos, cState)) return "LS Right";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.LXNeg, cState)) return "LS Left";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.LYPos, cState)) return "LS Down";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.LYNeg, cState)) return "LS Up";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.RXPos, cState)) return "RS Right";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.RXNeg, cState)) return "RS Left";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.RYPos, cState)) return "RS Down";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.RYNeg, cState)) return "RS Up";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.TouchLeft, cState)) return "Touch Left";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.TouchRight, cState)) return "Touch Right";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.TouchMulti, cState)) return "Touch Multi";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.TouchUpper, cState)) return "Touch Upper";
|
||||
if (DS4Controllers[ind] != null)
|
||||
if (Mapping.getBoolMapping(DS4Controls.Cross, cState)) return "Cross";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.Circle, cState)) return "Circle";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.Triangle, cState)) return "Triangle";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.Square, cState)) return "Square";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.L1, cState)) return "L1";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.R1, cState)) return "R1";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.L2, cState)) return "L2";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.R2, cState)) return "R2";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.L3, cState)) return "L3";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.R3, cState)) return "R3";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.DpadUp, cState)) return "Up";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.DpadDown, cState)) return "Down";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.DpadLeft, cState)) return "Left";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.DpadRight, cState)) return "Right";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.Share, cState)) return "Share";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.Options, cState)) return "Options";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.PS, cState)) return "PS";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.LXPos, cState)) return "LS Right";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.LXNeg, cState)) return "LS Left";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.LYPos, cState)) return "LS Down";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.LYNeg, cState)) return "LS Up";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.RXPos, cState)) return "RS Right";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.RXNeg, cState)) return "RS Left";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.RYPos, cState)) return "RS Down";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.RYNeg, cState)) return "RS Up";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.TouchLeft, cState)) return "Touch Left";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.TouchRight, cState)) return "Touch Right";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.TouchMulti, cState)) return "Touch Multi";
|
||||
else if (Mapping.getBoolMapping(DS4Controls.TouchUpper, cState)) return "Touch Upper";
|
||||
else return "nothing";
|
||||
else return "nothing";
|
||||
}
|
||||
|
||||
bool touchreleased = true;
|
||||
bool touchreleased = true, touchslid = false;
|
||||
byte[] oldtouchvalue = { 0, 0, 0, 0 };
|
||||
protected virtual void CheckForHotkeys(int deviceID, DS4State cState, DS4State pState)
|
||||
{
|
||||
@ -450,7 +508,7 @@ namespace DS4Control
|
||||
}
|
||||
}
|
||||
}
|
||||
if (cState.Touch1 && pState.PS)
|
||||
if (cState.TouchButton && pState.PS)
|
||||
{
|
||||
if (Global.getTouchSensitivity(deviceID) > 0 && touchreleased)
|
||||
{
|
||||
@ -469,9 +527,31 @@ namespace DS4Control
|
||||
}
|
||||
}
|
||||
else
|
||||
touchreleased = true;
|
||||
touchreleased = true;
|
||||
}
|
||||
|
||||
public virtual string TouchpadSlide(int ind)
|
||||
{
|
||||
DS4State cState = CurrentState[ind];
|
||||
string slidedir = "none";
|
||||
if (cState.L1 && cState.R1)
|
||||
if (touchPad[ind].slideright && !touchslid)
|
||||
{
|
||||
slidedir = "right";
|
||||
touchslid = true;
|
||||
}
|
||||
else if (touchPad[ind].slideleft && !touchslid)
|
||||
{
|
||||
slidedir = "left";
|
||||
touchslid = true;
|
||||
}
|
||||
else if (!touchPad[ind].slideleft && !touchPad[ind].slideright)
|
||||
{
|
||||
slidedir = "";
|
||||
touchslid = false;
|
||||
}
|
||||
return slidedir;
|
||||
}
|
||||
public virtual void LogDebug(String Data)
|
||||
{
|
||||
Console.WriteLine(System.DateTime.Now.ToString("G") + "> " + Data);
|
||||
@ -498,7 +578,9 @@ namespace DS4Control
|
||||
uint heavyBoosted = ((uint)heavyMotor * (uint)boost) / 100;
|
||||
if (heavyBoosted > 255)
|
||||
heavyBoosted = 255;
|
||||
DS4Controllers[deviceNum].setRumble((byte)lightBoosted, (byte)heavyBoosted);
|
||||
if (deviceNum < 4)
|
||||
if (DS4Controllers[deviceNum] != null)
|
||||
DS4Controllers[deviceNum].setRumble((byte)lightBoosted, (byte)heavyBoosted);
|
||||
}
|
||||
|
||||
public DS4State getDS4State(int ind)
|
||||
|
@ -705,28 +705,28 @@ namespace DS4Control
|
||||
case X360Controls.MouseUp:
|
||||
if (MouseDeltaY == 0)
|
||||
{
|
||||
MouseDeltaY = getMouseMapping(device, customButton.Key, cState, pState);
|
||||
MouseDeltaY = getMouseMapping(device, customButton.Key, cState, pState, 0);
|
||||
MouseDeltaY = -Math.Abs((MouseDeltaY == -2147483648 ? 0 : MouseDeltaY));
|
||||
}
|
||||
break;
|
||||
case X360Controls.MouseDown:
|
||||
if (MouseDeltaY == 0)
|
||||
{
|
||||
MouseDeltaY = getMouseMapping(device, customButton.Key, cState, pState);
|
||||
MouseDeltaY = getMouseMapping(device, customButton.Key, cState, pState, 1);
|
||||
MouseDeltaY = Math.Abs((MouseDeltaY == -2147483648 ? 0 : MouseDeltaY));
|
||||
}
|
||||
break;
|
||||
case X360Controls.MouseLeft:
|
||||
if (MouseDeltaX == 0)
|
||||
{
|
||||
MouseDeltaX = getMouseMapping(device, customButton.Key, cState, pState);
|
||||
MouseDeltaX = getMouseMapping(device, customButton.Key, cState, pState, 2);
|
||||
MouseDeltaX = -Math.Abs((MouseDeltaX == -2147483648 ? 0 : MouseDeltaX));
|
||||
}
|
||||
break;
|
||||
case X360Controls.MouseRight:
|
||||
if (MouseDeltaX == 0)
|
||||
{
|
||||
MouseDeltaX = getMouseMapping(device, customButton.Key, cState, pState);
|
||||
MouseDeltaX = getMouseMapping(device, customButton.Key, cState, pState, 3);
|
||||
MouseDeltaX = Math.Abs((MouseDeltaX == -2147483648 ? 0 : MouseDeltaX));
|
||||
}
|
||||
break;
|
||||
@ -743,15 +743,15 @@ namespace DS4Control
|
||||
MappedState.RY = cState.RY;
|
||||
InputMethods.MoveCursorBy(MouseDeltaX, MouseDeltaY);
|
||||
}
|
||||
public static DateTime mousenow = DateTime.UtcNow;
|
||||
public static DateTime[] mousenow = { DateTime.UtcNow, DateTime.UtcNow, DateTime.UtcNow, DateTime.UtcNow };
|
||||
public static double mvalue = 0;
|
||||
private static int getMouseMapping(int device, DS4Controls control, DS4State cState, DS4State pState)
|
||||
private static int getMouseMapping(int device, DS4Controls control, DS4State cState, DS4State pState, int mnum)
|
||||
{
|
||||
|
||||
int deadzone = 10;
|
||||
double value = 0;
|
||||
int speed = Global.getButtonMouseSensitivity(device);
|
||||
DateTime now = mousenow;
|
||||
DateTime now = mousenow[mnum];
|
||||
switch (control)
|
||||
{
|
||||
case DS4Controls.LXNeg:
|
||||
@ -801,11 +801,11 @@ namespace DS4Control
|
||||
case DS4Controls.Square: value = (cState.Square ? Math.Pow(1.01 + speed / 10000d, 100) - 1 : 0); break;
|
||||
case DS4Controls.Triangle: value = (cState.Triangle ? Math.Pow(1.01 + speed / 10000d, 100) - 1 : 0); break;
|
||||
case DS4Controls.Circle: value = (cState.Circle ? Math.Pow(1.01 + speed / 10000d, 100) - 1 : 0); break;
|
||||
case DS4Controls.L2: value = ((cState.L2 / 2d) / 127d) * Math.Pow(1.01 + speed / 10000d, 100) - 1; break;
|
||||
case DS4Controls.R2: value = ((cState.R2 / 2d) / 127d) * Math.Pow(1.01 + speed / 10000d, 100) - 1; break;
|
||||
case DS4Controls.L2: value = Math.Pow(1.01 + speed / 10000d, cState.L2 / 2d) - 1; break;
|
||||
case DS4Controls.R2: value = Math.Pow(1.01 + speed / 10000d, cState.R2 / 2d) - 1; break;
|
||||
}
|
||||
if (value != 0)
|
||||
mvalue = value;
|
||||
//if (value != 0)
|
||||
//mvalue = value;
|
||||
|
||||
bool LXChanged = (Math.Abs(127 - cState.LX) < deadzone);
|
||||
bool LYChanged = (Math.Abs(127 - cState.LY) < deadzone);
|
||||
@ -815,9 +815,9 @@ namespace DS4Control
|
||||
now = DateTime.UtcNow;
|
||||
if (value <= 1)
|
||||
{
|
||||
if (now >= mousenow + TimeSpan.FromMilliseconds((1 - value)*250))
|
||||
if (now >= mousenow[mnum] + TimeSpan.FromMilliseconds((1 - value) * 250))
|
||||
{
|
||||
mousenow = now;
|
||||
mousenow[mnum] = now;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
|
@ -29,12 +29,16 @@ namespace DS4Control
|
||||
{
|
||||
return "Standard Mode";
|
||||
}
|
||||
|
||||
public bool slideleft, slideright;
|
||||
public virtual void touchesMoved(object sender, TouchpadEventArgs arg)
|
||||
{
|
||||
cursor.touchesMoved(arg);
|
||||
if (Math.Abs(firstTouch.hwX - arg.touches[0].hwX) > 5 && Math.Abs(firstTouch.hwY - arg.touches[0].hwY) > 5)
|
||||
wheel.touchesMoved(arg);
|
||||
if (arg.touches[0].hwX - firstTouch.hwX > 300 && !slideleft)
|
||||
slideright = true;
|
||||
else if (firstTouch.hwX - arg.touches[0].hwX > 300 && !slideright)
|
||||
slideleft = true;
|
||||
dev.getCurrentState(s);
|
||||
synthesizeMouseButtons();
|
||||
//Console.WriteLine(arg.timeStamp.ToString("O") + " " + "moved to " + arg.touches[0].hwX + "," + arg.touches[0].hwY);
|
||||
@ -58,6 +62,7 @@ namespace DS4Control
|
||||
public virtual void touchesEnded(object sender, TouchpadEventArgs arg)
|
||||
{
|
||||
//Console.WriteLine(arg.timeStamp.ToString("O") + " " + "ended at " + arg.touches[0].hwX + "," + arg.touches[0].hwY);
|
||||
slideright = slideleft = false;
|
||||
if (Global.getTapSensitivity(deviceNum) != 0)
|
||||
{
|
||||
|
||||
|
@ -471,27 +471,28 @@ namespace DS4Control
|
||||
{
|
||||
protected String m_Profile = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool\\Profiles.xml";
|
||||
protected XmlDocument m_Xdoc = new XmlDocument();
|
||||
|
||||
public int[] buttonMouseSensitivity = { 25, 25, 25, 25 };
|
||||
|
||||
public Boolean[] touchpadJitterCompensation = {true, true, true, true};
|
||||
public Boolean[] lowerRCOn = { false, false, false, false };
|
||||
public Boolean[] ledAsBattery = { false, false, false, false };
|
||||
public Boolean[] flashLedLowBattery = { false, false, false, false };
|
||||
public Byte[] m_LeftTriggerMiddle = { 0, 0, 0, 0 }, m_RightTriggerMiddle = { 0, 0, 0, 0 };
|
||||
public String[] profilePath = { String.Empty, String.Empty, String.Empty, String.Empty };
|
||||
public Byte[] m_Rumble = { 100, 100, 100, 100 };
|
||||
public Byte[] touchSensitivity = { 100, 100, 100, 100 };
|
||||
public Byte[] LSDeadzone = { 0, 0, 0, 0 }, RSDeadzone = { 0, 0, 0, 0 };
|
||||
public Byte[] tapSensitivity = { 0, 0, 0, 0 };
|
||||
public bool[] doubleTap = { false, false, false, false };
|
||||
public int[] scrollSensitivity = { 0, 0, 0, 0 };
|
||||
public double[] rainbow = { 0, 0, 0, 0 };
|
||||
//fifth value used to for options, not fifth controller
|
||||
public int[] buttonMouseSensitivity = { 25, 25, 25, 25, 25 };
|
||||
|
||||
public Boolean[] touchpadJitterCompensation = {true, true, true, true, true};
|
||||
public Boolean[] lowerRCOn = { false, false, false, false, false };
|
||||
public Boolean[] ledAsBattery = { false, false, false, false, false };
|
||||
public Boolean[] flashLedLowBattery = { false, false, false, false, false };
|
||||
public Byte[] m_LeftTriggerMiddle = { 0, 0, 0, 0, 0}, m_RightTriggerMiddle = { 0, 0, 0, 0, 0};
|
||||
public String[] profilePath = { String.Empty, String.Empty, String.Empty, String.Empty, String.Empty };
|
||||
public Byte[] m_Rumble = { 100, 100, 100, 100, 100 };
|
||||
public Byte[] touchSensitivity = { 100, 100, 100, 100, 100 };
|
||||
public Byte[] LSDeadzone = { 0, 0, 0, 0, 0 }, RSDeadzone = { 0, 0, 0, 0, 0};
|
||||
public Byte[] tapSensitivity = { 0, 0, 0, 0, 0 };
|
||||
public bool[] doubleTap = { false, false, false, false, false };
|
||||
public int[] scrollSensitivity = { 0, 0, 0, 0, 0 };
|
||||
public double[] rainbow = { 0, 0, 0, 0, 0 };
|
||||
public Byte[][] m_LowLeds = new Byte[][]
|
||||
{
|
||||
new Byte[] {0,0,0},
|
||||
new Byte[] {0,0,0},
|
||||
new Byte[] {0,0,0},
|
||||
new Byte[] {0,0,0},
|
||||
new Byte[] {0,0,0}
|
||||
};
|
||||
public Byte[][] m_Leds = new Byte[][]
|
||||
@ -500,9 +501,10 @@ namespace DS4Control
|
||||
new Byte[] {255,0,0},
|
||||
new Byte[] {0,255,0},
|
||||
new Byte[] {255,0,255},
|
||||
new Byte[] {255,255,255}
|
||||
};
|
||||
public bool[] flushHIDQueue = { true, true, true, true };
|
||||
public int[] idleDisconnectTimeout = { 0, 0, 0, 0 };
|
||||
public bool[] flushHIDQueue = { true, true, true, true, true };
|
||||
public int[] idleDisconnectTimeout = { 0, 0, 0, 0, 0 };
|
||||
|
||||
public Boolean useExclusiveMode = false;
|
||||
public Int32 formWidth = 782;
|
||||
@ -510,13 +512,13 @@ namespace DS4Control
|
||||
public Boolean startMinimized = false;
|
||||
public double version;
|
||||
public DateTime lastChecked;
|
||||
public Dictionary<DS4Controls, DS4KeyType>[] customMapKeyTypes = {null, null, null, null};
|
||||
public Dictionary<DS4Controls, UInt16>[] customMapKeys = { null, null, null, null };
|
||||
public Dictionary<DS4Controls, String>[] customMapMacros = { null, null, null, null };
|
||||
public Dictionary<DS4Controls, X360Controls>[] customMapButtons = { null, null, null, null };
|
||||
public Dictionary<DS4Controls, DS4KeyType>[] customMapKeyTypes = {null, null, null, null, null};
|
||||
public Dictionary<DS4Controls, UInt16>[] customMapKeys = { null, null, null, null, null };
|
||||
public Dictionary<DS4Controls, String>[] customMapMacros = { null, null, null, null, null };
|
||||
public Dictionary<DS4Controls, X360Controls>[] customMapButtons = { null, null, null, null, null };
|
||||
public BackingStore()
|
||||
{
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (int i = 0; i < 5; i++)
|
||||
{
|
||||
customMapKeyTypes[i] = new Dictionary<DS4Controls, DS4KeyType>();
|
||||
customMapKeys[i] = new Dictionary<DS4Controls, UInt16>();
|
||||
|
@ -102,6 +102,12 @@
|
||||
<Compile Include="KBM360.Designer.cs">
|
||||
<DependentUpon>KBM360.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="MessageTextBox.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MessageTextBox.Designer.cs">
|
||||
<DependentUpon>MessageTextBox.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Options.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@ -115,6 +121,11 @@
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Resource.es.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resource.es.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ScpForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@ -140,6 +151,9 @@
|
||||
<EmbeddedResource Include="KBM360.resx">
|
||||
<DependentUpon>KBM360.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MessageTextBox.resx">
|
||||
<DependentUpon>MessageTextBox.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Options.resx">
|
||||
<DependentUpon>Options.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@ -148,7 +162,10 @@
|
||||
<SubType>Designer</SubType>
|
||||
<LastGenOutput>Resources1.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resource.es.resx" />
|
||||
<EmbeddedResource Include="Resource.es.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resource.es.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ScpForm.resx">
|
||||
<DependentUpon>ScpForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@ -181,21 +198,30 @@
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\USB.png" />
|
||||
<None Include="Resources\UpperTouch.png" />
|
||||
<None Include="Resources\shell32_copy.png" />
|
||||
<None Include="Resources\shell32_new.png" />
|
||||
<None Include="Resources\shell32 delete.png" />
|
||||
<None Include="Resources\sticks.png" />
|
||||
<None Include="Resources\Touch.png" />
|
||||
<None Include="Resources\Touch states2.png" />
|
||||
<None Include="Resources\sticks2.png" />
|
||||
<None Include="Resources\360 fades.png" />
|
||||
<None Include="Resources\1401402547_menu-24.png" />
|
||||
<None Include="Resources\DS4 Controller.png" />
|
||||
<None Include="Resources\delete.png" />
|
||||
<None Include="Resources\BT.png" />
|
||||
<Content Include="Resources\DS4.ico" />
|
||||
<None Include="Resources\mouse.png" />
|
||||
<None Include="Resources\rainbow.png" />
|
||||
<None Include="Resources\rainbowC.png" />
|
||||
<None Include="Resources\Pairmode.png" />
|
||||
<None Include="Resources\LeftTouch.png" />
|
||||
<None Include="Resources\MultiTouch.png" />
|
||||
<None Include="Resources\RightTouch.png" />
|
||||
<None Include="Resources\Pairmode.png" />
|
||||
<None Include="Resources\imageres_new.png" />
|
||||
<None Include="Resources\none.png" />
|
||||
<Content Include="Resources\Scp_All.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
361
DS4Tool/Hotkeys.Designer.cs
generated
@ -28,7 +28,6 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Hotkeys));
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
@ -49,48 +48,68 @@
|
||||
this.linkInhexSTER = new System.Windows.Forms.LinkLabel();
|
||||
this.linkJhebbel = new System.Windows.Forms.LinkLabel();
|
||||
this.linkUninstall = new System.Windows.Forms.LinkLabel();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.label24 = new System.Windows.Forms.Label();
|
||||
this.label20 = new System.Windows.Forms.Label();
|
||||
this.label22 = new System.Windows.Forms.Label();
|
||||
this.label17 = new System.Windows.Forms.Label();
|
||||
this.label18 = new System.Windows.Forms.Label();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.label19 = new System.Windows.Forms.Label();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.label21 = new System.Windows.Forms.Label();
|
||||
this.label16 = new System.Windows.Forms.Label();
|
||||
this.label28 = new System.Windows.Forms.Label();
|
||||
this.label29 = new System.Windows.Forms.Label();
|
||||
this.label25 = new System.Windows.Forms.Label();
|
||||
this.label27 = new System.Windows.Forms.Label();
|
||||
this.label26 = new System.Windows.Forms.Label();
|
||||
this.label23 = new System.Windows.Forms.Label();
|
||||
this.lLBUpdate = new System.Windows.Forms.LinkLabel();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(26, 31);
|
||||
this.label1.Location = new System.Drawing.Point(3, 110);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(129, 13);
|
||||
this.label1.Size = new System.Drawing.Size(108, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Finger on Touchpad + PS";
|
||||
this.label1.Text = "Click Touchpad + PS";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(26, 111);
|
||||
this.label3.Location = new System.Drawing.Point(3, 176);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(176, 13);
|
||||
this.label3.Size = new System.Drawing.Size(125, 13);
|
||||
this.label3.TabIndex = 2;
|
||||
this.label3.Text = "Tap then hold touchpad (if enabled)";
|
||||
this.label3.Text = "Tap then hold touchpad*";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(26, 136);
|
||||
this.label4.Location = new System.Drawing.Point(3, 132);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(172, 13);
|
||||
this.label4.Size = new System.Drawing.Size(121, 13);
|
||||
this.label4.TabIndex = 3;
|
||||
this.label4.Text = "Pad click on lower right (if enabled)";
|
||||
this.label4.Text = "Pad click on lower right*";
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(226, 31);
|
||||
this.label5.Location = new System.Drawing.Point(193, 110);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(138, 26);
|
||||
this.label5.Size = new System.Drawing.Size(231, 13);
|
||||
this.label5.TabIndex = 4;
|
||||
this.label5.Text = "Turn off touchpad movment\r\n(pressing still works)";
|
||||
this.label5.Text = "Turn off touchpad movment (clicking still works)";
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(226, 111);
|
||||
this.label7.Location = new System.Drawing.Point(193, 176);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(83, 13);
|
||||
this.label7.TabIndex = 6;
|
||||
@ -99,27 +118,27 @@
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(226, 136);
|
||||
this.label8.Location = new System.Drawing.Point(193, 132);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(165, 26);
|
||||
this.label8.Size = new System.Drawing.Size(313, 13);
|
||||
this.label8.TabIndex = 7;
|
||||
this.label8.Text = "Right click (Best used when right \r\nside is used as a mouse button)";
|
||||
this.label8.Text = "Right click (Best used when right side is used as a mouse button)";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.button1.Location = new System.Drawing.Point(163, 332);
|
||||
this.button1.Location = new System.Drawing.Point(215, 399);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(75, 23);
|
||||
this.button1.TabIndex = 8;
|
||||
this.button1.Text = "Ok";
|
||||
this.button1.Text = "Done";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(226, 87);
|
||||
this.label9.Location = new System.Drawing.Point(193, 154);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(83, 13);
|
||||
this.label9.TabIndex = 10;
|
||||
@ -128,34 +147,36 @@
|
||||
// label10
|
||||
//
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(26, 87);
|
||||
this.label10.Location = new System.Drawing.Point(3, 154);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(171, 13);
|
||||
this.label10.Size = new System.Drawing.Size(175, 13);
|
||||
this.label10.TabIndex = 9;
|
||||
this.label10.Text = "Two fingers up/down on touchpad";
|
||||
this.label10.Text = "Two fingers up/down on touchpad*";
|
||||
//
|
||||
// label13
|
||||
//
|
||||
this.label13.Location = new System.Drawing.Point(2, 171);
|
||||
this.label13.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label13.AutoSize = true;
|
||||
this.label13.Location = new System.Drawing.Point(3, 224);
|
||||
this.label13.Name = "label13";
|
||||
this.label13.Size = new System.Drawing.Size(397, 57);
|
||||
this.label13.Size = new System.Drawing.Size(184, 13);
|
||||
this.label13.TabIndex = 14;
|
||||
this.label13.Text = resources.GetString("label13.Text");
|
||||
this.label13.Text = "When mapping keyboard and mouse:";
|
||||
this.label13.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||
//
|
||||
// label14
|
||||
//
|
||||
this.label14.AutoSize = true;
|
||||
this.label14.Location = new System.Drawing.Point(227, 63);
|
||||
this.label14.Location = new System.Drawing.Point(193, 88);
|
||||
this.label14.Name = "label14";
|
||||
this.label14.Size = new System.Drawing.Size(131, 13);
|
||||
this.label14.Size = new System.Drawing.Size(201, 13);
|
||||
this.label14.TabIndex = 16;
|
||||
this.label14.Text = "Disconnect Controller (BT)";
|
||||
this.label14.Text = "Disconnect Controller (Only on Bluetooth)";
|
||||
//
|
||||
// label15
|
||||
//
|
||||
this.label15.AutoSize = true;
|
||||
this.label15.Location = new System.Drawing.Point(27, 63);
|
||||
this.label15.Location = new System.Drawing.Point(3, 88);
|
||||
this.label15.Name = "label15";
|
||||
this.label15.Size = new System.Drawing.Size(103, 13);
|
||||
this.label15.TabIndex = 15;
|
||||
@ -165,7 +186,7 @@
|
||||
//
|
||||
this.linkProfiles.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.linkProfiles.AutoSize = true;
|
||||
this.linkProfiles.Location = new System.Drawing.Point(292, 337);
|
||||
this.linkProfiles.Location = new System.Drawing.Point(378, 404);
|
||||
this.linkProfiles.Name = "linkProfiles";
|
||||
this.linkProfiles.Size = new System.Drawing.Size(94, 13);
|
||||
this.linkProfiles.TabIndex = 17;
|
||||
@ -177,7 +198,7 @@
|
||||
//
|
||||
this.linkElectro.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.linkElectro.AutoSize = true;
|
||||
this.linkElectro.Location = new System.Drawing.Point(215, 273);
|
||||
this.linkElectro.Location = new System.Drawing.Point(272, 374);
|
||||
this.linkElectro.Name = "linkElectro";
|
||||
this.linkElectro.Size = new System.Drawing.Size(149, 13);
|
||||
this.linkElectro.TabIndex = 18;
|
||||
@ -189,7 +210,7 @@
|
||||
//
|
||||
this.linkJays2Kings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.linkJays2Kings.AutoSize = true;
|
||||
this.linkJays2Kings.Location = new System.Drawing.Point(95, 273);
|
||||
this.linkJays2Kings.Location = new System.Drawing.Point(17, 374);
|
||||
this.linkJays2Kings.Name = "linkJays2Kings";
|
||||
this.linkJays2Kings.Size = new System.Drawing.Size(60, 13);
|
||||
this.linkJays2Kings.TabIndex = 18;
|
||||
@ -201,7 +222,7 @@
|
||||
//
|
||||
this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(146, 251);
|
||||
this.label2.Location = new System.Drawing.Point(203, 352);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(109, 13);
|
||||
this.label2.TabIndex = 13;
|
||||
@ -209,19 +230,19 @@
|
||||
//
|
||||
// lbAbout
|
||||
//
|
||||
this.lbAbout.AutoSize = true;
|
||||
this.lbAbout.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lbAbout.Location = new System.Drawing.Point(26, 9);
|
||||
this.lbAbout.Location = new System.Drawing.Point(3, 9);
|
||||
this.lbAbout.Name = "lbAbout";
|
||||
this.lbAbout.Size = new System.Drawing.Size(243, 13);
|
||||
this.lbAbout.Size = new System.Drawing.Size(515, 19);
|
||||
this.lbAbout.TabIndex = 0;
|
||||
this.lbAbout.Text = "DS4Windows - Jays2Kings Build (Version ";
|
||||
this.lbAbout.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||
//
|
||||
// linkInhexSTER
|
||||
//
|
||||
this.linkInhexSTER.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.linkInhexSTER.AutoSize = true;
|
||||
this.linkInhexSTER.Location = new System.Drawing.Point(38, 300);
|
||||
this.linkInhexSTER.Location = new System.Drawing.Point(95, 374);
|
||||
this.linkInhexSTER.Name = "linkInhexSTER";
|
||||
this.linkInhexSTER.Size = new System.Drawing.Size(159, 13);
|
||||
this.linkInhexSTER.TabIndex = 18;
|
||||
@ -233,7 +254,7 @@
|
||||
//
|
||||
this.linkJhebbel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.linkJhebbel.AutoSize = true;
|
||||
this.linkJhebbel.Location = new System.Drawing.Point(268, 300);
|
||||
this.linkJhebbel.Location = new System.Drawing.Point(450, 374);
|
||||
this.linkJhebbel.Name = "linkJhebbel";
|
||||
this.linkJhebbel.Size = new System.Drawing.Size(41, 13);
|
||||
this.linkJhebbel.TabIndex = 18;
|
||||
@ -245,7 +266,7 @@
|
||||
//
|
||||
this.linkUninstall.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.linkUninstall.AutoSize = true;
|
||||
this.linkUninstall.Location = new System.Drawing.Point(12, 337);
|
||||
this.linkUninstall.Location = new System.Drawing.Point(35, 404);
|
||||
this.linkUninstall.Name = "linkUninstall";
|
||||
this.linkUninstall.Size = new System.Drawing.Size(106, 13);
|
||||
this.linkUninstall.TabIndex = 17;
|
||||
@ -253,36 +274,253 @@
|
||||
this.linkUninstall.Text = "Uninstall VBus Driver";
|
||||
this.linkUninstall.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkUninstall_LinkClicked);
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(193, 0);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(59, 13);
|
||||
this.label6.TabIndex = 14;
|
||||
this.label6.Text = "Left Touch";
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
this.tableLayoutPanel1.ColumnCount = 2;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
|
||||
this.tableLayoutPanel1.Controls.Add(this.label24, 0, 11);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label20, 0, 9);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label22, 1, 9);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 5);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label17, 0, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label5, 1, 5);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label6, 1, 0);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label18, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label11, 1, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label10, 0, 7);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label19, 0, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label9, 1, 7);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label12, 1, 2);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label3, 0, 8);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label13, 0, 10);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label21, 0, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label7, 1, 8);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label4, 0, 6);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label15, 0, 4);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label16, 1, 3);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label8, 1, 6);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label14, 1, 4);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label28, 1, 12);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label29, 1, 11);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label25, 0, 12);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label27, 1, 13);
|
||||
this.tableLayoutPanel1.Controls.Add(this.label26, 0, 13);
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 31);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 14;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(513, 318);
|
||||
this.tableLayoutPanel1.TabIndex = 19;
|
||||
//
|
||||
// label24
|
||||
//
|
||||
this.label24.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label24.AutoSize = true;
|
||||
this.label24.Location = new System.Drawing.Point(3, 246);
|
||||
this.label24.Name = "label24";
|
||||
this.label24.Size = new System.Drawing.Size(40, 13);
|
||||
this.label24.TabIndex = 14;
|
||||
this.label24.Text = "Toggle";
|
||||
//
|
||||
// label20
|
||||
//
|
||||
this.label20.AutoSize = true;
|
||||
this.label20.Location = new System.Drawing.Point(3, 198);
|
||||
this.label20.Name = "label20";
|
||||
this.label20.Size = new System.Drawing.Size(172, 13);
|
||||
this.label20.TabIndex = 14;
|
||||
this.label20.Text = "L1+R1+Touchpad Slide left or right";
|
||||
//
|
||||
// label22
|
||||
//
|
||||
this.label22.AutoSize = true;
|
||||
this.label22.Location = new System.Drawing.Point(193, 198);
|
||||
this.label22.Name = "label22";
|
||||
this.label22.Size = new System.Drawing.Size(108, 13);
|
||||
this.label22.TabIndex = 14;
|
||||
this.label22.Text = "Cycle through profiles";
|
||||
//
|
||||
// label17
|
||||
//
|
||||
this.label17.AutoSize = true;
|
||||
this.label17.Location = new System.Drawing.Point(3, 0);
|
||||
this.label17.Name = "label17";
|
||||
this.label17.Size = new System.Drawing.Size(129, 13);
|
||||
this.label17.TabIndex = 14;
|
||||
this.label17.Text = "Click left side of touchpad";
|
||||
//
|
||||
// label18
|
||||
//
|
||||
this.label18.AutoSize = true;
|
||||
this.label18.Location = new System.Drawing.Point(3, 22);
|
||||
this.label18.Name = "label18";
|
||||
this.label18.Size = new System.Drawing.Size(135, 13);
|
||||
this.label18.TabIndex = 14;
|
||||
this.label18.Text = "Click right side of touchpad";
|
||||
//
|
||||
// label11
|
||||
//
|
||||
this.label11.AutoSize = true;
|
||||
this.label11.Location = new System.Drawing.Point(193, 22);
|
||||
this.label11.Name = "label11";
|
||||
this.label11.Size = new System.Drawing.Size(66, 13);
|
||||
this.label11.TabIndex = 14;
|
||||
this.label11.Text = "Right Touch";
|
||||
//
|
||||
// label19
|
||||
//
|
||||
this.label19.AutoSize = true;
|
||||
this.label19.Location = new System.Drawing.Point(3, 44);
|
||||
this.label19.Name = "label19";
|
||||
this.label19.Size = new System.Drawing.Size(146, 13);
|
||||
this.label19.TabIndex = 14;
|
||||
this.label19.Text = "Click touchpad with 2 fingers ";
|
||||
//
|
||||
// label12
|
||||
//
|
||||
this.label12.AutoSize = true;
|
||||
this.label12.Location = new System.Drawing.Point(193, 44);
|
||||
this.label12.Name = "label12";
|
||||
this.label12.Size = new System.Drawing.Size(56, 13);
|
||||
this.label12.TabIndex = 14;
|
||||
this.label12.Text = "Multitouch";
|
||||
//
|
||||
// label21
|
||||
//
|
||||
this.label21.AutoSize = true;
|
||||
this.label21.Location = new System.Drawing.Point(3, 66);
|
||||
this.label21.Name = "label21";
|
||||
this.label21.Size = new System.Drawing.Size(141, 13);
|
||||
this.label21.TabIndex = 14;
|
||||
this.label21.Text = "Click upper part of touchpad";
|
||||
//
|
||||
// label16
|
||||
//
|
||||
this.label16.AutoSize = true;
|
||||
this.label16.Location = new System.Drawing.Point(193, 66);
|
||||
this.label16.Name = "label16";
|
||||
this.label16.Size = new System.Drawing.Size(70, 13);
|
||||
this.label16.TabIndex = 14;
|
||||
this.label16.Text = "Upper Touch";
|
||||
//
|
||||
// label28
|
||||
//
|
||||
this.label28.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label28.AutoSize = true;
|
||||
this.label28.Location = new System.Drawing.Point(193, 268);
|
||||
this.label28.Name = "label28";
|
||||
this.label28.Size = new System.Drawing.Size(160, 13);
|
||||
this.label28.TabIndex = 14;
|
||||
this.label28.Text = "Assign multiple keys to one input";
|
||||
//
|
||||
// label29
|
||||
//
|
||||
this.label29.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label29.AutoSize = true;
|
||||
this.label29.Location = new System.Drawing.Point(193, 246);
|
||||
this.label29.Name = "label29";
|
||||
this.label29.Size = new System.Drawing.Size(313, 13);
|
||||
this.label29.TabIndex = 14;
|
||||
this.label29.Text = "Keys are interperted differently. May be needed for certain games";
|
||||
//
|
||||
// label25
|
||||
//
|
||||
this.label25.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label25.AutoSize = true;
|
||||
this.label25.Location = new System.Drawing.Point(3, 268);
|
||||
this.label25.Name = "label25";
|
||||
this.label25.Size = new System.Drawing.Size(37, 13);
|
||||
this.label25.TabIndex = 14;
|
||||
this.label25.Text = "Macro";
|
||||
//
|
||||
// label27
|
||||
//
|
||||
this.label27.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label27.AutoSize = true;
|
||||
this.label27.Location = new System.Drawing.Point(193, 295);
|
||||
this.label27.Name = "label27";
|
||||
this.label27.Size = new System.Drawing.Size(296, 13);
|
||||
this.label27.TabIndex = 14;
|
||||
this.label27.Text = "The key will remain in a \"held down\" state until pressed again";
|
||||
//
|
||||
// label26
|
||||
//
|
||||
this.label26.Anchor = System.Windows.Forms.AnchorStyles.Left;
|
||||
this.label26.AutoSize = true;
|
||||
this.label26.Location = new System.Drawing.Point(3, 295);
|
||||
this.label26.Name = "label26";
|
||||
this.label26.Size = new System.Drawing.Size(60, 13);
|
||||
this.label26.TabIndex = 14;
|
||||
this.label26.Text = "Scan Code";
|
||||
//
|
||||
// label23
|
||||
//
|
||||
this.label23.AutoSize = true;
|
||||
this.label23.Location = new System.Drawing.Point(451, 9);
|
||||
this.label23.Name = "label23";
|
||||
this.label23.Size = new System.Drawing.Size(58, 13);
|
||||
this.label23.TabIndex = 3;
|
||||
this.label23.Text = "*If enabled";
|
||||
//
|
||||
// lLBUpdate
|
||||
//
|
||||
this.lLBUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lLBUpdate.AutoSize = true;
|
||||
this.lLBUpdate.Location = new System.Drawing.Point(-2, 9);
|
||||
this.lLBUpdate.Name = "lLBUpdate";
|
||||
this.lLBUpdate.Size = new System.Drawing.Size(96, 13);
|
||||
this.lLBUpdate.TabIndex = 48;
|
||||
this.lLBUpdate.TabStop = true;
|
||||
this.lLBUpdate.Text = "Check for Updates";
|
||||
this.lLBUpdate.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lLBUpdate_LinkClicked);
|
||||
//
|
||||
// Hotkeys
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(399, 359);
|
||||
this.ClientSize = new System.Drawing.Size(520, 426);
|
||||
this.Controls.Add(this.lLBUpdate);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Controls.Add(this.linkJhebbel);
|
||||
this.Controls.Add(this.linkInhexSTER);
|
||||
this.Controls.Add(this.linkJays2Kings);
|
||||
this.Controls.Add(this.linkElectro);
|
||||
this.Controls.Add(this.linkUninstall);
|
||||
this.Controls.Add(this.linkProfiles);
|
||||
this.Controls.Add(this.label14);
|
||||
this.Controls.Add(this.label15);
|
||||
this.Controls.Add(this.label13);
|
||||
this.Controls.Add(this.label23);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.label9);
|
||||
this.Controls.Add(this.label10);
|
||||
this.Controls.Add(this.button1);
|
||||
this.Controls.Add(this.label8);
|
||||
this.Controls.Add(this.label7);
|
||||
this.Controls.Add(this.label5);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.lbAbout);
|
||||
this.Controls.Add(this.label1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "Hotkeys";
|
||||
this.Text = "Help";
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@ -310,5 +548,24 @@
|
||||
private System.Windows.Forms.LinkLabel linkInhexSTER;
|
||||
private System.Windows.Forms.LinkLabel linkJhebbel;
|
||||
private System.Windows.Forms.LinkLabel linkUninstall;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.Label label21;
|
||||
private System.Windows.Forms.Label label16;
|
||||
private System.Windows.Forms.Label label19;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.Label label18;
|
||||
private System.Windows.Forms.Label label17;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.Label label20;
|
||||
private System.Windows.Forms.Label label22;
|
||||
private System.Windows.Forms.Label label23;
|
||||
private System.Windows.Forms.Label label24;
|
||||
private System.Windows.Forms.Label label25;
|
||||
private System.Windows.Forms.Label label26;
|
||||
private System.Windows.Forms.Label label27;
|
||||
private System.Windows.Forms.Label label28;
|
||||
private System.Windows.Forms.Label label29;
|
||||
private System.Windows.Forms.LinkLabel lLBUpdate;
|
||||
}
|
||||
}
|
@ -7,6 +7,8 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using DS4Control;
|
||||
using System.Net;
|
||||
using System.IO;
|
||||
|
||||
namespace ScpServer
|
||||
{
|
||||
@ -58,5 +60,45 @@ namespace ScpServer
|
||||
try { System.Diagnostics.Process.Start(Global.appdatapath + "\\Virtual Bus Driver\\ScpDriver.exe"); }
|
||||
catch { System.Diagnostics.Process.Start(Global.appdatapath + "\\Virtual Bus Driver"); }
|
||||
}
|
||||
|
||||
private void lLBUpdate_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
Uri url = new Uri("https://dl.dropboxusercontent.com/u/16364552/DS4Tool/newest%20version.txt"); //Sorry other devs, gonna have to find your own server
|
||||
WebClient wc = new WebClient();
|
||||
wc.DownloadFileAsync(url, Global.appdatapath + "\\version.txt");
|
||||
wc.DownloadFileCompleted += wc_DownloadFileCompleted;
|
||||
}
|
||||
|
||||
void wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
|
||||
{
|
||||
Global.setLastChecked(DateTime.Now);
|
||||
double newversion;
|
||||
try
|
||||
{
|
||||
if (double.TryParse(File.ReadAllText(Global.appdatapath + "\\version.txt"), out newversion))
|
||||
if (newversion > Global.getVersion())
|
||||
if (MessageBox.Show("Download now?", "DS4Windows Update Available!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
if (!File.Exists("Updater.exe"))
|
||||
{
|
||||
Uri url2 = new Uri("https://dl.dropboxusercontent.com/u/16364552/DS4Tool/Updater.exe");
|
||||
WebClient wc2 = new WebClient();
|
||||
wc2.DownloadFile(url2, "Updater.exe");
|
||||
}
|
||||
System.Diagnostics.Process.Start("Updater.exe");
|
||||
this.Close();
|
||||
}
|
||||
else
|
||||
File.Delete(Global.appdatapath + "\\version.txt");
|
||||
else
|
||||
{
|
||||
File.Delete(Global.appdatapath + "\\version.txt");
|
||||
MessageBox.Show("You are up to date", "DS4 Updater");
|
||||
}
|
||||
else
|
||||
File.Delete(Global.appdatapath + "\\version.txt");
|
||||
}
|
||||
catch { };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -117,10 +117,4 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="label13.Text" xml:space="preserve">
|
||||
<value>When mapping as keyboard and mouse:
|
||||
Toggle - The key will remain in a "held down" state until pressed again
|
||||
Macro - Assign multiple keys to one input
|
||||
Scan Code - keys are interperted differently. May be needed for certain games.</value>
|
||||
</data>
|
||||
</root>
|
99
DS4Tool/MessageTextBox.Designer.cs
generated
Normal file
@ -0,0 +1,99 @@
|
||||
namespace ScpServer
|
||||
{
|
||||
partial class MessageTextBox
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.tBProfile = new System.Windows.Forms.TextBox();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.button1.Location = new System.Drawing.Point(195, 5);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(75, 23);
|
||||
this.button1.TabIndex = 2;
|
||||
this.button1.Text = "Save";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// tBProfile
|
||||
//
|
||||
this.tBProfile.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.tBProfile.ForeColor = System.Drawing.SystemColors.GrayText;
|
||||
this.tBProfile.Location = new System.Drawing.Point(12, 7);
|
||||
this.tBProfile.Name = "tBProfile";
|
||||
this.tBProfile.Size = new System.Drawing.Size(177, 20);
|
||||
this.tBProfile.TabIndex = 239;
|
||||
this.tBProfile.Text = "<type new name here>";
|
||||
this.tBProfile.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
|
||||
this.tBProfile.TextChanged += new System.EventHandler(this.tBProfile_TextChanged);
|
||||
this.tBProfile.Enter += new System.EventHandler(this.tBProfile_Enter);
|
||||
this.tBProfile.Leave += new System.EventHandler(this.tBProfile_Leave);
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.button2.Location = new System.Drawing.Point(276, 5);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(75, 23);
|
||||
this.button2.TabIndex = 240;
|
||||
this.button2.Text = "Cancel";
|
||||
this.button2.UseVisualStyleBackColor = true;
|
||||
this.button2.Click += new System.EventHandler(this.button2_Click);
|
||||
//
|
||||
// MessageTextBox
|
||||
//
|
||||
this.AcceptButton = this.button1;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242)))));
|
||||
this.ClientSize = new System.Drawing.Size(359, 35);
|
||||
this.Controls.Add(this.button2);
|
||||
this.Controls.Add(this.tBProfile);
|
||||
this.Controls.Add(this.button1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||
this.MaximizeBox = false;
|
||||
this.MinimizeBox = false;
|
||||
this.Name = "MessageTextBox";
|
||||
this.ShowInTaskbar = false;
|
||||
this.Text = "Type name of New Profile";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.TextBox tBProfile;
|
||||
private System.Windows.Forms.Button button2;
|
||||
}
|
||||
}
|
62
DS4Tool/MessageTextBox.cs
Normal file
@ -0,0 +1,62 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using DS4Control;
|
||||
|
||||
namespace ScpServer
|
||||
{
|
||||
public partial class MessageTextBox : Form
|
||||
{
|
||||
public string oldfilename;
|
||||
ScpForm yes;
|
||||
public MessageTextBox(string name, ScpForm mainwindow)
|
||||
{
|
||||
InitializeComponent();
|
||||
oldfilename = name;
|
||||
yes = mainwindow;
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (tBProfile.Text != null && tBProfile.Text != "" && !tBProfile.Text.Contains("\\") && !tBProfile.Text.Contains("/") && !tBProfile.Text.Contains(":") && !tBProfile.Text.Contains("*") && !tBProfile.Text.Contains("?") && !tBProfile.Text.Contains("\"") && !tBProfile.Text.Contains("<") && !tBProfile.Text.Contains(">") && !tBProfile.Text.Contains("|"))
|
||||
{
|
||||
System.IO.File.Copy(Global.appdatapath + "\\Profiles\\" + oldfilename + ".xml", Global.appdatapath + "\\Profiles\\" + tBProfile.Text + ".xml", true);
|
||||
yes.RefreshProfiles();
|
||||
this.Close();
|
||||
}
|
||||
else
|
||||
MessageBox.Show("Please enter a valid name", "Not valid", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
}
|
||||
|
||||
private void tBProfile_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (tBProfile.Text != null && tBProfile.Text != "" && !tBProfile.Text.Contains("\\") && !tBProfile.Text.Contains("/") && !tBProfile.Text.Contains(":") && !tBProfile.Text.Contains("*") && !tBProfile.Text.Contains("?") && !tBProfile.Text.Contains("\"") && !tBProfile.Text.Contains("<") && !tBProfile.Text.Contains(">") && !tBProfile.Text.Contains("|"))
|
||||
tBProfile.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
else
|
||||
tBProfile.ForeColor = System.Drawing.SystemColors.GrayText;
|
||||
}
|
||||
|
||||
private void tBProfile_Enter(object sender, EventArgs e)
|
||||
{
|
||||
if (tBProfile.Text == "<type new name here>")
|
||||
tBProfile.Text = "";
|
||||
}
|
||||
|
||||
private void tBProfile_Leave(object sender, EventArgs e)
|
||||
{
|
||||
if (tBProfile.Text == "")
|
||||
tBProfile.Text = "<type new name here>";
|
||||
}
|
||||
|
||||
private void button2_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
120
DS4Tool/MessageTextBox.resx
Normal file
@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
79
DS4Tool/Options.Designer.cs
generated
@ -28,7 +28,6 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Options));
|
||||
this.bnTouchUpper = new System.Windows.Forms.Button();
|
||||
this.bnTouchMulti = new System.Windows.Forms.Button();
|
||||
this.bnTouchRight = new System.Windows.Forms.Button();
|
||||
@ -135,10 +134,12 @@
|
||||
this.numUDL2 = new System.Windows.Forms.NumericUpDown();
|
||||
this.gBTouchpad = new System.Windows.Forms.GroupBox();
|
||||
this.gBOther = new System.Windows.Forms.GroupBox();
|
||||
this.nUDSixaxis = new System.Windows.Forms.NumericUpDown();
|
||||
this.cBControllerInput = new System.Windows.Forms.CheckBox();
|
||||
this.gBLightbar = new System.Windows.Forms.GroupBox();
|
||||
this.gBRumble = new System.Windows.Forms.GroupBox();
|
||||
this.gBDeadzone = new System.Windows.Forms.GroupBox();
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.advColorDialog = new ScpServer.AdvancedColorDialog();
|
||||
this.MainPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pBController)).BeginInit();
|
||||
@ -175,6 +176,7 @@
|
||||
((System.ComponentModel.ISupportInitialize)(this.numUDL2)).BeginInit();
|
||||
this.gBTouchpad.SuspendLayout();
|
||||
this.gBOther.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nUDSixaxis)).BeginInit();
|
||||
this.gBLightbar.SuspendLayout();
|
||||
this.gBRumble.SuspendLayout();
|
||||
this.gBDeadzone.SuspendLayout();
|
||||
@ -297,7 +299,7 @@
|
||||
// pBController
|
||||
//
|
||||
this.pBController.Enabled = false;
|
||||
this.pBController.Image = ((System.Drawing.Image)(resources.GetObject("pBController.Image")));
|
||||
this.pBController.Image = global::ScpServer.Properties.Resources.DS4_Controller;
|
||||
this.pBController.Location = new System.Drawing.Point(0, 0);
|
||||
this.pBController.Name = "pBController";
|
||||
this.pBController.Size = new System.Drawing.Size(245, 132);
|
||||
@ -1300,7 +1302,7 @@
|
||||
// tBsixaxisAccelZ
|
||||
//
|
||||
this.tBsixaxisAccelZ.AutoSize = false;
|
||||
this.tBsixaxisAccelZ.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||
this.tBsixaxisAccelZ.BackColor = System.Drawing.Color.White;
|
||||
this.tBsixaxisAccelZ.Enabled = false;
|
||||
this.tBsixaxisAccelZ.Location = new System.Drawing.Point(394, 6);
|
||||
this.tBsixaxisAccelZ.Maximum = 32767;
|
||||
@ -1315,19 +1317,19 @@
|
||||
this.flushHIDQueue.AccessibleName = "flushHIDQueue";
|
||||
this.flushHIDQueue.AutoSize = true;
|
||||
this.flushHIDQueue.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
|
||||
this.flushHIDQueue.Location = new System.Drawing.Point(214, 15);
|
||||
this.flushHIDQueue.Location = new System.Drawing.Point(302, 39);
|
||||
this.flushHIDQueue.Name = "flushHIDQueue";
|
||||
this.flushHIDQueue.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
|
||||
this.flushHIDQueue.Size = new System.Drawing.Size(195, 17);
|
||||
this.flushHIDQueue.Size = new System.Drawing.Size(112, 30);
|
||||
this.flushHIDQueue.TabIndex = 198;
|
||||
this.flushHIDQueue.Text = "Flush HID queue after each reading";
|
||||
this.flushHIDQueue.Text = "Flush HID queue \r\nafter each reading";
|
||||
this.flushHIDQueue.UseVisualStyleBackColor = true;
|
||||
this.flushHIDQueue.CheckedChanged += new System.EventHandler(this.flushHIDQueue_CheckedChanged);
|
||||
//
|
||||
// tBsixaxisAccelY
|
||||
//
|
||||
this.tBsixaxisAccelY.AutoSize = false;
|
||||
this.tBsixaxisAccelY.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||
this.tBsixaxisAccelY.BackColor = System.Drawing.Color.White;
|
||||
this.tBsixaxisAccelY.Enabled = false;
|
||||
this.tBsixaxisAccelY.Location = new System.Drawing.Point(347, 6);
|
||||
this.tBsixaxisAccelY.Maximum = 32767;
|
||||
@ -1349,7 +1351,7 @@
|
||||
// tBsixaxisAccelX
|
||||
//
|
||||
this.tBsixaxisAccelX.AutoSize = false;
|
||||
this.tBsixaxisAccelX.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||
this.tBsixaxisAccelX.BackColor = System.Drawing.Color.White;
|
||||
this.tBsixaxisAccelX.Enabled = false;
|
||||
this.tBsixaxisAccelX.Location = new System.Drawing.Point(301, 6);
|
||||
this.tBsixaxisAccelX.Maximum = 32767;
|
||||
@ -1371,7 +1373,7 @@
|
||||
// tBsixaxisGyroZ
|
||||
//
|
||||
this.tBsixaxisGyroZ.AutoSize = false;
|
||||
this.tBsixaxisGyroZ.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||
this.tBsixaxisGyroZ.BackColor = System.Drawing.Color.White;
|
||||
this.tBsixaxisGyroZ.Enabled = false;
|
||||
this.tBsixaxisGyroZ.Location = new System.Drawing.Point(163, 6);
|
||||
this.tBsixaxisGyroZ.Maximum = 32767;
|
||||
@ -1393,7 +1395,7 @@
|
||||
// tBsixaxisGyroY
|
||||
//
|
||||
this.tBsixaxisGyroY.AutoSize = false;
|
||||
this.tBsixaxisGyroY.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||
this.tBsixaxisGyroY.BackColor = System.Drawing.Color.White;
|
||||
this.tBsixaxisGyroY.Enabled = false;
|
||||
this.tBsixaxisGyroY.Location = new System.Drawing.Point(116, 6);
|
||||
this.tBsixaxisGyroY.Maximum = 32767;
|
||||
@ -1406,7 +1408,7 @@
|
||||
// tBsixaxisGyroX
|
||||
//
|
||||
this.tBsixaxisGyroX.AutoSize = false;
|
||||
this.tBsixaxisGyroX.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||
this.tBsixaxisGyroX.BackColor = System.Drawing.Color.White;
|
||||
this.tBsixaxisGyroX.Enabled = false;
|
||||
this.tBsixaxisGyroX.Location = new System.Drawing.Point(69, 6);
|
||||
this.tBsixaxisGyroX.Maximum = 32767;
|
||||
@ -1482,9 +1484,9 @@
|
||||
//
|
||||
// btnRumbleTest
|
||||
//
|
||||
this.btnRumbleTest.Location = new System.Drawing.Point(149, 11);
|
||||
this.btnRumbleTest.Location = new System.Drawing.Point(161, 11);
|
||||
this.btnRumbleTest.Name = "btnRumbleTest";
|
||||
this.btnRumbleTest.Size = new System.Drawing.Size(53, 23);
|
||||
this.btnRumbleTest.Size = new System.Drawing.Size(41, 23);
|
||||
this.btnRumbleTest.TabIndex = 214;
|
||||
this.btnRumbleTest.Text = "Test";
|
||||
this.btnRumbleTest.UseVisualStyleBackColor = true;
|
||||
@ -1643,7 +1645,7 @@
|
||||
this.tBProfile.ForeColor = System.Drawing.SystemColors.GrayText;
|
||||
this.tBProfile.Location = new System.Drawing.Point(77, 9);
|
||||
this.tBProfile.Name = "tBProfile";
|
||||
this.tBProfile.Size = new System.Drawing.Size(269, 20);
|
||||
this.tBProfile.Size = new System.Drawing.Size(185, 20);
|
||||
this.tBProfile.TabIndex = 238;
|
||||
this.tBProfile.Text = "<type profile name here>";
|
||||
this.tBProfile.TextChanged += new System.EventHandler(this.tBProfile_TextChanged);
|
||||
@ -1652,7 +1654,7 @@
|
||||
//
|
||||
// btnSaveProfile
|
||||
//
|
||||
this.btnSaveProfile.Location = new System.Drawing.Point(352, 7);
|
||||
this.btnSaveProfile.Location = new System.Drawing.Point(268, 7);
|
||||
this.btnSaveProfile.Name = "btnSaveProfile";
|
||||
this.btnSaveProfile.Size = new System.Drawing.Size(78, 23);
|
||||
this.btnSaveProfile.TabIndex = 237;
|
||||
@ -1789,6 +1791,7 @@
|
||||
//
|
||||
// gBOther
|
||||
//
|
||||
this.gBOther.Controls.Add(this.nUDSixaxis);
|
||||
this.gBOther.Controls.Add(this.cBControllerInput);
|
||||
this.gBOther.Controls.Add(this.idleDisconnectTimeout);
|
||||
this.gBOther.Controls.Add(this.lBButtonMouseSens);
|
||||
@ -1803,17 +1806,39 @@
|
||||
this.gBOther.TabStop = false;
|
||||
this.gBOther.Text = "Other";
|
||||
//
|
||||
// nUDSixaxis
|
||||
//
|
||||
this.nUDSixaxis.Location = new System.Drawing.Point(386, 16);
|
||||
this.nUDSixaxis.Maximum = new decimal(new int[] {
|
||||
4,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nUDSixaxis.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.nUDSixaxis.Name = "nUDSixaxis";
|
||||
this.nUDSixaxis.Size = new System.Drawing.Size(29, 20);
|
||||
this.nUDSixaxis.TabIndex = 250;
|
||||
this.nUDSixaxis.Value = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
//
|
||||
// cBControllerInput
|
||||
//
|
||||
this.cBControllerInput.AutoSize = true;
|
||||
this.cBControllerInput.Checked = true;
|
||||
this.cBControllerInput.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.cBControllerInput.Location = new System.Drawing.Point(303, 38);
|
||||
this.cBControllerInput.Location = new System.Drawing.Point(187, 17);
|
||||
this.cBControllerInput.Name = "cBControllerInput";
|
||||
this.cBControllerInput.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
|
||||
this.cBControllerInput.Size = new System.Drawing.Size(106, 30);
|
||||
this.cBControllerInput.Size = new System.Drawing.Size(194, 17);
|
||||
this.cBControllerInput.TabIndex = 242;
|
||||
this.cBControllerInput.Text = "Use controller to \r\nchange mapping";
|
||||
this.cBControllerInput.Text = "Use a controller to change mapping";
|
||||
this.cBControllerInput.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// gBLightbar
|
||||
@ -1865,6 +1890,16 @@
|
||||
this.gBDeadzone.TabStop = false;
|
||||
this.gBDeadzone.Text = "Deadzone";
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.Location = new System.Drawing.Point(352, 7);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnCancel.TabIndex = 249;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
|
||||
//
|
||||
// advColorDialog
|
||||
//
|
||||
this.advColorDialog.AnyColor = true;
|
||||
@ -1875,8 +1910,9 @@
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||
this.ClientSize = new System.Drawing.Size(885, 297);
|
||||
this.BackColor = System.Drawing.Color.White;
|
||||
this.ClientSize = new System.Drawing.Size(889, 297);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.gBDeadzone);
|
||||
this.Controls.Add(this.gBRumble);
|
||||
this.Controls.Add(this.gBLightbar);
|
||||
@ -1941,6 +1977,7 @@
|
||||
this.gBTouchpad.PerformLayout();
|
||||
this.gBOther.ResumeLayout(false);
|
||||
this.gBOther.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.nUDSixaxis)).EndInit();
|
||||
this.gBLightbar.ResumeLayout(false);
|
||||
this.gBLightbar.PerformLayout();
|
||||
this.gBRumble.ResumeLayout(false);
|
||||
@ -2067,6 +2104,8 @@
|
||||
private System.Windows.Forms.GroupBox gBRumble;
|
||||
private System.Windows.Forms.GroupBox gBDeadzone;
|
||||
private System.Windows.Forms.CheckBox cBControllerInput;
|
||||
private System.Windows.Forms.Button btnCancel;
|
||||
private System.Windows.Forms.NumericUpDown nUDSixaxis;
|
||||
}
|
||||
}
|
||||
|
@ -11,7 +11,7 @@ namespace ScpServer
|
||||
public partial class Options : Form
|
||||
{
|
||||
private DS4Control.Control scpDevice;
|
||||
private int device;
|
||||
public int device;
|
||||
private string filename;
|
||||
Byte[] oldLedColor, oldLowLedColor;
|
||||
Timer inputtimer = new Timer(), sixaxisTimer = new Timer();
|
||||
@ -21,16 +21,22 @@ namespace ScpServer
|
||||
private Color reg, full;
|
||||
private Image colored, greyscale;
|
||||
ToolTip tp = new ToolTip();
|
||||
public Options(DS4Control.Control bus_device, int deviceNum, string name)
|
||||
ScpForm root;
|
||||
public Options(DS4Control.Control bus_device, int deviceNum, string name, ScpForm rt)
|
||||
{
|
||||
InitializeComponent();
|
||||
device = deviceNum;
|
||||
scpDevice = bus_device;
|
||||
filename = name;
|
||||
colored = pBRainbow.Image;
|
||||
root = rt;
|
||||
greyscale = GreyscaleImage((Bitmap)pBRainbow.Image);
|
||||
if (deviceNum < 4)
|
||||
nUDSixaxis.Value = deviceNum + 1;
|
||||
if (filename != "")
|
||||
{
|
||||
Global.setAProfile(4, name);
|
||||
Global.LoadProfile(deviceNum);
|
||||
tBProfile.Text = filename;
|
||||
DS4Color color = Global.loadColor(device);
|
||||
redBar.Value = color.red;
|
||||
@ -92,19 +98,8 @@ namespace ScpServer
|
||||
sixaxisTimer.Start();
|
||||
#region watch sixaxis data
|
||||
|
||||
sixaxisTimer.Tick +=
|
||||
(delegate
|
||||
{
|
||||
// MEMS gyro data is all calibrated to roughly -1G..1G for values -0x2000..0x1fff
|
||||
// Enough additional acceleration and we are no longer mostly measuring Earth's gravity...
|
||||
// We should try to indicate setpoints of the calibration when exposing this measurement....
|
||||
SetDynamicTrackBarValue(tBsixaxisGyroX, (scpDevice.ExposedState[device].GyroX + tBsixaxisGyroX.Value * 2) / 3);
|
||||
SetDynamicTrackBarValue(tBsixaxisGyroY, (scpDevice.ExposedState[device].GyroY + tBsixaxisGyroY.Value * 2) / 3);
|
||||
SetDynamicTrackBarValue(tBsixaxisGyroZ, (scpDevice.ExposedState[device].GyroZ + tBsixaxisGyroZ.Value * 2) / 3);
|
||||
SetDynamicTrackBarValue(tBsixaxisAccelX, (scpDevice.ExposedState[device].AccelX + tBsixaxisAccelX.Value * 2) / 3);
|
||||
SetDynamicTrackBarValue(tBsixaxisAccelY, (scpDevice.ExposedState[device].AccelY + tBsixaxisAccelY.Value * 2) / 3);
|
||||
SetDynamicTrackBarValue(tBsixaxisAccelZ, (scpDevice.ExposedState[device].AccelZ + tBsixaxisAccelZ.Value * 2) / 3);
|
||||
});
|
||||
sixaxisTimer.Tick += sixaxisTimer_Tick;
|
||||
|
||||
sixaxisTimer.Interval = 1000 / 60;
|
||||
#endregion
|
||||
foreach (System.Windows.Forms.Control control in this.MainPanel.Controls)
|
||||
@ -131,11 +126,24 @@ namespace ScpServer
|
||||
inputtimer.Start();
|
||||
inputtimer.Tick += InputDS4;
|
||||
}
|
||||
|
||||
void sixaxisTimer_Tick(object sender, EventArgs e)
|
||||
{
|
||||
// MEMS gyro data is all calibrated to roughly -1G..1G for values -0x2000..0x1fff
|
||||
// Enough additional acceleration and we are no longer mostly measuring Earth's gravity...
|
||||
// We should try to indicate setpoints of the calibration when exposing this measurement....
|
||||
SetDynamicTrackBarValue(tBsixaxisGyroX, (scpDevice.ExposedState[(int)nUDSixaxis.Value -1].GyroX + tBsixaxisGyroX.Value * 2) / 3);
|
||||
SetDynamicTrackBarValue(tBsixaxisGyroY, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].GyroY + tBsixaxisGyroY.Value * 2) / 3);
|
||||
SetDynamicTrackBarValue(tBsixaxisGyroZ, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].GyroZ + tBsixaxisGyroZ.Value * 2) / 3);
|
||||
SetDynamicTrackBarValue(tBsixaxisAccelX, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].AccelX + tBsixaxisAccelX.Value * 2) / 3);
|
||||
SetDynamicTrackBarValue(tBsixaxisAccelY, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].AccelY + tBsixaxisAccelY.Value * 2) / 3);
|
||||
SetDynamicTrackBarValue(tBsixaxisAccelZ, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].AccelZ + tBsixaxisAccelZ.Value * 2) / 3);
|
||||
}
|
||||
private void InputDS4(object sender, EventArgs e)
|
||||
{
|
||||
#region DS4Input
|
||||
if (Form.ActiveForm == this && cBControllerInput.Checked)
|
||||
switch (scpDevice.GetInputkeys(device))
|
||||
if (Form.ActiveForm == root && cBControllerInput.Checked)
|
||||
switch (scpDevice.GetInputkeys((int)nUDSixaxis.Value - 1))
|
||||
{
|
||||
case ("Cross"): Show_ControlsBn(bnCross, e); break;
|
||||
case ("Circle"): Show_ControlsBn(bnCircle, e); break;
|
||||
@ -358,8 +366,8 @@ namespace ScpServer
|
||||
private void redBar_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
int value = ((TrackBar)sender).Value;
|
||||
int sat = 244 - (value < 244 ? value : 244);
|
||||
int som = 244 + 11 * (int)(value * 0.0039215);
|
||||
int sat = 255 - (value < 255 ? value : 255);
|
||||
int som = 255 + 11 * (int)(value * 0.0039215);
|
||||
((TrackBar)sender).BackColor = Color.FromArgb(som, sat, sat);
|
||||
alphacolor = Math.Max(redBar.Value, Math.Max(greenBar.Value, blueBar.Value));
|
||||
reg = Color.FromArgb(redBar.Value, greenBar.Value, blueBar.Value);
|
||||
@ -371,8 +379,8 @@ namespace ScpServer
|
||||
private void greenBar_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
int value = ((TrackBar)sender).Value;
|
||||
int sat = 244 - (value < 244 ? value : 244);
|
||||
int som = 244 + 11 * (int)(value * 0.0039215);
|
||||
int sat = 255 - (value < 255 ? value : 255);
|
||||
int som = 255 + 11 * (int)(value * 0.0039215);
|
||||
((TrackBar)sender).BackColor = Color.FromArgb(sat, som, sat);
|
||||
alphacolor = Math.Max(redBar.Value, Math.Max(greenBar.Value, blueBar.Value));
|
||||
reg = Color.FromArgb(redBar.Value, greenBar.Value, blueBar.Value);
|
||||
@ -384,8 +392,8 @@ namespace ScpServer
|
||||
private void blueBar_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
int value = ((TrackBar)sender).Value;
|
||||
int sat = 244 - (value < 244 ? value : 244);
|
||||
int som = 244 + 11 * (int)(value * 0.0039215);
|
||||
int sat = 255 - (value < 255 ? value : 255);
|
||||
int som = 255 + 11 * (int)(value * 0.0039215);
|
||||
((TrackBar)sender).BackColor = Color.FromArgb(sat, sat, som);
|
||||
alphacolor = Math.Max(redBar.Value, Math.Max(greenBar.Value, blueBar.Value));
|
||||
reg = Color.FromArgb(redBar.Value, greenBar.Value, blueBar.Value);
|
||||
@ -398,8 +406,8 @@ namespace ScpServer
|
||||
private void lowRedBar_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
int value = ((TrackBar)sender).Value;
|
||||
int sat = 244 - (value < 244 ? value : 244);
|
||||
int som = 244 + 11 * (int)(value * 0.0039215);
|
||||
int sat = 255 - (value < 255 ? value : 255);
|
||||
int som = 255 + 11 * (int)(value * 0.0039215);
|
||||
((TrackBar)sender).BackColor = Color.FromArgb(som, sat, sat);
|
||||
alphacolor = Math.Max(lowRedBar.Value, Math.Max(lowGreenBar.Value, lowBlueBar.Value));
|
||||
reg = Color.FromArgb(lowRedBar.Value, lowGreenBar.Value, lowBlueBar.Value);
|
||||
@ -412,8 +420,8 @@ namespace ScpServer
|
||||
private void lowGreenBar_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
int value = ((TrackBar)sender).Value;
|
||||
int sat = 244 - (value < 244 ? value : 244);
|
||||
int som = 244 + 11 * (int)(value * 0.0039215);
|
||||
int sat = 255 - (value < 255 ? value : 255);
|
||||
int som = 255 + 11 * (int)(value * 0.0039215);
|
||||
((TrackBar)sender).BackColor = Color.FromArgb(sat, som, sat);
|
||||
alphacolor = Math.Max(lowRedBar.Value, Math.Max(lowGreenBar.Value, lowBlueBar.Value));
|
||||
reg = Color.FromArgb(lowRedBar.Value, lowGreenBar.Value, lowBlueBar.Value);
|
||||
@ -426,8 +434,8 @@ namespace ScpServer
|
||||
private void lowBlueBar_ValueChanged(object sender, EventArgs e)
|
||||
{
|
||||
int value = ((TrackBar)sender).Value;
|
||||
int sat = 244 - (value < 244 ? value : 244);
|
||||
int som = 244 + 11 * (int)(value * 0.0039215);
|
||||
int sat = 255 - (value < 255 ? value : 255);
|
||||
int som = 255 + 11 * (int)(value * 0.0039215);
|
||||
((TrackBar)sender).BackColor = Color.FromArgb(sat, sat, som);
|
||||
alphacolor = Math.Max(lowRedBar.Value, Math.Max(lowGreenBar.Value, lowBlueBar.Value));
|
||||
reg = Color.FromArgb(lowRedBar.Value, lowGreenBar.Value, lowBlueBar.Value);
|
||||
@ -476,12 +484,12 @@ namespace ScpServer
|
||||
{
|
||||
if (((Button)sender).Text == "Test")
|
||||
{
|
||||
scpDevice.setRumble((byte)numUDHeavyRumble.Value, (byte)numUDLightRumble.Value, device);
|
||||
scpDevice.setRumble((byte)numUDHeavyRumble.Value, (byte)numUDLightRumble.Value, (int)nUDSixaxis.Value - 1);
|
||||
((Button)sender).Text = "Stop";
|
||||
}
|
||||
else
|
||||
{
|
||||
scpDevice.setRumble(0, 0, device);
|
||||
scpDevice.setRumble(0, 0, (int)nUDSixaxis.Value - 1);
|
||||
((Button)sender).Text = "Test";
|
||||
}
|
||||
}
|
||||
@ -538,6 +546,8 @@ namespace ScpServer
|
||||
sixaxisTimer.Stop();
|
||||
for (int i = 0; i < 4; i++)
|
||||
Global.LoadProfile(i); //Refreshes all profiles in case other controllers are using the same profile
|
||||
inputtimer.Stop();
|
||||
sixaxisTimer.Stop();
|
||||
}
|
||||
|
||||
private void tBProfile_TextChanged(object sender, EventArgs e)
|
||||
@ -838,5 +848,10 @@ namespace ScpServer
|
||||
{
|
||||
tp.Hide(((TrackBar)sender));
|
||||
}
|
||||
|
||||
private void btnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -117,464 +117,6 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="pBController.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="advColorDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
|
@ -154,4 +154,25 @@
|
||||
<data name="Pairmode" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Pairmode.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="copy" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\shell32_copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="edit" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\shell32_new.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="newprofile" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\imageres_new.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="BT" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\BT.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="none" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\none.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="USB" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\USB.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
70
DS4Tool/Properties/Resources1.Designer.cs
generated
@ -70,6 +70,36 @@ namespace ScpServer.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap BT {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("BT", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap copy {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("copy", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap delete {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("delete", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
|
||||
/// </summary>
|
||||
@ -90,6 +120,16 @@ namespace ScpServer.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap edit {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("edit", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@ -120,6 +160,26 @@ namespace ScpServer.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap newprofile {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("newprofile", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap none {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("none", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
@ -179,5 +239,15 @@ namespace ScpServer.Properties {
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap USB {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("USB", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
0
DS4Tool/Resource.es.Designer.cs
generated
Normal file
BIN
DS4Tool/Resources/1401402547_menu-24.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
DS4Tool/Resources/BT.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
BIN
DS4Tool/Resources/USB.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
BIN
DS4Tool/Resources/delete.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
DS4Tool/Resources/imageres_new.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
DS4Tool/Resources/none.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
DS4Tool/Resources/shell32 delete.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
DS4Tool/Resources/shell32_copy.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
DS4Tool/Resources/shell32_new.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
1012
DS4Tool/ScpForm.Designer.cs
generated
@ -2,57 +2,118 @@
|
||||
using System.Windows.Forms;
|
||||
using System.Runtime.InteropServices;
|
||||
using DS4Control;
|
||||
using DS4Library;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Collections.Generic;
|
||||
using System.Net;
|
||||
using System.Management;
|
||||
using System.Drawing;
|
||||
using Microsoft.Win32;
|
||||
using System.Diagnostics;
|
||||
namespace ScpServer
|
||||
{
|
||||
public partial class ScpForm : Form
|
||||
{
|
||||
double version = 8.2;
|
||||
double version = 9;
|
||||
private DS4Control.Control rootHub;
|
||||
delegate void LogDebugDelegate(DateTime Time, String Data);
|
||||
|
||||
protected Label[] Pads;
|
||||
protected Label[] Pads, Batteries;
|
||||
protected ComboBox[] cbs;
|
||||
protected Button[] ebns;
|
||||
protected Button[] dbns;
|
||||
protected Label[] protexts;
|
||||
protected PictureBox[] statPB;
|
||||
protected ToolStripMenuItem[] shortcuts;
|
||||
WebClient wc = new WebClient();
|
||||
Timer test = new Timer(), processcheck = new Timer();
|
||||
#region Aero
|
||||
/*[StructLayout(LayoutKind.Sequential)]
|
||||
public struct MARGINS
|
||||
{
|
||||
public int Left;
|
||||
public int Right;
|
||||
public int Top;
|
||||
public int Bottom;
|
||||
}
|
||||
|
||||
[DllImport("dwmapi.dll")]
|
||||
public static extern int DwmExtendFrameIntoClientArea(IntPtr hWnd, ref MARGINS pMargins);
|
||||
/// <summary>
|
||||
/// Determins whether the Desktop Windows Manager is enabled
|
||||
/// and can therefore display Aero
|
||||
/// </summary>
|
||||
[DllImport("dwmapi.dll", PreserveSig = false)]
|
||||
public static extern bool DwmIsCompositionEnabled();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Override the OnPaintBackground method, to draw the desired
|
||||
/// Glass regions black and display as Glass
|
||||
/// </summary>
|
||||
protected override void OnPaintBackground(PaintEventArgs e)
|
||||
{
|
||||
base.OnPaint(e);
|
||||
if (DwmIsCompositionEnabled())
|
||||
{
|
||||
e.Graphics.Clear(Color.Black);
|
||||
// put back the original form background for non-glass area
|
||||
Rectangle clientArea = new Rectangle(
|
||||
marg.Left,
|
||||
marg.Top,
|
||||
this.ClientRectangle.Width - marg.Left - marg.Right,
|
||||
this.ClientRectangle.Height - marg.Top - marg.Bottom);
|
||||
Brush b = new SolidBrush(this.BackColor);
|
||||
e.Graphics.FillRectangle(b, clientArea);
|
||||
}
|
||||
}
|
||||
|
||||
MARGINS marg = new MARGINS() { Left = 0, Right = 0, Top = 0, Bottom = 0 };
|
||||
/// <summary>
|
||||
/// Use the form padding values to define a Glass margin
|
||||
/// </summary>
|
||||
private void trackBar1_Scroll(object sender, EventArgs e)
|
||||
{
|
||||
this.Padding = new Padding(this.trackBar1.Value);
|
||||
int value = (int)trackBar1.Value;
|
||||
marg = new MARGINS() { Left = value, Right = value, Top = value, Bottom = value };
|
||||
DwmExtendFrameIntoClientArea(this.Handle, ref marg);
|
||||
//SetGlassRegion();
|
||||
//Invalidate();
|
||||
}*/
|
||||
#endregion
|
||||
|
||||
protected void SetupArrays()
|
||||
{
|
||||
Pads = new Label[4] { lbPad1, lbPad2, lbPad3, lbPad4 };
|
||||
Batteries = new Label[4] { lBBatt1, lBBatt2, lBBatt3, lBBatt4 };
|
||||
cbs = new ComboBox[4] { cBController1, cBController2, cBController3, cBController4 };
|
||||
ebns = new Button[4] { bnEditC1, bnEditC2, bnEditC3, bnEditC4 };
|
||||
statPB = new PictureBox[4] { pBStatus1, pBStatus2, pBStatus3, pBStatus4 };
|
||||
|
||||
shortcuts = new ToolStripMenuItem[4] { (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[0],
|
||||
(ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[1],
|
||||
(ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[2],
|
||||
(ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[3] };
|
||||
}
|
||||
public ScpForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
ThemeUtil.SetTheme(lvDebug);
|
||||
|
||||
Pads = new Label[4] { lbPad1, lbPad2, lbPad3, lbPad4 };
|
||||
cbs = new ComboBox[4] { cBController1, cBController2, cBController3, cBController4 };
|
||||
ebns = new Button[4] { bnEditC1, bnEditC2, bnEditC3, bnEditC4 };
|
||||
dbns = new Button[4] { bnDeleteC1, bnDeleteC2, bnDeleteC3, bnDeleteC4 };
|
||||
protexts = new Label[4] { lbSelPro1, lbSelPro2, lbSelPro3, lbSelPro4 };
|
||||
|
||||
shortcuts = new ToolStripMenuItem[4] { (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[0],
|
||||
(ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[1],
|
||||
(ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[2],
|
||||
(ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[3] };
|
||||
SetupArrays();
|
||||
foreach (ToolStripMenuItem t in shortcuts)
|
||||
t.DropDownItemClicked += Profile_Changed_Menu;
|
||||
CheckDrivers();
|
||||
Timer test = new Timer(), processcheck = new Timer();
|
||||
//test.Start();
|
||||
processcheck.Start();
|
||||
//processcheck.Start();
|
||||
processcheck.Tick += processcheck_Tick;
|
||||
test.Tick += test_Tick;
|
||||
test.Tick += test_Tick;
|
||||
}
|
||||
|
||||
void processcheck_Tick(object sender, EventArgs e)
|
||||
{
|
||||
Process pc = new Process();
|
||||
//Process[] processes = Process.GetProcessesByName("");
|
||||
}
|
||||
|
||||
private void test_Tick(object sender, EventArgs e)
|
||||
@ -88,15 +149,18 @@ namespace ScpServer
|
||||
wd.ShowDialog();
|
||||
}
|
||||
}
|
||||
|
||||
private void Check_Version(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
|
||||
|
||||
private void linkLabel1_LinkClicked_1(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
Uri url = new Uri("https://dl.dropboxusercontent.com/u/16364552/DS4Tool/newest%20version.txt"); //Sorry other devs, gonna have to find your own server
|
||||
wc.DownloadFile(url, Global.appdatapath + "\\version.txt");
|
||||
Global.setLastChecked(DateTime.Now);
|
||||
double newversion;
|
||||
try
|
||||
{
|
||||
if (double.TryParse(File.ReadAllText(Global.appdatapath + "\\version.txt"), out newversion))
|
||||
if (newversion > version)
|
||||
if (MessageBox.Show("Download now?", "New Version Available!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
|
||||
if (MessageBox.Show("Download now?", "DS4Windows Update Available!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
if (!File.Exists("Updater.exe"))
|
||||
{
|
||||
@ -110,7 +174,38 @@ namespace ScpServer
|
||||
else
|
||||
File.Delete(Global.appdatapath + "\\version.txt");
|
||||
else
|
||||
File.Delete(Global.appdatapath + "\\version.txt");
|
||||
{
|
||||
File.Delete(Global.appdatapath + "\\version.txt");
|
||||
MessageBox.Show("No new version", "You're up to date");
|
||||
}
|
||||
else
|
||||
File.Delete(Global.appdatapath + "\\version.txt");
|
||||
}
|
||||
catch { };
|
||||
}
|
||||
|
||||
private void Check_Version(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
|
||||
{
|
||||
double newversion;
|
||||
try
|
||||
{
|
||||
if (double.TryParse(File.ReadAllText(Global.appdatapath + "\\version.txt"), out newversion))
|
||||
if (newversion > version)
|
||||
if (MessageBox.Show("Download now?", "DS4Windows Update Available!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
if (!File.Exists("Updater.exe"))
|
||||
{
|
||||
Uri url2 = new Uri("https://dl.dropboxusercontent.com/u/16364552/DS4Tool/Updater.exe");
|
||||
WebClient wc2 = new WebClient();
|
||||
wc2.DownloadFile(url2, "Updater.exe");
|
||||
}
|
||||
System.Diagnostics.Process.Start("Updater.exe");
|
||||
this.Close();
|
||||
}
|
||||
else
|
||||
File.Delete(Global.appdatapath + "\\version.txt");
|
||||
else
|
||||
File.Delete(Global.appdatapath + "\\version.txt");
|
||||
else
|
||||
File.Delete(Global.appdatapath + "\\version.txt");
|
||||
}
|
||||
@ -143,16 +238,7 @@ namespace ScpServer
|
||||
RegistryKey KeyLoc = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", false);
|
||||
StartWindowsCheckBox.Checked = (KeyLoc.GetValue("DS4Tool") != null);
|
||||
|
||||
Pads = new Label[4] { lbPad1, lbPad2, lbPad3, lbPad4 };
|
||||
cbs = new ComboBox[4] { cBController1, cBController2, cBController3, cBController4 };
|
||||
ebns = new Button[4] { bnEditC1, bnEditC2, bnEditC3, bnEditC4 };
|
||||
dbns = new Button[4] { bnDeleteC1, bnDeleteC2, bnDeleteC3, bnDeleteC4 };
|
||||
protexts = new Label[4] { lbSelPro1, lbSelPro2, lbSelPro3, lbSelPro4 };
|
||||
|
||||
shortcuts = new ToolStripMenuItem[4] { (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[0],
|
||||
(ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[1],
|
||||
(ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[2],
|
||||
(ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[3] };
|
||||
SetupArrays();
|
||||
if (startMinimizedCheckBox.Checked)
|
||||
{
|
||||
this.WindowState = FormWindowState.Minimized;
|
||||
@ -173,6 +259,13 @@ namespace ScpServer
|
||||
wc.DownloadFileCompleted += Check_Version;
|
||||
Global.setLastChecked(DateTime.Now);
|
||||
}
|
||||
WinProgs WP = new WinProgs(profilenames.ToArray());
|
||||
WP.TopLevel = false;
|
||||
WP.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||
WP.Visible = true;
|
||||
WP.Dock = DockStyle.Fill;
|
||||
WP.Enabled = false;
|
||||
tabAutoProfiles.Controls.Add(WP);
|
||||
}
|
||||
List<string> profilenames = new List<string>();
|
||||
public void RefreshProfiles()
|
||||
@ -184,6 +277,8 @@ namespace ScpServer
|
||||
foreach (String s in profiles)
|
||||
if (s.EndsWith(".xml"))
|
||||
profilenames.Add(Path.GetFileNameWithoutExtension(s));
|
||||
lBProfiles.Items.Clear();
|
||||
lBProfiles.Items.AddRange(profilenames.ToArray());
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
cbs[i].Items.Clear();
|
||||
@ -261,6 +356,16 @@ namespace ScpServer
|
||||
}
|
||||
}
|
||||
|
||||
protected void ShowNotification(object sender, string text)
|
||||
{
|
||||
if (Form.ActiveForm != this)
|
||||
{
|
||||
this.notifyIcon1.BalloonTipText = text;
|
||||
notifyIcon1.BalloonTipTitle = "DS4Windows";
|
||||
notifyIcon1.ShowBalloonTip(1);
|
||||
}
|
||||
}
|
||||
|
||||
protected void Form_Resize(object sender, EventArgs e)
|
||||
{
|
||||
if (FormWindowState.Minimized == this.WindowState)
|
||||
@ -278,11 +383,8 @@ namespace ScpServer
|
||||
//Added last message alternative
|
||||
|
||||
if (this.Height > 220)
|
||||
lbLastMessage.Visible = false;
|
||||
lbLastMessage.Visible = tabMain.SelectedIndex != 2;
|
||||
else lbLastMessage.Visible = true;
|
||||
if (protexts != null)
|
||||
for (int i = 0; i < 4; i++)
|
||||
protexts[i].Visible = (this.Width > 665);
|
||||
}
|
||||
|
||||
protected void btnStartStop_Click(object sender, EventArgs e)
|
||||
@ -341,10 +443,17 @@ namespace ScpServer
|
||||
{
|
||||
// If controllers are detected, but not checked, automatically check #1
|
||||
//bool checkFirst = true;
|
||||
String tooltip = "DS4Windows";
|
||||
String tooltip = "DS4Windows v" + version;
|
||||
for (Int32 Index = 0; Index < Pads.Length; Index++)
|
||||
{
|
||||
Pads[Index].Text = rootHub.getDS4ControllerInfo(Index);
|
||||
Pads[Index].Text = rootHub.getDS4MacAddress(Index);
|
||||
switch (rootHub.getDS4Status(Index))
|
||||
{
|
||||
case "USB": statPB[Index].Image = Properties.Resources.USB; break;
|
||||
case "BT": statPB[Index].Image = Properties.Resources.BT; break;
|
||||
default: statPB[Index].Image = Properties.Resources.none; break;
|
||||
}
|
||||
Batteries[Index].Text = rootHub.getDS4Battery(Index);
|
||||
if (Pads[Index].Text != String.Empty)
|
||||
{
|
||||
Pads[Index].Enabled = true;
|
||||
@ -352,9 +461,10 @@ namespace ScpServer
|
||||
{
|
||||
cbs[Index].Enabled = true;
|
||||
ebns[Index].Enabled = true;
|
||||
dbns[Index].Enabled = true;
|
||||
protexts[Index].Enabled = true;
|
||||
shortcuts[Index].Enabled = true;
|
||||
Batteries[Index].Enabled = true;
|
||||
MinimumSize = new Size(MinimumSize.Width, 190 + 29 * Index);
|
||||
rootHub.DS4Controllers[Index].Report += ScpForm_Report;
|
||||
}
|
||||
// As above
|
||||
//if (checkFirst && (Pads[Index].Checked && Index != 0))
|
||||
@ -366,10 +476,12 @@ namespace ScpServer
|
||||
Pads[Index].Enabled = false;
|
||||
cbs[Index].Enabled = false;
|
||||
ebns[Index].Enabled = false;
|
||||
dbns[Index].Enabled = false;
|
||||
protexts[Index].Enabled = false;
|
||||
if (OptionsDialog[Index] != null)
|
||||
OptionsDialog[Index].Close();
|
||||
Batteries[Index].Enabled = false;
|
||||
if (opt != null && opt.device == Index)
|
||||
{
|
||||
opt.Close();
|
||||
opt = null;
|
||||
}
|
||||
shortcuts[Index].Enabled = false;
|
||||
// As above
|
||||
//if (Index == 0)
|
||||
@ -385,22 +497,139 @@ namespace ScpServer
|
||||
// Pads[0].Checked = true;
|
||||
notifyIcon1.Text = tooltip;
|
||||
}
|
||||
|
||||
delegate void HotKeysDelegate(object sender, EventArgs e);
|
||||
void ScpForm_Report(object sender, EventArgs e)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
Invoke(new HotKeysDelegate(Hotkeys), new object[] { sender, e });
|
||||
else
|
||||
Hotkeys(sender, e);
|
||||
}
|
||||
|
||||
void Hotkeys(object sender, EventArgs e)
|
||||
{
|
||||
//DS4Device device = (DS4Device)sender;
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
string slide = rootHub.TouchpadSlide(0);
|
||||
if (slide == "left")
|
||||
{
|
||||
if (cbs[i].SelectedIndex == 0)
|
||||
cbs[i].SelectedIndex = cbs[0].Items.Count - 2;
|
||||
else
|
||||
cbs[i].SelectedIndex--;
|
||||
}
|
||||
else if (slide == "right")
|
||||
{
|
||||
if (cbs[i].SelectedIndex == cbs[0].Items.Count - 2)
|
||||
cbs[i].SelectedIndex = 0;
|
||||
else
|
||||
cbs[i].SelectedIndex++;
|
||||
}
|
||||
if (slide.Contains("t"))
|
||||
{
|
||||
LogDebug(DateTime.Now, "Controller " + (i + 1) + " is now using Profile \"" + cbs[i].Text + "\"");
|
||||
ShowNotification(this, "Controller " + (i + 1) + " is now using Profile \"" + cbs[i].Text + "\"");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void On_Debug(object sender, DS4Control.DebugEventArgs e)
|
||||
{
|
||||
LogDebug(e.Time, e.Data);
|
||||
}
|
||||
|
||||
private Options[] OptionsDialog = { null, null, null, null };
|
||||
|
||||
private void lBProfiles_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (lBProfiles.SelectedIndex >= 0)
|
||||
ShowOptions(4, lBProfiles.SelectedItem.ToString());
|
||||
}
|
||||
|
||||
|
||||
private void tsBNewProfile_Click(object sender, EventArgs e)
|
||||
{
|
||||
ShowOptions(4, "");
|
||||
}
|
||||
|
||||
|
||||
private void tsBNEditProfile_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (lBProfiles.SelectedIndex >= 0)
|
||||
ShowOptions(4, lBProfiles.SelectedItem.ToString());
|
||||
}
|
||||
|
||||
private void tsBDeleteProfle_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (lBProfiles.SelectedIndex >= 0)
|
||||
{
|
||||
string filename = lBProfiles.SelectedItem.ToString();
|
||||
if (MessageBox.Show("\"" + filename + "\" cannot be restored.", "Delete Profile?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
System.IO.File.Delete(Global.appdatapath + "\\Profiles\\" + filename + ".xml");
|
||||
RefreshProfiles();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void tSBDupProfile_Click(object sender, EventArgs e)
|
||||
{
|
||||
string filename = "";
|
||||
if (lBProfiles.SelectedIndex >= 0)
|
||||
{
|
||||
filename = lBProfiles.SelectedItem.ToString();
|
||||
MessageTextBox MTB = new MessageTextBox(filename, this);
|
||||
MTB.TopLevel = false;
|
||||
MTB.Dock = DockStyle.Top;
|
||||
MTB.Visible = true;
|
||||
MTB.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||
tabProfiles.Controls.Add(MTB);
|
||||
lBProfiles.SendToBack();
|
||||
toolStrip1.SendToBack();
|
||||
toolStrip1.Enabled = false;
|
||||
lBProfiles.Enabled = false;
|
||||
MTB.FormClosed += delegate { toolStrip1.Enabled = true; lBProfiles.Enabled = true; };
|
||||
}
|
||||
}
|
||||
//private Options[] OptionsDialog = { null, null, null, null };
|
||||
Options opt;
|
||||
private System.Drawing.Size oldsize;
|
||||
private void ShowOptions(int devID, string profile)
|
||||
{
|
||||
if (OptionsDialog[devID] == null)
|
||||
//if (OptionsDialog[devID] == null)
|
||||
if (opt == null)
|
||||
{
|
||||
Options opt;
|
||||
opt = OptionsDialog[devID] = new Options(rootHub, devID, profile);
|
||||
this.Show();
|
||||
WindowState = FormWindowState.Normal;
|
||||
toolStrip1.Enabled = false;
|
||||
opt = new Options(rootHub, devID, profile, this);
|
||||
opt.Text = "Options for Controller " + (devID + 1);
|
||||
opt.Icon = this.Icon;
|
||||
opt.FormClosed += delegate { OptionsDialog[devID] = null; RefreshProfiles(); };
|
||||
opt.Show();
|
||||
opt.TopLevel = false;
|
||||
opt.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||
opt.Visible = true;
|
||||
opt.Dock = DockStyle.Fill;
|
||||
tabProfiles.Controls.Add(opt);
|
||||
lBProfiles.SendToBack();
|
||||
toolStrip1.SendToBack();
|
||||
FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
|
||||
opt.FormClosed += delegate
|
||||
{
|
||||
opt = null;
|
||||
RefreshProfiles();
|
||||
FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
|
||||
this.Size = oldsize;
|
||||
oldsize = new System.Drawing.Size(0, 0);
|
||||
toolStrip1.Enabled = true;
|
||||
};
|
||||
oldsize = this.Size;
|
||||
if (this.Size.Height < 470)
|
||||
this.Size = new System.Drawing.Size(this.Size.Width, 470);
|
||||
if (this.Size.Width < 910)
|
||||
this.Size = new System.Drawing.Size(910, this.Size.Height);
|
||||
tabMain.SelectedIndex = 1;
|
||||
}
|
||||
}
|
||||
private void editButtons_Click(object sender, EventArgs e)
|
||||
@ -426,23 +655,10 @@ namespace ScpServer
|
||||
private void Enable_Controls(int device, bool on)
|
||||
{
|
||||
ebns[device].Enabled = on;
|
||||
dbns[device].Enabled = on;
|
||||
cbs[device].Enabled = on;
|
||||
shortcuts[device].Enabled = on;
|
||||
}
|
||||
private void deleteButtons_Click(object sender, EventArgs e)
|
||||
{
|
||||
Button bn = (Button)sender;
|
||||
int tdevice = Int32.Parse(bn.Tag.ToString());
|
||||
string filename = cbs[tdevice].Items[cbs[tdevice].SelectedIndex].ToString();
|
||||
if (MessageBox.Show("\"" + filename + "\" cannot be restored.", "Delete Profile?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
|
||||
{
|
||||
System.IO.File.Delete(Global.appdatapath + "\\Profiles\\" +filename + ".xml");
|
||||
Global.setAProfile(tdevice, null);
|
||||
RefreshProfiles();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void hotkeysButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
Hotkeys hotkeysForm = new Hotkeys();
|
||||
@ -504,6 +720,7 @@ namespace ScpServer
|
||||
else
|
||||
ebns[tdevice].Text = "Edit";
|
||||
}
|
||||
ControllerStatusChanged();
|
||||
}
|
||||
|
||||
private void Profile_Changed_Menu(object sender, ToolStripItemClickedEventArgs e)
|
||||
@ -537,31 +754,26 @@ namespace ScpServer
|
||||
|
||||
private void openToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
notifyIcon_Click(sender, e);
|
||||
}
|
||||
this.Show();
|
||||
WindowState = FormWindowState.Normal;
|
||||
}
|
||||
|
||||
private void notifyIcon_Click(object sender, EventArgs e)
|
||||
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == System.Windows.Forms.MouseButtons.Left)
|
||||
{
|
||||
this.Show();
|
||||
WindowState = FormWindowState.Normal;
|
||||
}
|
||||
else if (e.Button == System.Windows.Forms.MouseButtons.Middle)
|
||||
this.Close();
|
||||
}
|
||||
private void notifyIcon1_BalloonTipClicked(object sender, EventArgs e)
|
||||
{
|
||||
this.Show();
|
||||
WindowState = FormWindowState.Normal;
|
||||
}
|
||||
|
||||
private void linkProfiles_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
openProfiles.InitialDirectory = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + @"\Profiles\";
|
||||
if (openProfiles.ShowDialog() == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
string[] files = openProfiles .FileNames;
|
||||
for (int i = 0; i < files.Length; i++)
|
||||
{
|
||||
string[] temp = files[i].Split('\\');
|
||||
files[i] = temp[temp.Length-1];
|
||||
File.Copy(openProfiles.FileNames[i], Global.appdatapath + "\\Profiles\\" + files[i], true);
|
||||
}
|
||||
RefreshProfiles();
|
||||
}
|
||||
}
|
||||
|
||||
private void llbHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||
{
|
||||
Hotkeys hotkeysForm = new Hotkeys();
|
||||
@ -583,8 +795,16 @@ namespace ScpServer
|
||||
|
||||
protected void Form_Close(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
Global.setFormWidth(this.Width);
|
||||
Global.setFormHeight(this.Height);
|
||||
if (oldsize == new System.Drawing.Size(0, 0))
|
||||
{
|
||||
Global.setFormWidth(this.Width);
|
||||
Global.setFormHeight(this.Height);
|
||||
}
|
||||
else
|
||||
{
|
||||
Global.setFormWidth(oldsize.Width);
|
||||
Global.setFormHeight(oldsize.Height);
|
||||
}
|
||||
Global.Save();
|
||||
rootHub.Stop();
|
||||
}
|
||||
@ -604,6 +824,29 @@ namespace ScpServer
|
||||
WP.ShowDialog();
|
||||
}
|
||||
|
||||
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
lbLastMessage.Visible = tabMain.SelectedIndex != 2;
|
||||
if (tabMain.SelectedIndex == 3 && opt == null)
|
||||
{
|
||||
if (this.Size.Width < 755 || this.Size.Height < 355)
|
||||
oldsize = Size;
|
||||
if (this.Size.Height < 355)
|
||||
this.Size = new System.Drawing.Size(this.Size.Width, 355);
|
||||
if (this.Size.Width < 755)
|
||||
this.Size = new System.Drawing.Size(755, this.Size.Height);
|
||||
|
||||
}
|
||||
else if (oldsize != new System.Drawing.Size(0, 0) && opt == null)
|
||||
{
|
||||
Size = oldsize;
|
||||
oldsize = new System.Drawing.Size(0, 0);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class ThemeUtil
|
||||
|
@ -6302,4 +6302,255 @@
|
||||
<metadata name="openProfiles.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>449, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>568, 17</value>
|
||||
</metadata>
|
||||
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>568, 17</value>
|
||||
</metadata>
|
||||
<data name="tsBDeleteProfile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEpSURBVDhPYxhc4GJ69P+zyRH/oVwMsMXX/f9GL2fs8ucS
|
||||
gv9/XDnz/8eZHf932ZtgKFqgp/7/9YJJ/193F/1faqaPacipaL//76c2/P8+p/X/x96y/xvN9eCKQJpB
|
||||
hn+bWgs2YKGhNnZXgGx+3ZD6/0Nb1v+Xdcn/V+ir/wdpfregDy42Q0Eau2YYANn8NMf3//OSULAGkI3P
|
||||
C4PAYtPlpfBrhgGQzQ/S3P4/SLD7fyfEAIwJ2owMQM5+mBv0/6a/FhwTbTtYc2Mm3GYYvuavR9gQkOZH
|
||||
7cVgp9+KsgY7G6QJxIaJ4TRkvZM1WDMosO6leqL4GaQJJAaSu5Psjj0a19ib/7+X6Q/2O7YAAxkCkgPh
|
||||
+fpa2F0B8sI8HTXskkAAksMnPxCAgQEAgp/brMfRrFIAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="tSBDupProfile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADQSURBVDhPlZCxCsIwEIbziO76CL6CXYNjJl1dMnQpLobu
|
||||
Lm7ViuCkUwW1jtItcmdPbXoh8YOflHD5+nNCa225iFhg2AXu8jyPk/gEQJSEhsvz3a6PV/yGh8aYT9pR
|
||||
Hq4BkCQJm14rEuxON2ywKi423VQ47EKS9ukbt0HTPPH0CQCl1FcSajBdHuwk3aNYSomPKR2BC9cAqB81
|
||||
picINRgvSjucb+1AFXj/dwPaDZ0dgZssy9gGoxnTwAcsjIC//gYICmAACO7ABwl8RAlCEUKIFyWXYHlY
|
||||
K643AAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="pBStatus4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
1WDefQHxFbbcLCQjmgAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="pBStatus3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACcAAAAUCAYAAAAOTSQ2AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
|
||||
DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
|
||||
bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE
|
||||
sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs
|
||||
AIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4
|
||||
JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR
|
||||
3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQd
|
||||
li7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtF
|
||||
ehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGX
|
||||
wzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNF
|
||||
hImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH55
|
||||
4SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJ
|
||||
VgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB
|
||||
5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyC
|
||||
qbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiE
|
||||
j6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I
|
||||
1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9
|
||||
rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhG
|
||||
fDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp
|
||||
B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJ
|
||||
yeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJC
|
||||
YVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQln
|
||||
yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v
|
||||
vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp
|
||||
vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L
|
||||
Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA
|
||||
bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z
|
||||
llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW
|
||||
ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s
|
||||
xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6
|
||||
eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw
|
||||
YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR
|
||||
XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm
|
||||
WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl
|
||||
xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2
|
||||
dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8
|
||||
V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za
|
||||
Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v
|
||||
Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb
|
||||
PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/
|
||||
0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h
|
||||
/HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr
|
||||
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
|
||||
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
|
||||
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
|
||||
6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEwAACxMBAJqcGAAAAT5JREFUSEvNlL2Kg1AQ
|
||||
RvNsptdgY2EhaCPYphERBn8iKSzEMgQCQbBSECx9Nne/Czew7GRj1iA3cCCcKTzMiLt5npWFlarASlVg
|
||||
pSqwcgl5nlOSJMTNQBAE5Pv+0/kSWPkK+v5N00TDMJDneb8CDMOgcRypaRqyLOvfgax8RRRF1HWdCGjb
|
||||
lmzbfgQgDOF934s40zS3jQPY2PV6pfv9TpfLRUTIjUm33++3P6sEGyvLkuq6FjHYVFVVwmmatioMsPId
|
||||
sLGiKChNUwrDULB2YxJWvgNOiU0dj8cHn9gaYOVSEIZzyo1JPhXIyiUg7Ha7iXPGcSxOiSD8l25tICtf
|
||||
4bquCMM5T6fTj3cMQXCYZVm2/afEcRw6n88igHv5EYgZOBwO28YBnFXX9acPxuyv+RJYqQqsVAVWqgIr
|
||||
1WDefQHxFbbcLCQjmgAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="pBStatus2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACcAAAAUCAYAAAAOTSQ2AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
|
||||
DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
|
||||
bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE
|
||||
sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs
|
||||
AIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4
|
||||
JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR
|
||||
3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQd
|
||||
li7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtF
|
||||
ehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGX
|
||||
wzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNF
|
||||
hImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH55
|
||||
4SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJ
|
||||
VgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB
|
||||
5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyC
|
||||
qbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiE
|
||||
j6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I
|
||||
1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9
|
||||
rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhG
|
||||
fDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp
|
||||
B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJ
|
||||
yeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJC
|
||||
YVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQln
|
||||
yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v
|
||||
vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp
|
||||
vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L
|
||||
Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA
|
||||
bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z
|
||||
llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW
|
||||
ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s
|
||||
xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6
|
||||
eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw
|
||||
YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR
|
||||
XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm
|
||||
WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl
|
||||
xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2
|
||||
dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8
|
||||
V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za
|
||||
Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v
|
||||
Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb
|
||||
PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/
|
||||
0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h
|
||||
/HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr
|
||||
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
|
||||
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
|
||||
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
|
||||
6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEwAACxMBAJqcGAAAAT5JREFUSEvNlL2Kg1AQ
|
||||
RvNsptdgY2EhaCPYphERBn8iKSzEMgQCQbBSECx9Nne/Czew7GRj1iA3cCCcKTzMiLt5npWFlarASlVg
|
||||
pSqwcgl5nlOSJMTNQBAE5Pv+0/kSWPkK+v5N00TDMJDneb8CDMOgcRypaRqyLOvfgax8RRRF1HWdCGjb
|
||||
lmzbfgQgDOF934s40zS3jQPY2PV6pfv9TpfLRUTIjUm33++3P6sEGyvLkuq6FjHYVFVVwmmatioMsPId
|
||||
sLGiKChNUwrDULB2YxJWvgNOiU0dj8cHn9gaYOVSEIZzyo1JPhXIyiUg7Ha7iXPGcSxOiSD8l25tICtf
|
||||
4bquCMM5T6fTj3cMQXCYZVm2/afEcRw6n88igHv5EYgZOBwO28YBnFXX9acPxuyv+RJYqQqsVAVWqgIr
|
||||
1WDefQHxFbbcLCQjmgAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="pBStatus1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
1WDefQHxFbbcLCQjmgAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
31
DS4Tool/WinProgs.Designer.cs
generated
@ -32,7 +32,6 @@
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.listBox2 = new System.Windows.Forms.ListBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.lBProfiles = new System.Windows.Forms.ListBox();
|
||||
this.comboBox1 = new System.Windows.Forms.ComboBox();
|
||||
this.comboBox2 = new System.Windows.Forms.ComboBox();
|
||||
this.comboBox3 = new System.Windows.Forms.ComboBox();
|
||||
@ -42,6 +41,7 @@
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// listBox1
|
||||
@ -52,8 +52,6 @@
|
||||
this.listBox1.Size = new System.Drawing.Size(279, 199);
|
||||
this.listBox1.TabIndex = 0;
|
||||
this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged);
|
||||
this.listBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listBox1_KeyDown);
|
||||
this.listBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listBox1_MouseDoubleClick);
|
||||
//
|
||||
// button2
|
||||
//
|
||||
@ -72,8 +70,6 @@
|
||||
this.listBox2.Size = new System.Drawing.Size(220, 199);
|
||||
this.listBox2.TabIndex = 0;
|
||||
this.listBox2.SelectedIndexChanged += new System.EventHandler(this.listBox2_SelectedIndexChanged);
|
||||
this.listBox2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listBox2_KeyDown);
|
||||
this.listBox2.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listBox2_MouseDoubleClick);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
@ -82,15 +78,6 @@
|
||||
this.label1.Size = new System.Drawing.Size(717, 19);
|
||||
this.label1.TabIndex = 3;
|
||||
//
|
||||
// lBProfiles
|
||||
//
|
||||
this.lBProfiles.FormattingEnabled = true;
|
||||
this.lBProfiles.Location = new System.Drawing.Point(516, 136);
|
||||
this.lBProfiles.Name = "lBProfiles";
|
||||
this.lBProfiles.Size = new System.Drawing.Size(196, 30);
|
||||
this.lBProfiles.TabIndex = 4;
|
||||
this.lBProfiles.Visible = false;
|
||||
//
|
||||
// comboBox1
|
||||
//
|
||||
this.comboBox1.FormattingEnabled = true;
|
||||
@ -173,11 +160,24 @@
|
||||
this.label5.TabIndex = 7;
|
||||
this.label5.Text = "Controller 4";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.BackColor = System.Drawing.Color.Transparent;
|
||||
this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label6.Location = new System.Drawing.Point(530, 129);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(182, 24);
|
||||
this.label6.TabIndex = 8;
|
||||
this.label6.Text = "Not yet ready for use";
|
||||
//
|
||||
// WinProgs
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.White;
|
||||
this.ClientSize = new System.Drawing.Size(736, 230);
|
||||
this.Controls.Add(this.label6);
|
||||
this.Controls.Add(this.label5);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.label3);
|
||||
@ -186,7 +186,6 @@
|
||||
this.Controls.Add(this.comboBox3);
|
||||
this.Controls.Add(this.comboBox2);
|
||||
this.Controls.Add(this.comboBox1);
|
||||
this.Controls.Add(this.lBProfiles);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.bnSave);
|
||||
this.Controls.Add(this.button2);
|
||||
@ -205,7 +204,6 @@
|
||||
private System.Windows.Forms.Button button2;
|
||||
private System.Windows.Forms.ListBox listBox2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.ListBox lBProfiles;
|
||||
private System.Windows.Forms.ComboBox comboBox1;
|
||||
private System.Windows.Forms.ComboBox comboBox2;
|
||||
private System.Windows.Forms.ComboBox comboBox3;
|
||||
@ -215,5 +213,6 @@
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.Label label6;
|
||||
}
|
||||
}
|
@ -19,22 +19,23 @@ namespace ScpServer
|
||||
public partial class WinProgs : Form
|
||||
{
|
||||
ToolTip tp = new ToolTip();
|
||||
ComboBox[] cbs;
|
||||
public WinProgs(string[] oc)
|
||||
{
|
||||
InitializeComponent();
|
||||
comboBox1.Text = "(none)";
|
||||
comboBox2.Text = "(none)";
|
||||
comboBox3.Text = "(none)";
|
||||
comboBox4.Text = "(none)";
|
||||
comboBox1.Items.AddRange(oc);
|
||||
comboBox2.Items.AddRange(oc);
|
||||
comboBox3.Items.AddRange(oc);
|
||||
comboBox4.Items.AddRange(oc);
|
||||
foreach (string o in oc)
|
||||
lBProfiles.Items.Add(o);
|
||||
string[] lods = Directory.GetDirectories(@"C:\Program Files (x86)\Steam\SteamApps\common");
|
||||
foreach (string s in lods)
|
||||
listBox1.Items.Add(Path.GetFileName(s));
|
||||
cbs = new ComboBox[4] { comboBox1, comboBox2, comboBox3, comboBox4 };
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
cbs[i].Text = "(none)";
|
||||
cbs[i].Items.AddRange(oc);
|
||||
}
|
||||
try
|
||||
{
|
||||
string[] lods = Directory.GetDirectories(@"C:\Program Files (x86)\Steam\steamapps\common");
|
||||
foreach (string s in lods)
|
||||
listBox1.Items.Add(Path.GetFileName(s));
|
||||
}
|
||||
catch { }
|
||||
if (!File.Exists(Global.appdatapath + @"\Auto Profiles.xml"))
|
||||
Create();
|
||||
//foreach (ListBox.ObjectCollection s in listBox1.Items)
|
||||
@ -47,21 +48,6 @@ namespace ScpServer
|
||||
|
||||
}
|
||||
|
||||
private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
string s = listBox1.SelectedItem.ToString();
|
||||
string[] lods = Directory.GetFiles(@"C:\Program Files (x86)\Steam\SteamApps\common\" + s, "*.exe", SearchOption.AllDirectories);
|
||||
listBox2.Items.Clear();
|
||||
foreach (string st in lods)
|
||||
if (!st.Contains("setup") && !st.Contains("dotnet") && !st.Contains("SETUP") && !st.Contains("vcredist"))
|
||||
listBox2.Items.Add(Path.GetFileNameWithoutExtension(st));
|
||||
}
|
||||
|
||||
private void listBox1_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyValue == 13)
|
||||
listBox1_MouseDoubleClick(sender, null);
|
||||
}
|
||||
List<string> lods = new List<string>();
|
||||
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
@ -79,35 +65,15 @@ namespace ScpServer
|
||||
listBox2.Items.Add(Path.GetFileNameWithoutExtension(st));
|
||||
}
|
||||
|
||||
private void listBox2_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void listBox2_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
if (e.KeyValue == 13)
|
||||
listBox2_MouseDoubleClick(sender, null);
|
||||
}
|
||||
|
||||
private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (listBox2.SelectedIndex >= 0)
|
||||
label1.Text = lods[listBox2.SelectedIndex];
|
||||
{
|
||||
label1.Text = lods[listBox2.SelectedIndex];
|
||||
LoadP();
|
||||
}
|
||||
}
|
||||
|
||||
private void Controller_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
/*if (cBC1.Checked)
|
||||
Global.setAProfile(0, lBProfiles.SelectedItem.ToString());
|
||||
if (cBC2.Checked)
|
||||
Global.setAProfile(1, lBProfiles.SelectedItem.ToString());
|
||||
if (cBC3.Checked)
|
||||
Global.setAProfile(2, lBProfiles.SelectedItem.ToString());
|
||||
if (cBC4.Checked)
|
||||
Global.setAProfile(3, lBProfiles.SelectedItem.ToString());*/
|
||||
Save();
|
||||
}
|
||||
protected String m_Profile = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool\\Auto Profiles.xml";
|
||||
protected XmlDocument m_Xdoc = new XmlDocument();
|
||||
|
||||
@ -143,13 +109,11 @@ namespace ScpServer
|
||||
//try
|
||||
{
|
||||
XmlNode Node;
|
||||
Node = m_Xdoc.SelectSingleNode("Programs");
|
||||
//Node = m_Xdoc.CreateComment(String.Format(" Auto-Profile Configuration Data. {0} ", DateTime.Now));
|
||||
//m_Xdoc.AppendChild(Node);
|
||||
Node = m_Xdoc.SelectSingleNode("Programs");
|
||||
|
||||
string programname = listBox2.SelectedItem.ToString();
|
||||
//if (programname.Contains(" "))
|
||||
programname.Replace(' ', ',');
|
||||
programname = programname.Replace(' ', '_');
|
||||
XmlNode xmlprogram = m_Xdoc.CreateNode(XmlNodeType.Element, programname, null);
|
||||
|
||||
XmlNode xmlController1 = m_Xdoc.CreateNode(XmlNodeType.Element, "Controller1", null);
|
||||
@ -180,6 +144,42 @@ namespace ScpServer
|
||||
return Saved;
|
||||
}
|
||||
|
||||
public void LoadP()
|
||||
{
|
||||
//try
|
||||
{
|
||||
if (File.Exists(m_Profile))
|
||||
{
|
||||
XmlNode Item;
|
||||
m_Xdoc.Load(m_Profile);
|
||||
string programname = listBox2.SelectedItem.ToString();
|
||||
programname = programname.Replace(' ', '_');
|
||||
string[] profiles = new string[4];
|
||||
for (int i = 0; i < 4; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
Item = m_Xdoc.SelectSingleNode("/Programs/" + programname + "/Controller" + (i + 1));
|
||||
profiles[i] = Item.InnerText;
|
||||
for (int j = 0; j < cbs[i].Items.Count; j++)
|
||||
if (cbs[i].Items[j].ToString() == profiles[i])
|
||||
{
|
||||
cbs[i].SelectedIndex = j;
|
||||
break;
|
||||
}
|
||||
//else
|
||||
//cbs[i].Text = "(none)";
|
||||
}
|
||||
catch { cbs[i].Text = "(none)"; }
|
||||
}
|
||||
}
|
||||
}
|
||||
//catch { missingSetting = true; }
|
||||
//return missingSetting;
|
||||
//if (missingSetting)
|
||||
//label1.Content = "Current version not found, please re-run DS4Tool";
|
||||
}
|
||||
|
||||
private void CBProfile_IndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
|