Version 1.4.1 [Mac(a)roni]

Record 360 controls using your DualShock 4 (PS: any old macros using
hold control while running macro may be set to a new control when
loaded, please re save your macro)
Macro recording now happens in the select an action window instead of a
separate one
Save and Load Macro presets to use any time
When recording with delays (recommend for X360 macros) you can double
click on delays to edit the time
When recording a new macro, previously saved Macros for that control are
shown
Many minor Macro fixes
Giving major updates useless names that will never be seen outside of
this changelog
Icon Update
Fixed shift modifier lightbar settings blocked off
High DPI support (144+)
Fixed various bugs at 120 DPI and higher
When installing the ds4 driver, Actually checks if the driver got
installed instead of always saying install complete
This commit is contained in:
jays2kings 2014-11-14 14:44:50 -05:00
parent d6e2f555bb
commit a66878498e
29 changed files with 3983 additions and 2658 deletions

View File

@ -12,13 +12,13 @@ namespace DS4Control
public X360Device x360Bus;
public DS4Device[] DS4Controllers = new DS4Device[4];
//TPadModeSwitcher[] modeSwitcher = new TPadModeSwitcher[4];
Mouse[] touchPad = new Mouse[4];
public Mouse[] touchPad = new Mouse[4];
private bool running = false;
private DS4State[] MappedState = new DS4State[4];
private DS4State[] CurrentState = new DS4State[4];
private DS4State[] PreviousState = new DS4State[4];
public DS4StateExposed[] ExposedState = new DS4StateExposed[4];
public bool recordingMacro = false;
public event EventHandler<DebugEventArgs> Debug = null;
private class X360Data
@ -408,6 +408,7 @@ namespace DS4Control
if (Global.getHasCustomKeysorButtons(ind))
{
if (!recordingMacro)
Mapping.MapCustom(ind, cState, MappedState[ind], ExposedState[ind], touchPad[ind]);
cState = MappedState[ind];
}
@ -474,6 +475,44 @@ namespace DS4Control
return "nothing";
}
public DS4Controls GetInputkeysDS4(int ind)
{
DS4State cState = CurrentState[ind];
DS4StateExposed eState = ExposedState[ind];
Mouse tp = touchPad[ind];
if (DS4Controllers[ind] != null)
if (Mapping.getBoolMapping(DS4Controls.Cross, cState, eState, tp)) return DS4Controls.Cross;
else if (Mapping.getBoolMapping(DS4Controls.Circle, cState, eState, tp)) return DS4Controls.Circle;
else if (Mapping.getBoolMapping(DS4Controls.Triangle, cState, eState, tp)) return DS4Controls.Triangle;
else if (Mapping.getBoolMapping(DS4Controls.Square, cState, eState, tp)) return DS4Controls.Square;
else if (Mapping.getBoolMapping(DS4Controls.L1, cState, eState, tp)) return DS4Controls.L1;
else if (Mapping.getBoolMapping(DS4Controls.R1, cState, eState, tp)) return DS4Controls.R1;
else if (Mapping.getBoolMapping(DS4Controls.L2, cState, eState, tp)) return DS4Controls.L2;
else if (Mapping.getBoolMapping(DS4Controls.R2, cState, eState, tp)) return DS4Controls.R2;
else if (Mapping.getBoolMapping(DS4Controls.L3, cState, eState, tp)) return DS4Controls.L3;
else if (Mapping.getBoolMapping(DS4Controls.R3, cState, eState, tp)) return DS4Controls.R3;
else if (Mapping.getBoolMapping(DS4Controls.DpadUp, cState, eState, tp)) return DS4Controls.DpadUp;
else if (Mapping.getBoolMapping(DS4Controls.DpadDown, cState, eState, tp)) return DS4Controls.DpadDown;
else if (Mapping.getBoolMapping(DS4Controls.DpadLeft, cState, eState, tp)) return DS4Controls.DpadLeft;
else if (Mapping.getBoolMapping(DS4Controls.DpadRight, cState, eState, tp)) return DS4Controls.DpadRight;
else if (Mapping.getBoolMapping(DS4Controls.Share, cState, eState, tp)) return DS4Controls.Share;
else if (Mapping.getBoolMapping(DS4Controls.Options, cState, eState, tp)) return DS4Controls.Options;
else if (Mapping.getBoolMapping(DS4Controls.PS, cState, eState, tp)) return DS4Controls.PS;
else if (Mapping.getBoolMapping(DS4Controls.LXPos, cState, eState, tp)) return DS4Controls.LXPos;
else if (Mapping.getBoolMapping(DS4Controls.LXNeg, cState, eState, tp)) return DS4Controls.LXNeg;
else if (Mapping.getBoolMapping(DS4Controls.LYPos, cState, eState, tp)) return DS4Controls.LYPos;
else if (Mapping.getBoolMapping(DS4Controls.LYNeg, cState, eState, tp)) return DS4Controls.LYNeg;
else if (Mapping.getBoolMapping(DS4Controls.RXPos, cState, eState, tp)) return DS4Controls.RXPos;
else if (Mapping.getBoolMapping(DS4Controls.RXNeg, cState, eState, tp)) return DS4Controls.RXNeg;
else if (Mapping.getBoolMapping(DS4Controls.RYPos, cState, eState, tp)) return DS4Controls.RYPos;
else if (Mapping.getBoolMapping(DS4Controls.RYNeg, cState, eState, tp)) return DS4Controls.RYNeg;
else if (Mapping.getBoolMapping(DS4Controls.TouchLeft, cState, eState, tp)) return DS4Controls.TouchLeft;
else if (Mapping.getBoolMapping(DS4Controls.TouchRight, cState, eState, tp)) return DS4Controls.TouchRight;
else if (Mapping.getBoolMapping(DS4Controls.TouchMulti, cState, eState, tp)) return DS4Controls.TouchMulti;
else if (Mapping.getBoolMapping(DS4Controls.TouchUpper, cState, eState, tp)) return DS4Controls.TouchUpper;
return DS4Controls.None;
}
public bool[] touchreleased = { true, true, true, true }, touchslid = { false, false, false, false };
public byte[] oldtouchvalue = { 0, 0, 0, 0 };
public int[] oldscrollvalue = { 0, 0, 0, 0 };

View File

@ -325,6 +325,7 @@ namespace DS4Control
}
public static bool[] pressedonce = new bool[261], macrodone = new bool[34];
public static int test = 0;
static bool[] macroControl = new bool[25];
/** Map DS4 Buttons/Axes to other DS4 Buttons/Axes (largely the same as Xinput ones) and to keyboard and mouse buttons. */
public static async void MapCustom(int device, DS4State cState, DS4State MappedState, DS4StateExposed eState, Mouse tp)
{
@ -363,7 +364,7 @@ namespace DS4Control
cState.CopyTo(MappedState);
if (shift)
MapShiftCustom(device, cState, MappedState, eState, tp);
//else
foreach (KeyValuePair<DS4Controls, string> customKey in Global.getCustomMacros(device))
{
if (shift == false ||
@ -393,35 +394,7 @@ namespace DS4Control
}
for (int i = 0; i < keys.Length; i++)
keys[i] = ushort.Parse(skeys[i]);
bool[] keydown = new bool[261];
if (keys.Length > 0 && keys[0] > 260 && keys[0] < 300)
{
if (keys[0] == 261 && !MappedState.Cross) MappedState.Cross = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 262 && !MappedState.Circle) MappedState.Circle = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 263 && !MappedState.Square) MappedState.Square = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 264 && !MappedState.Triangle) MappedState.Triangle = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 265 && !MappedState.DpadUp) MappedState.DpadUp = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 266 && !MappedState.DpadDown) MappedState.DpadDown = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 267 && !MappedState.DpadLeft) MappedState.DpadLeft = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 268 && !MappedState.DpadRight) MappedState.DpadRight = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 269 && !MappedState.Options) MappedState.Options = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 270 && !MappedState.Share) MappedState.Share = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 271 && !MappedState.PS) MappedState.PS = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 272 && !MappedState.L1) MappedState.L1 = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 273 && !MappedState.R1) MappedState.R1 = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 274 && MappedState.L2 == 0) MappedState.L2 = getByteMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 275 && MappedState.R2 == 0) MappedState.R2 = getByteMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 276 && !MappedState.L3) MappedState.L3 = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 277 && !MappedState.R3) MappedState.R3 = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 278 && LYChanged) MappedState.LY = getXYAxisMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 279 && LYChanged) MappedState.LY = getXYAxisMapping(device, customKey.Key, cState, eState, tp, true);
if (keys[0] == 280 && LXChanged) MappedState.LX = getXYAxisMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 281 && LXChanged) MappedState.LX = getXYAxisMapping(device, customKey.Key, cState, eState, tp, true);
if (keys[0] == 282 && RYChanged) MappedState.RY = getXYAxisMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 283 && RYChanged) MappedState.RY = getXYAxisMapping(device, customKey.Key, cState, eState, tp, true);
if (keys[0] == 284 && RXChanged) MappedState.RX = getXYAxisMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 285 && RXChanged) MappedState.RX = getXYAxisMapping(device, customKey.Key, cState, eState, tp, true);
}
bool[] keydown = new bool[286];
if (!macrodone[DS4ControltoInt(customKey.Key)])
{
macrodone[DS4ControltoInt(customKey.Key)] = true;
@ -429,26 +402,76 @@ namespace DS4Control
{
if (keys[i] >= 300) //ints over 300 used to delay
await Task.Delay(keys[i] - 300);
else if (keys[i] < 261 && !keydown[keys[i]])
else if (!keydown[keys[i]])
{
if (keys[i] == 256) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_LEFTDOWN); //anything above 255 is not a keyvalue
else if (keys[i] == 257) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_RIGHTDOWN);
else if (keys[i] == 258) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_MIDDLEDOWN);
else if (keys[i] == 259) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONDOWN, 1);
else if (keys[i] == 260) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONDOWN, 2);
else if (keys[i] == 261) macroControl[0] = true;
else if (keys[i] == 262) macroControl[1] = true;
else if (keys[i] == 263) macroControl[2] = true;
else if (keys[i] == 264) macroControl[3] = true;
else if (keys[i] == 265) macroControl[4] = true;
else if (keys[i] == 266) macroControl[5] = true;
else if (keys[i] == 267) macroControl[6] = true;
else if (keys[i] == 268) macroControl[7] = true;
else if (keys[i] == 269) macroControl[8] = true;
else if (keys[i] == 270) macroControl[9] = true;
else if (keys[i] == 271) macroControl[10] = true;
else if (keys[i] == 272) macroControl[11] = true;
else if (keys[i] == 273) macroControl[12] = true;
else if (keys[i] == 274) macroControl[13] = true;
else if (keys[i] == 275) macroControl[14] = true;
else if (keys[i] == 276) macroControl[15] = true;
else if (keys[i] == 277) macroControl[16] = true;
else if (keys[i] == 278) macroControl[17] = true;
else if (keys[i] == 279) macroControl[18] = true;
else if (keys[i] == 280) macroControl[19] = true;
else if (keys[i] == 281) macroControl[20] = true;
else if (keys[i] == 282) macroControl[21] = true;
else if (keys[i] == 283) macroControl[22] = true;
else if (keys[i] == 284) macroControl[23] = true;
else if (keys[i] == 285) macroControl[24] = true;
else if (keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyPress((ushort)keys[i]);
else
InputMethods.performKeyPress((ushort)keys[i]);
keydown[keys[i]] = true;
}
else if (keys[i] < 261)
else
{
if (keys[i] == 256) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_LEFTUP); //anything above 255 is not a keyvalue
else if (keys[i] == 257) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_RIGHTUP);
else if (keys[i] == 258) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_MIDDLEUP);
else if (keys[i] == 259) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONUP, 1);
else if (keys[i] == 260) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONUP, 2);
else if (keys[i] == 261) macroControl[0] = false;
else if (keys[i] == 262) macroControl[1] = false;
else if (keys[i] == 263) macroControl[2] = false;
else if (keys[i] == 264) macroControl[3] = false;
else if (keys[i] == 265) macroControl[4] = false;
else if (keys[i] == 266) macroControl[5] = false;
else if (keys[i] == 267) macroControl[6] = false;
else if (keys[i] == 268) macroControl[7] = false;
else if (keys[i] == 269) macroControl[8] = false;
else if (keys[i] == 270) macroControl[9] = false;
else if (keys[i] == 271) macroControl[10] = false;
else if (keys[i] == 272) macroControl[11] = false;
else if (keys[i] == 273) macroControl[12] = false;
else if (keys[i] == 274) macroControl[13] = false;
else if (keys[i] == 275) macroControl[14] = false;
else if (keys[i] == 276) macroControl[15] = false;
else if (keys[i] == 277) macroControl[16] = false;
else if (keys[i] == 278) macroControl[17] = false;
else if (keys[i] == 279) macroControl[18] = false;
else if (keys[i] == 280) macroControl[19] = false;
else if (keys[i] == 281) macroControl[20] = false;
else if (keys[i] == 282) macroControl[21] = false;
else if (keys[i] == 283) macroControl[22] = false;
else if (keys[i] == 284) macroControl[23] = false;
else if (keys[i] == 285) macroControl[24] = false;
else if (keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyRelease((ushort)keys[i]);
else
@ -459,7 +482,37 @@ namespace DS4Control
for (ushort i = 0; i < keydown.Length; i++)
{
if (keydown[i])
if (keyType.HasFlag(DS4KeyType.ScanCode))
if (i == 256) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_LEFTUP); //anything above 255 is not a keyvalue
else if (i == 257) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_RIGHTUP);
else if (i == 258) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_MIDDLEUP);
else if (i == 259) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONUP, 1);
else if (i == 260) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONUP, 2);
else if (i == 261) macroControl[0] = false;
else if (i == 262) macroControl[1] = false;
else if (i == 263) macroControl[2] = false;
else if (i == 264) macroControl[3] = false;
else if (i == 265) macroControl[4] = false;
else if (i == 266) macroControl[5] = false;
else if (i == 267) macroControl[6] = false;
else if (i == 268) macroControl[7] = false;
else if (i == 269) macroControl[8] = false;
else if (i == 270) macroControl[9] = false;
else if (i == 271) macroControl[10] = false;
else if (i == 272) macroControl[11] = false;
else if (i == 273) macroControl[12] = false;
else if (i == 274) macroControl[13] = false;
else if (i == 275) macroControl[14] = false;
else if (i == 276) macroControl[15] = false;
else if (i == 277) macroControl[16] = false;
else if (keys[i] == 278) macroControl[17] = false;
else if (keys[i] == 279) macroControl[18] = false;
else if (keys[i] == 280) macroControl[19] = false;
else if (keys[i] == 281) macroControl[20] = false;
else if (keys[i] == 282) macroControl[21] = false;
else if (keys[i] == 283) macroControl[22] = false;
else if (keys[i] == 284) macroControl[23] = false;
else if (keys[i] == 285) macroControl[24] = false;
else if (keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyRelease(i);
else
InputMethods.performKeyRelease(i);
@ -516,9 +569,8 @@ namespace DS4Control
int MouseDeltaX = 0;
int MouseDeltaY = 0;
Dictionary<DS4Controls, X360Controls> customButtons = Global.getCustomButtons(device);
//Dictionary<DS4Controls, X360Controls> customButtons = Global.getCustomButtons(device);
//foreach (KeyValuePair<DS4Controls, X360Controls> customButton in customButtons)
// resetToDefaultValue(customButton.Key, MappedState); // erase default mappings for things that are remapped
List<DS4Controls> Cross = new List<DS4Controls>();
List<DS4Controls> Circle = new List<DS4Controls>();
List<DS4Controls> Square = new List<DS4Controls>();
@ -544,7 +596,7 @@ namespace DS4Control
List<DS4Controls> RXP = new List<DS4Controls>();
List<DS4Controls> RYN = new List<DS4Controls>();
List<DS4Controls> RYP = new List<DS4Controls>();
foreach (KeyValuePair<DS4Controls, X360Controls> customButton in customButtons)
foreach (KeyValuePair<DS4Controls, X360Controls> customButton in Global.getCustomButtons(device))
{
if (shift == false ||
(Global.getShiftCustomMacro(device, customButton.Key) == "0" &&
@ -666,6 +718,31 @@ namespace DS4Control
}
}
}
if (macroControl[0]) MappedState.Cross = true;
if (macroControl[01]) MappedState.Circle = true;
if (macroControl[02]) MappedState.Square = true;
if (macroControl[03]) MappedState.Triangle = true;
if (macroControl[04]) MappedState.Options = true;
if (macroControl[05]) MappedState.Share = true;
if (macroControl[06]) MappedState.DpadUp = true;
if (macroControl[07]) MappedState.DpadDown =true;
if (macroControl[08]) MappedState.DpadLeft = true;
if (macroControl[09]) MappedState.DpadRight = true;
if (macroControl[10]) MappedState.PS = true;
if (macroControl[11]) MappedState.L1 = true;
if (macroControl[12]) MappedState.R1 = true;
if (macroControl[13]) MappedState.L2 = 255;
if (macroControl[14]) MappedState.R2 = 255;
if (macroControl[15]) MappedState.L3 = true;
if (macroControl[16]) MappedState.R3 = true;
if (macroControl[17]) MappedState.LX = 255;
if (macroControl[18]) MappedState.LX = 0;
if (macroControl[19]) MappedState.LY = 255;
if (macroControl[20]) MappedState.LY = 0;
if (macroControl[21]) MappedState.RX = 255;
if (macroControl[22]) MappedState.RX = 0;
if (macroControl[23]) MappedState.RY = 255;
if (macroControl[24]) MappedState.RY = 0;
foreach (DS4Controls dc in Cross)
if (getBoolMapping(dc, cState, eState, tp))
MappedState.Cross = true;
@ -809,35 +886,7 @@ namespace DS4Control
}
for (int i = 0; i < keys.Length; i++)
keys[i] = ushort.Parse(skeys[i]);
bool[] keydown = new bool[261];
if (keys.Length > 0 && keys[0] > 260 && keys[0] < 300)
{
if (keys[0] == 261 && !MappedState.Cross) MappedState.Cross = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 262 && !MappedState.Circle) MappedState.Circle = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 263 && !MappedState.Square) MappedState.Square = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 264 && !MappedState.Triangle) MappedState.Triangle = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 265 && !MappedState.DpadUp) MappedState.DpadUp = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 266 && !MappedState.DpadDown) MappedState.DpadDown = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 267 && !MappedState.DpadLeft) MappedState.DpadLeft = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 268 && !MappedState.DpadRight) MappedState.DpadRight = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 269 && !MappedState.Options) MappedState.Options = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 270 && !MappedState.Share) MappedState.Share = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 271 && !MappedState.PS) MappedState.PS = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 272 && !MappedState.L1) MappedState.L1 = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 273 && !MappedState.R1) MappedState.R1 = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 274 && MappedState.L2 == 0) MappedState.L2 = getByteMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 275 && MappedState.R2 == 0) MappedState.R2 = getByteMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 276 && !MappedState.L3) MappedState.L3 = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 277 && !MappedState.R3) MappedState.R3 = getBoolMapping(customKey.Key, cState, eState, tp);
if (keys[0] == 278 && LYChanged) MappedState.LY = getXYAxisMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 279 && LYChanged) MappedState.LY = getXYAxisMapping(device, customKey.Key, cState, eState, tp, true);
if (keys[0] == 280 && LXChanged) MappedState.LX = getXYAxisMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 281 && LXChanged) MappedState.LX = getXYAxisMapping(device, customKey.Key, cState, eState, tp, true);
if (keys[0] == 282 && RYChanged) MappedState.RY = getXYAxisMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 283 && RYChanged) MappedState.RY = getXYAxisMapping(device, customKey.Key, cState, eState, tp, true);
if (keys[0] == 284 && RXChanged) MappedState.RX = getXYAxisMapping(device, customKey.Key, cState, eState, tp);
if (keys[0] == 285 && RXChanged) MappedState.RX = getXYAxisMapping(device, customKey.Key, cState, eState, tp, true);
}
bool[] keydown = new bool[278];
if (!macrodone[DS4ControltoInt(customKey.Key)])
{
macrodone[DS4ControltoInt(customKey.Key)] = true;
@ -845,26 +894,76 @@ namespace DS4Control
{
if (keys[i] >= 300) //ints over 300 used to delay
await Task.Delay(keys[i] - 300);
else if (keys[i] < 261 && !keydown[keys[i]])
else if (!keydown[keys[i]])
{
if (keys[i] == 256) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_LEFTDOWN); //anything above 255 is not a keyvalue
else if (keys[i] == 257) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_RIGHTDOWN);
else if (keys[i] == 258) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_MIDDLEDOWN);
else if (keys[i] == 259) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONDOWN, 1);
else if (keys[i] == 260) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONDOWN, 2);
else if (keys[i] == 261) macroControl[0] = true;
else if (keys[i] == 262) macroControl[1] = true;
else if (keys[i] == 263) macroControl[2] = true;
else if (keys[i] == 264) macroControl[3] = true;
else if (keys[i] == 265) macroControl[4] = true;
else if (keys[i] == 266) macroControl[5] = true;
else if (keys[i] == 267) macroControl[6] = true;
else if (keys[i] == 268) macroControl[7] = true;
else if (keys[i] == 269) macroControl[8] = true;
else if (keys[i] == 270) macroControl[9] = true;
else if (keys[i] == 271) macroControl[10] = true;
else if (keys[i] == 272) macroControl[11] = true;
else if (keys[i] == 273) macroControl[12] = true;
else if (keys[i] == 274) macroControl[13] = true;
else if (keys[i] == 275) macroControl[14] = true;
else if (keys[i] == 276) macroControl[15] = true;
else if (keys[i] == 277) macroControl[16] = true;
else if (keys[i] == 278) macroControl[17] = true;
else if (keys[i] == 279) macroControl[18] = true;
else if (keys[i] == 280) macroControl[19] = true;
else if (keys[i] == 281) macroControl[20] = true;
else if (keys[i] == 282) macroControl[21] = true;
else if (keys[i] == 283) macroControl[22] = true;
else if (keys[i] == 284) macroControl[23] = true;
else if (keys[i] == 285) macroControl[24] = true;
else if (keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyPress((ushort)keys[i]);
else
InputMethods.performKeyPress((ushort)keys[i]);
keydown[keys[i]] = true;
}
else if (keys[i] < 261)
else
{
if (keys[i] == 256) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_LEFTUP); //anything above 255 is not a keyvalue
else if (keys[i] == 257) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_RIGHTUP);
else if (keys[i] == 258) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_MIDDLEUP);
else if (keys[i] == 259) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONUP, 1);
else if (keys[i] == 260) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONUP, 2);
else if (keys[i] == 261) macroControl[0] = false;
else if (keys[i] == 262) macroControl[1] = false;
else if (keys[i] == 263) macroControl[2] = false;
else if (keys[i] == 264) macroControl[3] = false;
else if (keys[i] == 265) macroControl[4] = false;
else if (keys[i] == 266) macroControl[5] = false;
else if (keys[i] == 267) macroControl[6] = false;
else if (keys[i] == 268) macroControl[7] = false;
else if (keys[i] == 269) macroControl[8] = false;
else if (keys[i] == 270) macroControl[9] = false;
else if (keys[i] == 271) macroControl[10] = false;
else if (keys[i] == 272) macroControl[11] = false;
else if (keys[i] == 273) macroControl[12] = false;
else if (keys[i] == 274) macroControl[13] = false;
else if (keys[i] == 275) macroControl[14] = false;
else if (keys[i] == 276) macroControl[15] = false;
else if (keys[i] == 277) macroControl[16] = false;
else if (keys[i] == 278) macroControl[17] = false;
else if (keys[i] == 279) macroControl[18] = false;
else if (keys[i] == 280) macroControl[19] = false;
else if (keys[i] == 281) macroControl[20] = false;
else if (keys[i] == 282) macroControl[21] = false;
else if (keys[i] == 283) macroControl[22] = false;
else if (keys[i] == 284) macroControl[23] = false;
else if (keys[i] == 285) macroControl[24] = false;
else if (keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyRelease((ushort)keys[i]);
else
@ -875,7 +974,37 @@ namespace DS4Control
for (ushort i = 0; i < keydown.Length; i++)
{
if (keydown[i])
if (keyType.HasFlag(DS4KeyType.ScanCode))
if (i == 256) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_LEFTUP); //anything above 255 is not a keyvalue
else if (i == 257) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_RIGHTUP);
else if (i == 258) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_MIDDLEUP);
else if (i == 259) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONUP, 1);
else if (i == 260) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONUP, 2);
else if (i == 261) macroControl[0] = false;
else if (i == 262) macroControl[1] = false;
else if (i == 263) macroControl[2] = false;
else if (i == 264) macroControl[3] = false;
else if (i == 265) macroControl[4] = false;
else if (i == 266) macroControl[5] = false;
else if (i == 267) macroControl[6] = false;
else if (i == 268) macroControl[7] = false;
else if (i == 269) macroControl[8] = false;
else if (i == 270) macroControl[9] = false;
else if (i == 271) macroControl[10] = false;
else if (i == 272) macroControl[11] = false;
else if (i == 273) macroControl[12] = false;
else if (i == 274) macroControl[13] = false;
else if (i == 275) macroControl[14] = false;
else if (i == 276) macroControl[15] = false;
else if (i == 277) macroControl[16] = false;
else if (keys[i] == 278) macroControl[17] = false;
else if (keys[i] == 279) macroControl[18] = false;
else if (keys[i] == 280) macroControl[19] = false;
else if (keys[i] == 281) macroControl[20] = false;
else if (keys[i] == 282) macroControl[21] = false;
else if (keys[i] == 283) macroControl[22] = false;
else if (keys[i] == 284) macroControl[23] = false;
else if (keys[i] == 285) macroControl[24] = false;
else if (keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyRelease(i);
else
InputMethods.performKeyRelease(i);
@ -1069,7 +1198,31 @@ namespace DS4Control
break;
}
}
Console.WriteLine(Cross.Count);
if (macroControl[0]) MappedState.Cross = true;
if (macroControl[1]) MappedState.Circle = true;
if (macroControl[2]) MappedState.Square = true;
if (macroControl[3]) MappedState.Triangle = true;
if (macroControl[4]) MappedState.Options = true;
if (macroControl[5]) MappedState.Share = true;
if (macroControl[6]) MappedState.DpadUp = true;
if (macroControl[7]) MappedState.DpadDown = true;
if (macroControl[8]) MappedState.DpadLeft = true;
if (macroControl[9]) MappedState.DpadRight = true;
if (macroControl[10]) MappedState.PS = true;
if (macroControl[11]) MappedState.L1 = true;
if (macroControl[12]) MappedState.R1 = true;
if (macroControl[13]) MappedState.L2 = 255;
if (macroControl[14]) MappedState.R2 = 255;
if (macroControl[15]) MappedState.L3 = true;
if (macroControl[16]) MappedState.R3 = true;
if (macroControl[17]) MappedState.LX = 255;
if (macroControl[18]) MappedState.LX = 0;
if (macroControl[19]) MappedState.LY = 255;
if (macroControl[20]) MappedState.LY = 0;
if (macroControl[21]) MappedState.RX = 255;
if (macroControl[22]) MappedState.RX = 0;
if (macroControl[23]) MappedState.RY = 255;
if (macroControl[24]) MappedState.RY = 0;
foreach (DS4Controls dc in Cross)
if (getBoolMapping(dc, cState, eState, tp))
MappedState.Cross = true;
@ -1236,38 +1389,6 @@ namespace DS4Control
if (rightsitcklive)
value = (cState.RY - 127) / 2550d * speed;
break;
/*case DS4Controls.LXNeg:
if (cState.LX < 127 - deadzone)
value = Math.Pow(root + speed / divide, -(cState.LX - 127)) - 1;
break;
case DS4Controls.LXPos:
if (cState.LX > 127 + deadzone)
value = Math.Pow(root + speed / divide, (cState.LX - 127)) -1;
break;
case DS4Controls.RXNeg:
if (cState.RX < 127 - deadzone)
value = Math.Pow(root + speed / divide, -(cState.RX - 127)) - 1;
break;
case DS4Controls.RXPos:
if (cState.RX > 127 + deadzone)
value = Math.Pow(root + speed / divide, (cState.RX - 127)) - 1;
break;
case DS4Controls.LYNeg:
if (cState.LY < 127 - deadzone)
value = Math.Pow(root + speed / divide, -(cState.LY - 127)) - 1;
break;
case DS4Controls.LYPos:
if (cState.LY > 127 + deadzone)
value = Math.Pow(root + speed / divide,(cState.LY - 127)) - 1;
break;
case DS4Controls.RYNeg:
if (cState.RY < 127 - deadzone)
value = Math.Pow(root + speed / divide,-(cState.RY - 127)) - 1;
break;
case DS4Controls.RYPos:
if (cState.RY > 127 + deadzone)
value = Math.Pow(root + speed / divide, (cState.RY - 127)) - 1;
break;*/
case DS4Controls.Share: value = (cState.Share ? Math.Pow(root + speed / divide, 100) - 1 : 0); break;
case DS4Controls.Options: value = (cState.Options ? Math.Pow(root + speed / divide, 100) - 1 : 0); break;
case DS4Controls.L1: value = (cState.L1 ? Math.Pow(root + speed / divide, 100) - 1 : 0); break;

View File

@ -16,6 +16,7 @@ namespace DS4Control
private readonly MouseCursor cursor;
private readonly MouseWheel wheel;
private bool tappedOnce = false, secondtouchbegin = false;
public bool swipeLeft, swipeRight, swipeUp, swipeDown;
public bool slideleft, slideright;
// touch area stuff
public bool leftDown, rightDown, upperDown, multiDown;
@ -39,6 +40,15 @@ namespace DS4Control
{
cursor.touchesMoved(arg);
wheel.touchesMoved(arg);
if (!(swipeUp || swipeDown || swipeLeft || swipeRight))
{
if (arg.touches[0].hwX - firstTouch.hwX > 200) swipeRight = true;
if (arg.touches[0].hwX - firstTouch.hwX < -200) swipeLeft = true;
if (arg.touches[0].hwY - firstTouch.hwY > 100) swipeDown = true;
if (arg.touches[0].hwY - firstTouch.hwY < -100) swipeUp = true;
}
/*if ((swipeUp || swipeDown || swipeLeft || swipeRight))
Console.WriteLine("Up " + swipeUp + " Down " + swipeDown + " Left " + swipeLeft + " Right " + swipeRight);*/
if (Math.Abs(firstTouch.hwY - arg.touches[0].hwY) < 50)
if (arg.touches.Length == 2)
if (arg.touches[0].hwX - firstTouch.hwX > 200 && !slideleft)
@ -47,8 +57,6 @@ namespace DS4Control
slideleft = true;
dev.getCurrentState(s);
synthesizeMouseButtons();
//if (arg.touches.Length == 2)
// Console.WriteLine("Left " + slideleft + " Right " + slideright);
}
public virtual void touchesBegan(object sender, TouchpadEventArgs arg)
{
@ -64,12 +72,11 @@ namespace DS4Control
}
dev.getCurrentState(s);
synthesizeMouseButtons();
//Console.WriteLine(arg.timeStamp.ToString("O") + " " + "began at " + arg.touches[0].hwX + "," + arg.touches[0].hwY);
}
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;
swipeUp = swipeDown = swipeLeft = swipeRight = false;
if (Global.getTapSensitivity(deviceNum) != 0)
{
@ -91,7 +98,6 @@ namespace DS4Control
Mapping.MapClick(deviceNum, Mapping.Click.Left); //this way no delay if disabled
}
dev.getCurrentState(s);
//if (buttonLock)
synthesizeMouseButtons();
}

View File

@ -1,6 +1,6 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2013 for Windows Desktop
# Visual Studio 2013
VisualStudioVersion = 12.0.30501.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DS4Library", "DS4Library\DS4Library.csproj", "{43E14DAD-E6E8-4B66-AC50-20F5CF9B9712}"

View File

@ -1,6 +1,6 @@
namespace ScpServer
{
partial class ScpForm
partial class DS4Form
{
/// <summary>
/// Required designer variable.
@ -29,7 +29,7 @@
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ScpForm));
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DS4Form));
this.lvDebug = new System.Windows.Forms.ListView();
this.chTime = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chData = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
@ -226,6 +226,7 @@
//
// cMTaskbar
//
this.cMTaskbar.ImageScalingSize = new System.Drawing.Size(24, 24);
this.cMTaskbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.editProfileForController1ToolStripMenuItem,
this.editProfileForController2ToolStripMenuItem,
@ -535,6 +536,7 @@
//
// cMProfile
//
this.cMProfile.ImageScalingSize = new System.Drawing.Size(24, 24);
this.cMProfile.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.editToolStripMenuItem,
this.assignToController1ToolStripMenuItem,
@ -881,7 +883,7 @@
//
resources.ApplyResources(this.saveProfiles, "saveProfiles");
//
// ScpForm
// DS4Form
//
this.AllowDrop = true;
resources.ApplyResources(this, "$this");
@ -889,7 +891,7 @@
this.BackColor = System.Drawing.Color.White;
this.Controls.Add(this.tabMain);
this.Controls.Add(this.pnlButton);
this.Name = "ScpForm";
this.Name = "DS4Form";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ScpForm_Closing);
this.DragDrop += new System.Windows.Forms.DragEventHandler(this.ScpForm_DragDrop);
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.ScpForm_DragEnter);

View File

@ -16,7 +16,7 @@ using System.Text;
using System.Globalization;
namespace ScpServer
{
public partial class ScpForm : Form
public partial class DS4Form : Form
{
public string[] arguements;
private DS4Control.Control rootHub;
@ -81,7 +81,7 @@ namespace ScpServer
[DllImport("psapi.dll")]
private static extern uint GetModuleFileNameEx(IntPtr hWnd, IntPtr hModule, StringBuilder lpFileName, int nSize);
public ScpForm(string[] args)
public DS4Form(string[] args)
{
InitializeComponent();
arguements = args;
@ -126,15 +126,15 @@ namespace ScpServer
Graphics g = this.CreateGraphics();
try
{
dpix = g.DpiX;
dpiy = g.DpiY;
dpix = g.DpiX / 100f * 1.041666666667f;
dpiy = g.DpiY / 100f * 1.041666666667f;
}
finally
{
g.Dispose();
}
Icon = Properties.Resources.DS4;
notifyIcon1.Icon = Properties.Resources.DS4;
Icon = Properties.Resources.DS4W;
notifyIcon1.Icon = Properties.Resources.DS4W;
rootHub = new DS4Control.Control();
rootHub.Debug += On_Debug;
Log.GuiLog += On_Debug;
@ -382,7 +382,6 @@ namespace ScpServer
if (!deriverinstalled)
{
//Console.WriteLine("yo");
WelcomeDialog wd = new WelcomeDialog();
wd.ShowDialog();
wd.FormClosed += delegate { btnStartStop_Clicked(false); btnStartStop_Clicked(false); };
@ -403,7 +402,7 @@ namespace ScpServer
FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location);
string version = fvi.FileVersion;
string newversion = File.ReadAllText(Global.appdatapath + "\\version.txt");
if (version.Replace(',', '.').CompareTo(File.ReadAllText(Global.appdatapath + "\\version.txt")) == -1)//CompareVersions();
if (version.Replace(',', '.').CompareTo(newversion) == -1)//CompareVersions();
if (MessageBox.Show(Properties.Resources.DownloadVersion.Replace("*number*", newversion), Properties.Resources.DS4Update, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
{
if (!File.Exists(exepath + "\\DS4Updater.exe") || (File.Exists(exepath + "\\DS4Updater.exe")
@ -652,7 +651,6 @@ namespace ScpServer
if (Pads[Index].Text != Properties.Resources.Connecting)
{
Enable_Controls(Index, true);
//Console.WriteLine(opt == null);
if (opt != null)
opt.inputtimer.Start();
//MinimumSize = new Size(MinimumSize.Width, 137 + 29 * Index);
@ -867,19 +865,19 @@ namespace ScpServer
lbLastMessage.Text = lvDebug.Items[lvDebug.Items.Count - 1].SubItems[1].Text;
};
oldsize = this.Size;
if (dpix == 120)
/*if (dpix == 120)
{
if (this.Size.Height < 90 + opt.MaximumSize.Height * 1.25)
this.Size = new System.Drawing.Size(this.Size.Width, (int)(90 + opt.MaximumSize.Height * 1.25));
if (this.Size.Width < 20 + opt.MaximumSize.Width * 1.25)
this.Size = new System.Drawing.Size((int)(20 + opt.Size.Width * 1.25), this.Size.Height);
}
else
else*/
{
if (this.Size.Height < 90 + opt.MaximumSize.Height)
this.Size = new System.Drawing.Size(this.Size.Width, 90 + opt.MaximumSize.Height);
if (this.Size.Width < 20 + opt.MaximumSize.Width)
this.Size = new System.Drawing.Size(20 + opt.MaximumSize.Width, this.Size.Height);
if (this.Size.Height < (int)(90 * dpiy) + opt.MaximumSize.Height)
this.Size = new System.Drawing.Size(this.Size.Width, (int)(90 * dpiy) + opt.MaximumSize.Height);
if (this.Size.Width < (int)(20 * dpix) + opt.MaximumSize.Width)
this.Size = new System.Drawing.Size((int)(20 * dpix) + opt.MaximumSize.Width, this.Size.Height);
}
tabMain.SelectedIndex = 1;
}

View File

@ -142,7 +142,7 @@
<value>3, 3</value>
</data>
<data name="lvDebug.Size" type="System.Drawing.Size, System.Drawing">
<value>891, 330</value>
<value>890, 330</value>
</data>
<data name="lvDebug.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -169,7 +169,7 @@
<value>True</value>
</data>
<data name="lBTest.Location" type="System.Drawing.Point, System.Drawing">
<value>651, 9</value>
<value>649, 9</value>
</data>
<data name="lBTest.Size" type="System.Drawing.Size, System.Drawing">
<value>98, 13</value>
@ -199,7 +199,7 @@
<value>Bottom, Right</value>
</data>
<data name="btnStartStop.Location" type="System.Drawing.Point, System.Drawing">
<value>840, 4</value>
<value>839, 4</value>
</data>
<data name="btnStartStop.Size" type="System.Drawing.Size, System.Drawing">
<value>58, 23</value>
@ -229,7 +229,7 @@
<value>4, 9</value>
</data>
<data name="lbLastMessage.Size" type="System.Drawing.Size, System.Drawing">
<value>745, 18</value>
<value>744, 18</value>
</data>
<data name="lbLastMessage.TabIndex" type="System.Int32, mscorlib">
<value>41</value>
@ -253,7 +253,7 @@
<value>True</value>
</data>
<data name="llbHelp.Location" type="System.Drawing.Point, System.Drawing">
<value>755, 9</value>
<value>753, 9</value>
</data>
<data name="llbHelp.Size" type="System.Drawing.Size, System.Drawing">
<value>79, 13</value>
@ -283,7 +283,7 @@
<value>0, 385</value>
</data>
<data name="pnlButton.Size" type="System.Drawing.Size, System.Drawing">
<value>905, 30</value>
<value>904, 30</value>
</data>
<data name="pnlButton.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
@ -310,7 +310,7 @@
<value>3, 333</value>
</data>
<data name="btnClear.Size" type="System.Drawing.Size, System.Drawing">
<value>891, 23</value>
<value>890, 23</value>
</data>
<data name="btnClear.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@ -6646,7 +6646,7 @@
</value>
</data>
<data name="pBStatus1.Location" type="System.Drawing.Point, System.Drawing">
<value>425, 19</value>
<value>424, 19</value>
</data>
<data name="pBStatus1.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 20</value>
@ -6739,7 +6739,7 @@
<value>Left</value>
</data>
<data name="bnEditC3.Location" type="System.Drawing.Point, System.Drawing">
<value>856, 76</value>
<value>854, 76</value>
</data>
<data name="bnEditC3.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 23</value>
@ -6766,7 +6766,7 @@
<value>Left</value>
</data>
<data name="bnEditC4.Location" type="System.Drawing.Point, System.Drawing">
<value>856, 105</value>
<value>854, 105</value>
</data>
<data name="bnEditC4.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 23</value>
@ -6859,7 +6859,7 @@
<value>None</value>
</data>
<data name="cBController1.Location" type="System.Drawing.Point, System.Drawing">
<value>739, 19</value>
<value>737, 19</value>
</data>
<data name="cBController1.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 21</value>
@ -6883,7 +6883,7 @@
<value>Left</value>
</data>
<data name="bnEditC2.Location" type="System.Drawing.Point, System.Drawing">
<value>856, 47</value>
<value>854, 47</value>
</data>
<data name="bnEditC2.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 23</value>
@ -6910,7 +6910,7 @@
<value>None</value>
</data>
<data name="cBController2.Location" type="System.Drawing.Point, System.Drawing">
<value>739, 48</value>
<value>737, 48</value>
</data>
<data name="cBController2.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 21</value>
@ -6934,7 +6934,7 @@
<value>None</value>
</data>
<data name="cBController3.Location" type="System.Drawing.Point, System.Drawing">
<value>739, 77</value>
<value>737, 77</value>
</data>
<data name="cBController3.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 21</value>
@ -6958,7 +6958,7 @@
<value>Left</value>
</data>
<data name="bnEditC1.Location" type="System.Drawing.Point, System.Drawing">
<value>856, 18</value>
<value>854, 18</value>
</data>
<data name="bnEditC1.Size" type="System.Drawing.Size, System.Drawing">
<value>37, 23</value>
@ -6985,7 +6985,7 @@
<value>None</value>
</data>
<data name="cBController4.Location" type="System.Drawing.Point, System.Drawing">
<value>739, 106</value>
<value>737, 106</value>
</data>
<data name="cBController4.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 21</value>
@ -7015,7 +7015,7 @@
<value>Microsoft Sans Serif, 9pt, style=Bold</value>
</data>
<data name="lBSelectedProfile.Location" type="System.Drawing.Point, System.Drawing">
<value>740, 0</value>
<value>738, 0</value>
</data>
<data name="lBSelectedProfile.Size" type="System.Drawing.Size, System.Drawing">
<value>109, 15</value>
@ -7081,7 +7081,7 @@
<value>Microsoft Sans Serif, 9pt, style=Bold</value>
</data>
<data name="lBStatus.Location" type="System.Drawing.Point, System.Drawing">
<value>421, 0</value>
<value>420, 0</value>
</data>
<data name="lBStatus.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 15</value>
@ -7114,7 +7114,7 @@
<value>Microsoft Sans Serif, 9pt, style=Bold</value>
</data>
<data name="lBBattery.Location" type="System.Drawing.Point, System.Drawing">
<value>617, 0</value>
<value>615, 0</value>
</data>
<data name="lBBattery.Size" type="System.Drawing.Size, System.Drawing">
<value>51, 15</value>
@ -7147,7 +7147,7 @@
<value>Microsoft Sans Serif, 9pt</value>
</data>
<data name="lBBatt1.Location" type="System.Drawing.Point, System.Drawing">
<value>623, 22</value>
<value>621, 22</value>
</data>
<data name="lBBatt1.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 15</value>
@ -7180,7 +7180,7 @@
<value>Microsoft Sans Serif, 9pt</value>
</data>
<data name="lBBatt2.Location" type="System.Drawing.Point, System.Drawing">
<value>623, 51</value>
<value>621, 51</value>
</data>
<data name="lBBatt2.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 15</value>
@ -7213,7 +7213,7 @@
<value>Microsoft Sans Serif, 9pt</value>
</data>
<data name="lBBatt3.Location" type="System.Drawing.Point, System.Drawing">
<value>623, 80</value>
<value>621, 80</value>
</data>
<data name="lBBatt3.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 15</value>
@ -7246,7 +7246,7 @@
<value>Microsoft Sans Serif, 9pt</value>
</data>
<data name="lBBatt4.Location" type="System.Drawing.Point, System.Drawing">
<value>623, 109</value>
<value>621, 109</value>
</data>
<data name="lBBatt4.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 15</value>
@ -7329,7 +7329,7 @@
</value>
</data>
<data name="pBStatus2.Location" type="System.Drawing.Point, System.Drawing">
<value>425, 48</value>
<value>424, 48</value>
</data>
<data name="pBStatus2.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 20</value>
@ -7412,7 +7412,7 @@
</value>
</data>
<data name="pBStatus3.Location" type="System.Drawing.Point, System.Drawing">
<value>425, 77</value>
<value>424, 77</value>
</data>
<data name="pBStatus3.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 20</value>
@ -7495,7 +7495,7 @@
</value>
</data>
<data name="pBStatus4.Location" type="System.Drawing.Point, System.Drawing">
<value>425, 106</value>
<value>424, 106</value>
</data>
<data name="pBStatus4.Size" type="System.Drawing.Size, System.Drawing">
<value>39, 20</value>
@ -7528,7 +7528,7 @@
<value>5</value>
</data>
<data name="tLPControllers.Size" type="System.Drawing.Size, System.Drawing">
<value>897, 130</value>
<value>896, 130</value>
</data>
<data name="tLPControllers.TabIndex" type="System.Int32, mscorlib">
<value>46</value>
@ -7552,7 +7552,7 @@
<value>4, 22</value>
</data>
<data name="tabControllers.Size" type="System.Drawing.Size, System.Drawing">
<value>897, 359</value>
<value>896, 359</value>
</data>
<data name="tabControllers.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@ -7660,7 +7660,7 @@
<value>3, 53</value>
</data>
<data name="lBProfiles.Size" type="System.Drawing.Size, System.Drawing">
<value>891, 303</value>
<value>890, 303</value>
</data>
<data name="lBProfiles.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -7726,7 +7726,7 @@
<value>3, 28</value>
</data>
<data name="tSOptions.Size" type="System.Drawing.Size, System.Drawing">
<value>891, 25</value>
<value>890, 25</value>
</data>
<data name="tSOptions.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@ -7758,9 +7758,6 @@
<data name="tsBNewProfle.Text" xml:space="preserve">
<value>New</value>
</data>
<data name="tsBNewProfle.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>TopLeft</value>
</data>
<data name="tsBNewProfle.ToolTipText" xml:space="preserve">
<value>Make a New Profile</value>
</data>
@ -7773,9 +7770,6 @@
<data name="tsBEditProfile.Text" xml:space="preserve">
<value>Edit</value>
</data>
<data name="tsBEditProfile.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>TopLeft</value>
</data>
<data name="tsBEditProfile.ToolTipText" xml:space="preserve">
<value>Edit Selected Profile (Enter)</value>
</data>
@ -7799,9 +7793,6 @@
<data name="tsBDeleteProfile.Text" xml:space="preserve">
<value>Delete</value>
</data>
<data name="tsBDeleteProfile.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>TopLeft</value>
</data>
<data name="tsBDeleteProfile.ToolTipText" xml:space="preserve">
<value>Delete Selected Profle (Delete)</value>
</data>
@ -7824,9 +7815,6 @@
<data name="tSBDupProfile.Text" xml:space="preserve">
<value>Duplicate</value>
</data>
<data name="tSBDupProfile.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>TopLeft</value>
</data>
<data name="tSBDupProfile.ToolTipText" xml:space="preserve">
<value>Dupliacate Selected Profile (Ctrl+C)</value>
</data>
@ -7872,7 +7860,7 @@
<value>3, 3</value>
</data>
<data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>891, 25</value>
<value>890, 25</value>
</data>
<data name="toolStrip1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -7899,7 +7887,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="tabProfiles.Size" type="System.Drawing.Size, System.Drawing">
<value>897, 359</value>
<value>896, 359</value>
</data>
<data name="tabProfiles.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -7923,7 +7911,7 @@
<value>4, 22</value>
</data>
<data name="tabAutoProfiles.Size" type="System.Drawing.Size, System.Drawing">
<value>897, 359</value>
<value>896, 359</value>
</data>
<data name="tabAutoProfiles.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@ -8418,7 +8406,7 @@
<value>7, 7, 0, 9</value>
</data>
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>891, 353</value>
<value>890, 353</value>
</data>
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -8442,7 +8430,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="tabSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>897, 359</value>
<value>896, 359</value>
</data>
<data name="tabSettings.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@ -8469,7 +8457,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="tabLog.Size" type="System.Drawing.Size, System.Drawing">
<value>897, 359</value>
<value>896, 359</value>
</data>
<data name="tabLog.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -8496,7 +8484,7 @@
<value>0, 0</value>
</data>
<data name="tabMain.Size" type="System.Drawing.Size, System.Drawing">
<value>905, 385</value>
<value>904, 385</value>
</data>
<data name="tabMain.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
@ -8526,10 +8514,10 @@
<value>96, 96</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>905, 415</value>
<value>904, 415</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>440, 231</value>
<value>438, 225</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>DS4Windows</value>
@ -8757,7 +8745,7 @@
<value>System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ScpForm</value>
<value>DS4Form</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

View File

@ -55,7 +55,7 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>Resources\DS4.ico</ApplicationIcon>
<ApplicationIcon>DS4W.ico</ApplicationIcon>
</PropertyGroup>
<PropertyGroup />
<PropertyGroup>
@ -76,6 +76,11 @@
<PropertyGroup>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
</PropertyGroup>
<PropertyGroup />
<PropertyGroup />
<PropertyGroup />
<PropertyGroup />
<PropertyGroup />
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
@ -142,11 +147,11 @@
<Compile Include="SaveWhere.Designer.cs">
<DependentUpon>SaveWhere.cs</DependentUpon>
</Compile>
<Compile Include="ScpForm.cs">
<Compile Include="DS4Form.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="ScpForm.Designer.cs">
<DependentUpon>ScpForm.cs</DependentUpon>
<Compile Include="DS4Form.Designer.cs">
<DependentUpon>DS4Form.cs</DependentUpon>
</Compile>
<Compile Include="Settings.cs" />
<Compile Include="WelcomeDialog.cs">
@ -214,14 +219,15 @@
<EmbeddedResource Include="SaveWhere.resx">
<DependentUpon>SaveWhere.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ScpForm.es.resx">
<DependentUpon>ScpForm.cs</DependentUpon>
<EmbeddedResource Include="DS4Form.es.resx">
<DependentUpon>DS4Form.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="ScpForm.fr-FR.resx">
<DependentUpon>ScpForm.cs</DependentUpon>
<EmbeddedResource Include="DS4Form.fr-FR.resx">
<DependentUpon>DS4Form.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ScpForm.resx">
<DependentUpon>ScpForm.cs</DependentUpon>
<EmbeddedResource Include="DS4Form.resx">
<DependentUpon>DS4Form.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="WelcomeDialog.fr-FR.resx">
<DependentUpon>WelcomeDialog.cs</DependentUpon>
@ -288,6 +294,7 @@
<None Include="Resources\DOWN.png" />
<None Include="Resources\360 fades.png" />
<None Include="Resources\checked.png" />
<Content Include="DS4W.ico" />
<Content Include="Resources\DS4.ico" />
<None Include="Resources\mouse.png" />
<None Include="Resources\rainbow.png" />
@ -318,6 +325,7 @@
<None Include="Resources\RSU.png" />
<None Include="Resources\RT.png" />
<None Include="Resources\Red Circle.png" />
<None Include="Resources\DS4W.ico" />
<Content Include="Resources\Scp_All.ico" />
</ItemGroup>
<ItemGroup>

BIN
DS4Tool/DS4W.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

View File

@ -6,7 +6,7 @@ using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DS4Control;
namespace ScpServer
{
public partial class KBM360 : Form
@ -18,6 +18,7 @@ namespace ScpServer
public List<string> macros = new List<string>();
public List<int> macrostag = new List<int>();
public bool macrorepeat;
RecordBox rb;
public KBM360(DS4Control.Control bus_device, int deviceNum, Options ooo, Button buton)
{
InitializeComponent();
@ -27,8 +28,12 @@ namespace ScpServer
button = buton;
cbToggle.Checked = button.Font.Italic;
cbScanCode.Checked = button.Font.Bold;
//cBMacro.Checked = button.Font.Underline;
lBMacroOn.Visible = button.Font.Underline;
if (button.Font.Underline)
{
lBMacroOn.Visible = true;
foreach (int i in ((int[])button.Tag))
macrostag.Add(i);
}
if (button.Name.StartsWith("bn"))
Text = Properties.Resources.SelectActionTitle.Replace("*action*", button.Name.Substring(2));
else if (button.Name.StartsWith("bnHold"))
@ -53,10 +58,10 @@ namespace ScpServer
}
ActiveControl = null;
}
public void anybtn_Click(object sender, EventArgs e)
{
if (sender is Button && ((Button)sender).Name != "btnMacro")
if (rb == null && sender is Button && ((Button)sender).Name != "bnMacro")
{
Button bn = ((Button)sender);
string keyname;
@ -95,6 +100,12 @@ namespace ScpServer
private void finalMeasure(object sender, FormClosedEventArgs e)
{
if (rb != null)
{
if (!rb.saved && rb.macros.Count > 0)
if (MessageBox.Show(Properties.Resources.SaveRecordedMacro, "DS4Windows", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
rb.btnSave_Click(this, null);
}
if (lBMacroOn.Visible)
ops.ChangeButtonText("Macro", macrostag.ToArray());
ops.Toggle_Bn(cbScanCode.Checked, cbToggle.Checked, lBMacroOn.Visible, macrorepeat);
@ -103,16 +114,22 @@ namespace ScpServer
private void Key_Down_Action(object sender, KeyEventArgs e)
{
lBMacroOn.Visible = false;
ops.ChangeButtonText(e.KeyCode.ToString(), e.KeyValue);
this.Close();
if (rb == null)
{
lBMacroOn.Visible = false;
ops.ChangeButtonText(e.KeyCode.ToString(), e.KeyValue);
this.Close();
}
}
private void Key_Press_Action(object sender, KeyEventArgs e)
{
lBMacroOn.Visible = false;
ops.ChangeButtonText(e.KeyCode.ToString(), e.KeyValue);
this.Close();
if (rb == null)
{
lBMacroOn.Visible = false;
ops.ChangeButtonText(e.KeyCode.ToString(), e.KeyValue);
this.Close();
}
}
private void cbToggle_CheckedChanged(object sender, EventArgs e)
@ -122,11 +139,16 @@ namespace ScpServer
}
private void btnMacro_Click(object sender, EventArgs e)
{
RecordBox rb = new RecordBox(this);
rb.StartPosition = FormStartPosition.Manual;
rb.Location = new Point(this.Location.X + 580, this.Location.Y+ 55);
rb.ShowDialog();
{
rb = new RecordBox(this, scpDevice);
rb.TopLevel = false;
rb.Dock = DockStyle.Fill;
rb.Visible = true;
Controls.Add(rb);
rb.BringToFront();
//rb.StartPosition = FormStartPosition.Manual;
//rb.Location = new Point(this.Location.X + 580, this.Location.Y+ 55);
//rb.Show();
}
protected override bool IsInputKey(Keys keyData)

View File

@ -14,8 +14,8 @@ namespace ScpServer
public partial class MessageTextBox : Form
{
public string oldfilename;
ScpForm yes;
public MessageTextBox(string name, ScpForm mainwindow)
DS4Form yes;
public MessageTextBox(string name, DS4Form mainwindow)
{
InitializeComponent();
oldfilename = name;

File diff suppressed because it is too large Load Diff

View File

@ -21,10 +21,16 @@ namespace ScpServer
private Color reg, full;
private Image colored, greyscale;
ToolTip tp = new ToolTip();
Graphics g;
ScpForm root;
DS4Form root;
bool olddinputcheck = false;
public Options(DS4Control.Control bus_device, int deviceNum, string name, ScpForm rt)
Image L = Properties.Resources.LeftTouch;
Image R = Properties.Resources.RightTouch;
Image M = Properties.Resources.MultiTouch;
Image U = Properties.Resources.UpperTouch;
private float dpix;
private float dpiy;
public Options(DS4Control.Control bus_device, int deviceNum, string name, DS4Form rt)
{
InitializeComponent();
device = deviceNum;
@ -32,7 +38,17 @@ namespace ScpServer
filename = name;
colored = pBRainbow.Image;
root = rt;
g = CreateGraphics();
Graphics g = this.CreateGraphics();
try
{
dpix = g.DpiX / 100f * 1.041666666667f;
dpiy = g.DpiY / 100f * 1.041666666667f;
}
finally
{
g.Dispose();
}
greyscale = GreyscaleImage((Bitmap)pBRainbow.Image);
foreach (System.Windows.Forms.Control control in pnlMain.Controls)
if (control is Button && !((Button)control).Name.Contains("btn"))
@ -88,7 +104,7 @@ namespace ScpServer
nUDflashLED.Value = Global.getFlashAt(device);
pnlLowBattery.Visible = cBLightbyBattery.Checked;
lbFull.Text = (cBLightbyBattery.Checked ? "Full:" : "Color:");
pnlFull.Location = (cBLightbyBattery.Checked ? new Point(pnlFull.Location.X, 42) : new Point(pnlFull.Location.X, 48));
pnlFull.Location = (cBLightbyBattery.Checked ? new Point(pnlFull.Location.X, (int)(dpix * 42)) : new Point(pnlFull.Location.X, (int)(dpiy * 48)));
DS4Color lowColor = Global.loadLowColor(device);
tBLowRedBar.Value = lowColor.red;
@ -200,7 +216,6 @@ namespace ScpServer
sixaxisTimer.Interval = 1000 / 60;
}
void sixaxisTimer_Tick(object sender, EventArgs e)
{
// MEMS gyro data is all calibrated to roughly -1G..1G for values -0x2000..0x1fff
@ -223,15 +238,15 @@ namespace ScpServer
SetDynamicTrackBarValue(tBsixaxisAccelZ, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].AccelZ + tBsixaxisAccelZ.Value * 2) / 3);
int x = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).LX;
int y = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).LY;
btnLSTrack.Location = new Point((int)(x / 2.09 + lbLSTrack.Location.X), (int)(y / 2.09 + lbLSTrack.Location.Y));
btnLSTrack.Location = new Point((int)(dpix * x / 2.09 + lbLSTrack.Location.X), (int)(dpiy * y / 2.09 + lbLSTrack.Location.Y));
x = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).RX;
y = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).RY;
btnRSTrack.Location = new Point((int)(x / 2.09 + lbRSTrack.Location.X), (int)(y / 2.09 + lbRSTrack.Location.Y));
btnRSTrack.Location = new Point((int)(dpix * x / 2.09 + lbRSTrack.Location.X), (int)(dpiy * y / 2.09 + lbRSTrack.Location.Y));
x = -scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].GyroX / 62 + 127;
y = scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].GyroZ / 62 + 127;
btnSATrack.Location = new Point((int)(x / 2.09 + lbSATrack.Location.X), (int)(y / 2.09 + lbSATrack.Location.Y));
btnSATrack.Location = new Point((int)(dpix * x / 2.09 + lbSATrack.Location.X), (int)(dpiy * y / 2.09 + lbSATrack.Location.Y));
tBL2.Value = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).L2;
lbL2Track.Location = new Point(tBL2.Location.X - 15, (int)(24 - tBL2.Value / 10.625) + 10);
lbL2Track.Location = new Point(tBL2.Location.X - (int)(dpix * 15), (int)((dpix * (24 - tBL2.Value / 10.625) + 10)));
if (tBL2.Value == 255)
lbL2Track.ForeColor = Color.Green;
else if (tBL2.Value < (double)nUDL2.Value * 255)
@ -239,7 +254,7 @@ namespace ScpServer
else
lbL2Track.ForeColor = Color.Black;
tBR2.Value = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).R2;
lbR2Track.Location = new Point(tBR2.Location.X + 20, (int)(24 - tBR2.Value / 10.625) + 10);
lbR2Track.Location = new Point(tBR2.Location.X + (int)(dpix * 20), (int)((dpix * (24 - tBR2.Value / 10.625) + 10)));
if (tBR2.Value == 255)
lbR2Track.ForeColor = Color.Green;
else if (tBR2.Value < (double)nUDR2.Value * 255)
@ -387,7 +402,7 @@ namespace ScpServer
{
pnlLowBattery.Visible = cBLightbyBattery.Checked;
lbFull.Text = (cBLightbyBattery.Checked ? Properties.Resources.Full + ":": Properties.Resources.Color + ":");
pnlFull.Location = (cBLightbyBattery.Checked ? new Point(pnlFull.Location.X, 42) : new Point(pnlFull.Location.X, 48));
pnlFull.Location = (cBLightbyBattery.Checked ? new Point(pnlFull.Location.X, (int)(dpix * 42)) : new Point(pnlFull.Location.X, (int)(dpiy * 48)));
Global.saveColor(device, (byte)tBRedBar.Value, (byte)tBGreenBar.Value, (byte)tBBlueBar.Value);
Global.saveLowColor(device, (byte)tBLowRedBar.Value, (byte)tBLowGreenBar.Value, (byte)tBLowBlueBar.Value);
Global.saveShiftColor(device, (byte)tBShiftRedBar.Value, (byte)tBShiftGreenBar.Value, (byte)tBShiftBlueBar.Value);
@ -565,10 +580,10 @@ namespace ScpServer
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
pBController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
Global.saveColor(device, (byte)tBRedBar.Value, (byte)tBGreenBar.Value, (byte)tBBlueBar.Value);
if (g.DpiX == 120)
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000);
//if (g.DpiX == 120)
//tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
//else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(dpix * 100), 0, 2000);
}
private void greenBar_ValueChanged(object sender, EventArgs e)
{
@ -581,10 +596,10 @@ namespace ScpServer
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
pBController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
Global.saveColor(device, (byte)tBRedBar.Value, (byte)tBGreenBar.Value, (byte)tBBlueBar.Value);
if (g.DpiX == 120)
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000);
//if (g.DpiX == 120)
//tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
//else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100*dpix), 0, 2000);
}
private void blueBar_ValueChanged(object sender, EventArgs e)
{
@ -597,10 +612,7 @@ namespace ScpServer
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
pBController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
Global.saveColor(device, (byte)tBRedBar.Value, (byte)tBGreenBar.Value, (byte)tBBlueBar.Value);
if (g.DpiX == 120)
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000);
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
}
private void lowRedBar_ValueChanged(object sender, EventArgs e)
@ -614,10 +626,7 @@ namespace ScpServer
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
lowColorChooserButton.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
Global.saveLowColor(device, (byte)tBLowRedBar.Value, (byte)tBLowGreenBar.Value, (byte)tBLowBlueBar.Value);
if (g.DpiX == 120)
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000);
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
}
private void lowGreenBar_ValueChanged(object sender, EventArgs e)
@ -631,10 +640,7 @@ namespace ScpServer
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
lowColorChooserButton.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
Global.saveLowColor(device, (byte)tBLowRedBar.Value, (byte)tBLowGreenBar.Value, (byte)tBLowBlueBar.Value);
if (g.DpiX == 120)
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000);
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
}
private void lowBlueBar_ValueChanged(object sender, EventArgs e)
@ -648,10 +654,7 @@ namespace ScpServer
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
lowColorChooserButton.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
Global.saveLowColor(device, (byte)tBLowRedBar.Value, (byte)tBLowGreenBar.Value, (byte)tBLowBlueBar.Value);
if (g.DpiX == 120)
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000);
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
}
private void shiftRedBar_ValueChanged(object sender, EventArgs e)
@ -665,10 +668,7 @@ namespace ScpServer
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
pBShiftController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
Global.saveShiftColor(device, (byte)tBShiftRedBar.Value, (byte)tBShiftGreenBar.Value, (byte)tBShiftBlueBar.Value);
if (g.DpiX == 120)
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000);
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
}
private void shiftGreenBar_ValueChanged(object sender, EventArgs e)
@ -682,10 +682,7 @@ namespace ScpServer
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
pBShiftController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
Global.saveShiftColor(device, (byte)tBShiftRedBar.Value, (byte)tBShiftGreenBar.Value, (byte)tBShiftBlueBar.Value);
if (g.DpiX == 120)
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000);
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
}
private void shiftBlueBar_ValueChanged(object sender, EventArgs e)
@ -699,10 +696,7 @@ namespace ScpServer
full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg);
pBShiftController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full);
Global.saveShiftColor(device, (byte)tBShiftRedBar.Value, (byte)tBShiftGreenBar.Value, (byte)tBShiftBlueBar.Value);
if (g.DpiX == 120)
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000);
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
}
public Color HuetoRGB(float hue, float light, Color rgb)
@ -761,7 +755,7 @@ namespace ScpServer
{
Global.setLedAsBatteryIndicator(device, cBLightbyBattery.Checked);
pnlLowBattery.Visible = cBLightbyBattery.Checked;
pnlFull.Location = (cBLightbyBattery.Checked ? new Point(pnlFull.Location.X, 42) : new Point(pnlFull.Location.X, 48));
pnlFull.Location = (cBLightbyBattery.Checked ? new Point(pnlFull.Location.X, (int)(dpix * 42)) : new Point(pnlFull.Location.X, (int)(dpiy * 48)));
lbFull.Text = (cBLightbyBattery.Checked ? Properties.Resources.Full + ":" : Properties.Resources.Color + ":");
}
@ -1125,7 +1119,7 @@ namespace ScpServer
{
pBSADeadzone.Visible = true;
pBSADeadzone.Size = new Size((int)(nUDSX.Value * 125), (int)(nUDSZ.Value * 125));
pBSADeadzone.Location = new Point(lbSATrack.Location.X + 63 - pBSADeadzone.Size.Width / 2, lbSATrack.Location.Y + 63 - pBSADeadzone.Size.Height / 2);
pBSADeadzone.Location = new Point(lbSATrack.Location.X + (int)(dpix * 63) - pBSADeadzone.Size.Width / 2, lbSATrack.Location.Y + (int)(dpix * 63) - pBSADeadzone.Size.Height / 2);
}
}
@ -1138,14 +1132,10 @@ namespace ScpServer
{
pBSADeadzone.Visible = true;
pBSADeadzone.Size = new Size((int)(nUDSX.Value * 125), (int)(nUDSZ.Value * 125));
pBSADeadzone.Location = new Point(lbSATrack.Location.X + 63 - pBSADeadzone.Size.Width / 2, lbSATrack.Location.Y + 63 - pBSADeadzone.Size.Height / 2);
pBSADeadzone.Location = new Point(lbSATrack.Location.X + (int)(dpix * 63) - pBSADeadzone.Size.Width / 2, lbSATrack.Location.Y + (int)(dpiy * 63) - pBSADeadzone.Size.Height / 2);
}
}
Image L = Properties.Resources.LeftTouch;
Image R = Properties.Resources.RightTouch;
Image M = Properties.Resources.MultiTouch;
Image U = Properties.Resources.UpperTouch;
private void bnTouchLeft_MouseHover(object sender, EventArgs e)
{
pBController.Image = L;
@ -1180,7 +1170,7 @@ namespace ScpServer
{
pBRSDeadzone.Visible = true;
pBRSDeadzone.Size = new Size((int)(nUDRS.Value * 125), (int)(nUDRS.Value * 125));
pBRSDeadzone.Location = new Point(lbRSTrack.Location.X + 63 - pBRSDeadzone.Size.Width / 2, lbRSTrack.Location.Y + 63 - pBRSDeadzone.Size.Width / 2);
pBRSDeadzone.Location = new Point(lbRSTrack.Location.X + (int)(dpix * 63) - pBRSDeadzone.Size.Width / 2, lbRSTrack.Location.Y + (int)(dpiy * 63) - pBRSDeadzone.Size.Width / 2);
}
}
@ -1193,7 +1183,7 @@ namespace ScpServer
{
pBLSDeadzone.Visible = true;
pBLSDeadzone.Size = new Size((int)(nUDLS.Value*125), (int)(nUDLS.Value*125));
pBLSDeadzone.Location = new Point(lbLSTrack.Location.X + 63 - pBLSDeadzone.Size.Width / 2, lbLSTrack.Location.Y + 63 - pBLSDeadzone.Size.Width / 2);
pBLSDeadzone.Location = new Point(lbLSTrack.Location.X + (int)(dpix * 63) - pBLSDeadzone.Size.Width / 2, lbLSTrack.Location.Y + (int)(dpiy * 63) - pBLSDeadzone.Size.Width / 2);
}
}
@ -1204,10 +1194,7 @@ namespace ScpServer
private void LightBar_MouseDown(object sender, MouseEventArgs e)
{
if (g.DpiX == 120)
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000);
else
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000);
tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), (int)(100 * dpix), 0, 2000);
}
private void Lightbar_MouseUp(object sender, MouseEventArgs e)

File diff suppressed because it is too large Load Diff

View File

@ -38,7 +38,7 @@ namespace ScpServer
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new ScpForm(args));
Application.Run(new DS4Form(args));
}
else
{

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.4.0.872")]
[assembly: AssemblyFileVersion("1.4.0.872")]
[assembly: AssemblyVersion("1.4.1")]
[assembly: AssemblyFileVersion("1.4.1")]

View File

@ -118,9 +118,6 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="DS4" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DS4.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mouse" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\mouse.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@ -547,4 +544,13 @@
<data name="Installing" xml:space="preserve">
<value>Installing...</value>
</data>
<data name="DS4" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DS4.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="DS4W" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\DS4W.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="InstallFailed" xml:space="preserve">
<value>Install Failed, Please Retry</value>
</data>
</root>

View File

@ -431,6 +431,16 @@ namespace ScpServer.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Icon similar to (Icon).
/// </summary>
internal static System.Drawing.Icon DS4W {
get {
object obj = ResourceManager.GetObject("DS4W", resourceCulture);
return ((System.Drawing.Icon)(obj));
}
}
/// <summary>
/// Looks up a localized string similar to DS4Windows cannot edit settings here, This will now close.
/// </summary>
@ -596,6 +606,15 @@ namespace ScpServer.Properties {
}
}
/// <summary>
/// Looks up a localized string similar to Install Failed, Please Retry.
/// </summary>
internal static string InstallFailed {
get {
return ResourceManager.GetString("InstallFailed", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Installing....
/// </summary>

View File

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.34209
// Runtime Version:4.0.30319.0
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.

View File

@ -38,13 +38,16 @@
this.cBStyle = new System.Windows.Forms.ComboBox();
this.btnSave = new System.Windows.Forms.Button();
this.btnCancel = new System.Windows.Forms.Button();
this.cB360Controls = new System.Windows.Forms.ComboBox();
this.lBHoldX360 = new System.Windows.Forms.Label();
this.pnlSettings = new System.Windows.Forms.Panel();
this.btnSaveP = new System.Windows.Forms.Button();
this.lbRecordTip = new System.Windows.Forms.Label();
this.pnlMouseButtons = new System.Windows.Forms.Panel();
this.btn5th = new System.Windows.Forms.Button();
this.btn4th = new System.Windows.Forms.Button();
this.pnlSettings.SuspendLayout();
this.btnLoadP = new System.Windows.Forms.Button();
this.savePresets = new System.Windows.Forms.SaveFileDialog();
this.openPresets = new System.Windows.Forms.OpenFileDialog();
this.lbMacroOrder = new System.Windows.Forms.Label();
this.lbDelayTip = new System.Windows.Forms.Label();
this.pnlMouseButtons.SuspendLayout();
this.SuspendLayout();
//
@ -74,16 +77,19 @@
resources.ApplyResources(this.lVMacros, "lVMacros");
this.lVMacros.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1});
this.lVMacros.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.lVMacros.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
this.lVMacros.LargeImageList = this.iLKeys;
this.lVMacros.MultiSelect = false;
this.lVMacros.Name = "lVMacros";
this.lVMacros.SmallImageList = this.iLKeys;
this.lVMacros.TileSize = new System.Drawing.Size(180, 30);
this.lVMacros.UseCompatibleStateImageBehavior = false;
this.lVMacros.View = System.Windows.Forms.View.Details;
this.lVMacros.KeyDown += new System.Windows.Forms.KeyEventHandler(this.anyKeyDown);
this.lVMacros.KeyUp += new System.Windows.Forms.KeyEventHandler(this.anyKeyUp);
this.lVMacros.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lVMacros_MouseDoubleClick);
this.lVMacros.MouseDown += new System.Windows.Forms.MouseEventHandler(this.anyMouseDown);
this.lVMacros.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lVMacros_MouseMove);
this.lVMacros.MouseHover += new System.EventHandler(this.lVMacros_MouseHover);
this.lVMacros.MouseUp += new System.Windows.Forms.MouseEventHandler(this.anyMouseUp);
//
// columnHeader1
@ -122,57 +128,17 @@
this.btnCancel.UseVisualStyleBackColor = true;
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// cB360Controls
// btnSaveP
//
resources.ApplyResources(this.cB360Controls, "cB360Controls");
this.cB360Controls.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cB360Controls.FormattingEnabled = true;
this.cB360Controls.Items.AddRange(new object[] {
resources.GetString("cB360Controls.Items"),
resources.GetString("cB360Controls.Items1"),
resources.GetString("cB360Controls.Items2"),
resources.GetString("cB360Controls.Items3"),
resources.GetString("cB360Controls.Items4"),
resources.GetString("cB360Controls.Items5"),
resources.GetString("cB360Controls.Items6"),
resources.GetString("cB360Controls.Items7"),
resources.GetString("cB360Controls.Items8"),
resources.GetString("cB360Controls.Items9"),
resources.GetString("cB360Controls.Items10"),
resources.GetString("cB360Controls.Items11"),
resources.GetString("cB360Controls.Items12"),
resources.GetString("cB360Controls.Items13"),
resources.GetString("cB360Controls.Items14"),
resources.GetString("cB360Controls.Items15"),
resources.GetString("cB360Controls.Items16"),
resources.GetString("cB360Controls.Items17"),
resources.GetString("cB360Controls.Items18"),
resources.GetString("cB360Controls.Items19"),
resources.GetString("cB360Controls.Items20"),
resources.GetString("cB360Controls.Items21"),
resources.GetString("cB360Controls.Items22"),
resources.GetString("cB360Controls.Items23"),
resources.GetString("cB360Controls.Items24"),
resources.GetString("cB360Controls.Items25")});
this.cB360Controls.Name = "cB360Controls";
resources.ApplyResources(this.btnSaveP, "btnSaveP");
this.btnSaveP.Name = "btnSaveP";
this.btnSaveP.UseVisualStyleBackColor = true;
this.btnSaveP.Click += new System.EventHandler(this.btnSaveP_Click);
//
// lBHoldX360
// lbRecordTip
//
resources.ApplyResources(this.lBHoldX360, "lBHoldX360");
this.lBHoldX360.Name = "lBHoldX360";
//
// pnlSettings
//
resources.ApplyResources(this.pnlSettings, "pnlSettings");
this.pnlSettings.Controls.Add(this.lBHoldX360);
this.pnlSettings.Controls.Add(this.cBStyle);
this.pnlSettings.Controls.Add(this.cB360Controls);
this.pnlSettings.Controls.Add(this.cBRecordDelays);
this.pnlSettings.Controls.Add(this.btnCancel);
this.pnlSettings.Controls.Add(this.btnSave);
this.pnlSettings.Name = "pnlSettings";
this.pnlSettings.MouseDown += new System.Windows.Forms.MouseEventHandler(this.anyMouseDown);
this.pnlSettings.MouseUp += new System.Windows.Forms.MouseEventHandler(this.anyMouseUp);
resources.ApplyResources(this.lbRecordTip, "lbRecordTip");
this.lbRecordTip.Name = "lbRecordTip";
//
// pnlMouseButtons
//
@ -201,16 +167,50 @@
this.btn4th.KeyDown += new System.Windows.Forms.KeyEventHandler(this.anyKeyDown);
this.btn4th.KeyUp += new System.Windows.Forms.KeyEventHandler(this.anyKeyUp);
//
// btnLoadP
//
resources.ApplyResources(this.btnLoadP, "btnLoadP");
this.btnLoadP.Name = "btnLoadP";
this.btnLoadP.UseVisualStyleBackColor = true;
this.btnLoadP.Click += new System.EventHandler(this.btnLoadP_Click);
//
// savePresets
//
resources.ApplyResources(this.savePresets, "savePresets");
//
// openPresets
//
this.openPresets.FileName = "openFileDialog1";
resources.ApplyResources(this.openPresets, "openPresets");
//
// lbMacroOrder
//
resources.ApplyResources(this.lbMacroOrder, "lbMacroOrder");
this.lbMacroOrder.Name = "lbMacroOrder";
//
// lbDelayTip
//
resources.ApplyResources(this.lbDelayTip, "lbDelayTip");
this.lbDelayTip.Name = "lbDelayTip";
//
// RecordBox
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.Controls.Add(this.lbMacroOrder);
this.Controls.Add(this.cBStyle);
this.Controls.Add(this.btnSaveP);
this.Controls.Add(this.cBRecordDelays);
this.Controls.Add(this.btnLoadP);
this.Controls.Add(this.lbDelayTip);
this.Controls.Add(this.lbRecordTip);
this.Controls.Add(this.btnRecord);
this.Controls.Add(this.lVMacros);
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnSave);
this.Controls.Add(this.pnlMouseButtons);
this.Controls.Add(this.pnlSettings);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "RecordBox";
this.ShowInTaskbar = false;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.RecordBox_FormClosing);
@ -218,10 +218,9 @@
this.KeyUp += new System.Windows.Forms.KeyEventHandler(this.anyKeyUp);
this.MouseDown += new System.Windows.Forms.MouseEventHandler(this.anyMouseDown);
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.anyMouseUp);
this.pnlSettings.ResumeLayout(false);
this.pnlSettings.PerformLayout();
this.pnlMouseButtons.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
@ -235,11 +234,15 @@
private System.Windows.Forms.ComboBox cBStyle;
private System.Windows.Forms.Button btnSave;
private System.Windows.Forms.Button btnCancel;
private System.Windows.Forms.ComboBox cB360Controls;
private System.Windows.Forms.Label lBHoldX360;
private System.Windows.Forms.Panel pnlSettings;
private System.Windows.Forms.Panel pnlMouseButtons;
private System.Windows.Forms.Button btn5th;
private System.Windows.Forms.Button btn4th;
private System.Windows.Forms.Label lbRecordTip;
private System.Windows.Forms.Button btnSaveP;
private System.Windows.Forms.Button btnLoadP;
private System.Windows.Forms.SaveFileDialog savePresets;
private System.Windows.Forms.OpenFileDialog openPresets;
private System.Windows.Forms.Label lbMacroOrder;
private System.Windows.Forms.Label lbDelayTip;
}
}

View File

@ -9,17 +9,27 @@ using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DS4Control;
using DS4Library;
using System.IO;
using System.Reflection;
namespace ScpServer
{
public partial class RecordBox : Form
{
private DS4Control.Control scpDevice;
Stopwatch sw = new Stopwatch();
Timer ds4 = new Timer();
public List<int> macros = new List<int>();
public List<string> macronames = new List<string>();
KBM360 kbm;
public RecordBox(KBM360 op)
DS4State cState;
public bool saved = false;
List<DS4Controls> dcs = new List<DS4Controls>();
public RecordBox(KBM360 op, DS4Control.Control bus_device)
{
scpDevice = bus_device;
kbm = op;
InitializeComponent();
if (op != null)
@ -27,7 +37,178 @@ namespace ScpServer
cBStyle.SelectedIndex = 1;
else
cBStyle.SelectedIndex = 0;
cB360Controls.SelectedIndex = 0;
ds4.Tick += ds4_Tick;
ds4.Interval = 1;
dcs.Add(DS4Controls.Cross);
dcs.Add(DS4Controls.Cross);
dcs.Add(DS4Controls.Circle);
dcs.Add(DS4Controls.Square);
dcs.Add(DS4Controls.Triangle);
dcs.Add(DS4Controls.Options);
dcs.Add(DS4Controls.Share);
dcs.Add(DS4Controls.DpadUp);
dcs.Add(DS4Controls.DpadDown);
dcs.Add(DS4Controls.DpadLeft);
dcs.Add(DS4Controls.DpadRight);
dcs.Add(DS4Controls.PS);
dcs.Add(DS4Controls.L1);
dcs.Add(DS4Controls.R1);
dcs.Add(DS4Controls.L2);
dcs.Add(DS4Controls.R2);
dcs.Add(DS4Controls.L3);
dcs.Add(DS4Controls.R3);
dcs.Add(DS4Controls.LXPos);
dcs.Add(DS4Controls.LXNeg);
dcs.Add(DS4Controls.LYPos);
dcs.Add(DS4Controls.LYNeg);
dcs.Add(DS4Controls.RXPos);
dcs.Add(DS4Controls.RXNeg);
dcs.Add(DS4Controls.RYPos);
dcs.Add(DS4Controls.RYNeg);
if (kbm.macrostag.Count > 0)
{
macros.AddRange(kbm.macrostag);
LoadMacro();
saved = true;
}
}
void ds4_Tick(object sender, EventArgs e)
{
if (scpDevice.DS4Controllers[0] != null)
{
cState = scpDevice.getDS4State(0);
if (btnRecord.Text == Properties.Resources.StopText)
foreach (DS4Controls dc in dcs)
if (Mapping.getBoolMapping(dc, cState, null, null))
{
int value = DS4ControltoInt(dc);
int count = 0;
foreach (int i in macros)
{
if (i == value)
count++;
}
if (macros.Count == 0)
{
macros.Add(value);
lVMacros.Items.Add(DS4ControltoX360(dc), 0);
if (cBRecordDelays.Checked)
{
sw.Reset();
sw.Start();
}
}
else if (count % 2 == 0)
{
if (cBRecordDelays.Checked)
{
macros.Add((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2);
sw.Reset();
sw.Start();
}
macros.Add(value);
lVMacros.Items.Add(DS4ControltoX360(dc), 0);
}
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
}
else if (!Mapping.getBoolMapping(dc, cState, null, null))
{
if (macros.Count != 0)
{
int value = DS4ControltoInt(dc);
int count = 0;
foreach (int i in macros)
{
if (i == value)
count++;
}
/*for (int i = macros.Count - 1; i >= 0; i--)
if (macros.Count == 261)
count++;*/
if (count % 2 == 1)
{
if (cBRecordDelays.Checked)
{
macros.Add((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2);
sw.Reset();
sw.Start();
}
macros.Add(value);
lVMacros.Items.Add(DS4ControltoX360(dc), 1);
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
}
}
}
}
}
public static int DS4ControltoInt(DS4Controls ctrl)
{
switch (ctrl)
{
case DS4Controls.Cross: return 261;
case DS4Controls.Circle: return 262;
case DS4Controls.Square: return 263;
case DS4Controls.Triangle: return 264;
case DS4Controls.Options: return 265;
case DS4Controls.Share: return 266;
case DS4Controls.DpadUp: return 267;
case DS4Controls.DpadDown: return 268;
case DS4Controls.DpadLeft: return 269;
case DS4Controls.DpadRight: return 270;
case DS4Controls.PS: return 271;
case DS4Controls.L1: return 272;
case DS4Controls.R1: return 273;
case DS4Controls.L2: return 274;
case DS4Controls.R2: return 275;
case DS4Controls.L3: return 276;
case DS4Controls.R3: return 277;
case DS4Controls.LXPos: return 278;
case DS4Controls.LXNeg: return 279;
case DS4Controls.LYPos: return 280;
case DS4Controls.LYNeg: return 281;
case DS4Controls.RXPos: return 282;
case DS4Controls.RXNeg: return 283;
case DS4Controls.RYPos: return 284;
case DS4Controls.RYNeg: return 285;
}
return 0;
}
public static string DS4ControltoX360(DS4Controls ctrl)
{
switch (ctrl)
{
case DS4Controls.Cross: return "A Button";
case DS4Controls.Circle: return "B Button";
case DS4Controls.Square: return "X Button";
case DS4Controls.Triangle: return "Y Button";
case DS4Controls.Options: return "Start";
case DS4Controls.Share: return "Back";
case DS4Controls.DpadUp: return "Up Button";
case DS4Controls.DpadDown: return "Down Button";
case DS4Controls.DpadLeft: return "Left Button";
case DS4Controls.DpadRight: return "Right Button";
case DS4Controls.PS: return "Guide";
case DS4Controls.L1: return "Left Bumper";
case DS4Controls.R1: return "Right Bumper";
case DS4Controls.L2: return "Left Trigger";
case DS4Controls.R2: return "Right Trigger";
case DS4Controls.L3: return "Left Stick";
case DS4Controls.R3: return "Right Stick";
case DS4Controls.LXPos: return "LS Right";
case DS4Controls.LXNeg: return "LS Left";
case DS4Controls.LYPos: return "LS Down";
case DS4Controls.LYNeg: return "LS Up";
case DS4Controls.RXPos: return "RS Right";
case DS4Controls.RXNeg: return "RS Left";
case DS4Controls.RYPos: return "RS Down";
case DS4Controls.RYNeg: return "RS Up";
}
return "None";
}
private void btnRecord_Click(object sender, EventArgs e)
@ -36,6 +217,9 @@ namespace ScpServer
{
if (cBRecordDelays.Checked)
sw.Start();
scpDevice.recordingMacro = true;
saved = false;
ds4.Start();
macros.Clear();
lVMacros.Items.Clear();
btnRecord.Text = Properties.Resources.StopText;
@ -45,12 +229,16 @@ namespace ScpServer
}
else
{
scpDevice.recordingMacro = false;
ds4.Stop();
if (btn4th.Text.Contains(Properties.Resources.UpText))
btn4th_Click(sender, e);
if (btn5th.Text.Contains(Properties.Resources.UpText))
btn5th_Click(sender, e);
if (cBRecordDelays.Checked)
sw.Reset();
if (cBRecordDelays.Checked)
lbDelayTip.Visible = true;
btnRecord.Text = Properties.Resources.RecordText;
EnableControls(true);
}
@ -59,7 +247,8 @@ namespace ScpServer
private void EnableControls(bool on)
{
lVMacros.Enabled = on;
pnlSettings.Visible = on;
cBRecordDelays.Enabled = on;
cBStyle.Enabled = on;
pnlMouseButtons.Visible = !on;
}
@ -255,14 +444,13 @@ namespace ScpServer
}
}
bool saved = false;
private void btnSave_Click(object sender, EventArgs e)
public void btnSave_Click(object sender, EventArgs e)
{
if (macros.Count > 0)
{
if (cB360Controls.SelectedIndex > 0)
macros.Insert(0, cB360Controls.SelectedIndex + 260);
kbm.macrostag = macros;
macronames.Clear();
foreach (ListViewItem lvi in lVMacros.Items)
{
macronames.Add(lvi.Text);
@ -273,13 +461,72 @@ namespace ScpServer
if (cBStyle.SelectedIndex == 1)
kbm.macrorepeat = true;
saved = true;
Close();
if (sender != kbm)
kbm.Close();
//Close();
}
else MessageBox.Show(Properties.Resources.NoMacroRecorded, "DS4Windows", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
private void lVMacros_MouseMove(object sender, MouseEventArgs e)
private void btnSaveP_Click(object sender, EventArgs e)
{
if (macros.Count > 0)
{
Stream stream;
Console.WriteLine(Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName);
Console.WriteLine(Global.appdatapath);
//string path;
if (Global.appdatapath == Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName)
savePresets.InitialDirectory = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + @"\Macros\";
else
savePresets.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool" + @"\Macros\";
if (!Directory.Exists(savePresets.InitialDirectory))
{
Directory.CreateDirectory(savePresets.InitialDirectory);
//savePresets.InitialDirectory = path;
}
Console.WriteLine(savePresets.InitialDirectory);
if (savePresets.ShowDialog() == System.Windows.Forms.DialogResult.OK)
if ((stream = savePresets.OpenFile()) != null)
{
string macro = string.Join("/", macros.ToArray());
StreamWriter sw = new StreamWriter(stream);
sw.Write(macro);
sw.Close();
//stream.Close();
}
}
else MessageBox.Show(Properties.Resources.NoMacroRecorded, "DS4Windows", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
private void btnLoadP_Click(object sender, EventArgs e)
{
if (Global.appdatapath == Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName)
openPresets.InitialDirectory = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + @"\Macros\";
else
openPresets.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool" + @"\Macros\";
if (openPresets.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string file = openPresets.FileName;
macros.Clear();
lVMacros.Items.Clear();
StreamReader sr = new StreamReader(file);
string[] macs = File.ReadAllText(file).Split('/');
int temp;
foreach (string s in macs)
{
if (int.TryParse(s, out temp))
macros.Add(temp);
}
LoadMacro();
sr.Close();
}
}
private void lVMacros_MouseHover(object sender, EventArgs e)
{
lVMacros.Focus();
}
private void btnCancel_Click(object sender, EventArgs e)
@ -287,65 +534,7 @@ namespace ScpServer
saved = true;
Close();
}
private void RecordBox_FormClosing(object sender, FormClosingEventArgs e)
{
if (!saved && macros.Count > 0)
if (MessageBox.Show(Properties.Resources.SaveRecordedMacro, "DS4Windows", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
btnSave_Click(null, null);
}
protected override bool IsInputKey(Keys keyData)
{
switch (keyData)
{
case Keys.Right:
case Keys.Left:
case Keys.Up:
case Keys.Down:
case Keys.Tab:
case Keys.MediaPlayPause:
case Keys.MediaPreviousTrack:
case Keys.MediaNextTrack:
return true;
case Keys.Shift | Keys.Right:
case Keys.Shift | Keys.Left:
case Keys.Shift | Keys.Up:
case Keys.Shift | Keys.Down:
case Keys.Shift | Keys.Tab:
case Keys.Shift | Keys.MediaPlayPause:
case Keys.Shift | Keys.MediaPreviousTrack:
case Keys.Shift | Keys.MediaNextTrack:
return true;
}
return base.IsInputKey(keyData);
}
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
switch (e.KeyCode)
{
case Keys.Left:
case Keys.Right:
case Keys.Up:
case Keys.Down:
case Keys.Tab:
case Keys.MediaPlayPause:
case Keys.MediaPreviousTrack:
case Keys.MediaNextTrack:
if (e.Shift)
{
}
else
{
}
break;
}
}
private void btn4th_Click(object sender, EventArgs e)
{
int value = 259;
@ -435,5 +624,243 @@ namespace ScpServer
}
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
}
void LoadMacro()
{
if (macros.Count > 0)
{
bool[] keydown = new bool[286];
foreach (int i in macros)
{
if (i >= 300) //ints over 300 used to delay
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", (i - 300).ToString()).Replace("*ms*", "ms"), 2);
else if (!keydown[i])
{
//anything above 255 is not a keyvalue
if (i == 256) lVMacros.Items.Add("Left Mouse Button", 0);
else if (i == 257) lVMacros.Items.Add("Right Mouse Button", 0);
else if (i == 258) lVMacros.Items.Add("Middle Mouse Button", 0);
else if (i == 259) lVMacros.Items.Add("4th Mouse Button", 0);
else if (i == 260) lVMacros.Items.Add("5th Mouse Button", 0);
else if (i == 261) lVMacros.Items.Add("A Button", 0);
else if (i == 262) lVMacros.Items.Add("B Button", 0);
else if (i == 263) lVMacros.Items.Add("X Button", 0);
else if (i == 264) lVMacros.Items.Add("Y Button", 0);
else if (i == 265) lVMacros.Items.Add("Start", 0);
else if (i == 266) lVMacros.Items.Add("Back", 0);
else if (i == 267) lVMacros.Items.Add("Up Button", 0);
else if (i == 268) lVMacros.Items.Add("Down Button", 0);
else if (i == 269) lVMacros.Items.Add("Left Button", 0);
else if (i == 270) lVMacros.Items.Add("Right Button", 0);
else if (i == 271) lVMacros.Items.Add("Guide", 0);
else if (i == 272) lVMacros.Items.Add("Left Bumper", 0);
else if (i == 273) lVMacros.Items.Add("Right Bumper", 0);
else if (i == 274) lVMacros.Items.Add("Left Trigger", 0);
else if (i == 275) lVMacros.Items.Add("Right Trigger", 0);
else if (i == 276) lVMacros.Items.Add("Left Stick", 0);
else if (i == 277) lVMacros.Items.Add("Right Stick", 0);
else if (i == 278) lVMacros.Items.Add("LS Right", 0);
else if (i == 279) lVMacros.Items.Add("LS Left", 0);
else if (i == 280) lVMacros.Items.Add("LS Down", 0);
else if (i == 281) lVMacros.Items.Add("LS Up", 0);
else if (i == 282) lVMacros.Items.Add("RS Right", 0);
else if (i == 283) lVMacros.Items.Add("RS Left", 0);
else if (i == 284) lVMacros.Items.Add("RS Down", 0);
else if (i == 285) lVMacros.Items.Add("RS Up", 0);
else lVMacros.Items.Add(((Keys)i).ToString(), 0);
keydown[i] = true;
}
else
{
if (i == 256) lVMacros.Items.Add("Left Mouse Button", 1);
else if (i == 257) lVMacros.Items.Add("Right Mouse Button", 1);
else if (i == 258) lVMacros.Items.Add("Middle Mouse Button", 1);
else if (i == 259) lVMacros.Items.Add("4th Mouse Button", 1);
else if (i == 260) lVMacros.Items.Add("5th Mouse Button", 1);
else if (i == 261) lVMacros.Items.Add("A Button", 1);
else if (i == 262) lVMacros.Items.Add("B Button", 1);
else if (i == 263) lVMacros.Items.Add("X Button", 1);
else if (i == 264) lVMacros.Items.Add("Y Button", 1);
else if (i == 265) lVMacros.Items.Add("Start", 1);
else if (i == 266) lVMacros.Items.Add("Back", 1);
else if (i == 267) lVMacros.Items.Add("Up Button", 1);
else if (i == 268) lVMacros.Items.Add("Down Button", 1);
else if (i == 269) lVMacros.Items.Add("Left Button", 1);
else if (i == 270) lVMacros.Items.Add("Right Button", 1);
else if (i == 271) lVMacros.Items.Add("Guide", 1);
else if (i == 272) lVMacros.Items.Add("Left Bumper", 1);
else if (i == 273) lVMacros.Items.Add("Right Bumper", 1);
else if (i == 274) lVMacros.Items.Add("Left Trigger", 1);
else if (i == 275) lVMacros.Items.Add("Right Trigger", 1);
else if (i == 276) lVMacros.Items.Add("Left Stick", 1);
else if (i == 277) lVMacros.Items.Add("Right Stick", 1);
else if (i == 278) lVMacros.Items.Add("LS Right", 1);
else if (i == 279) lVMacros.Items.Add("LS Left", 1);
else if (i == 280) lVMacros.Items.Add("LS Down", 1);
else if (i == 281) lVMacros.Items.Add("LS Up", 1);
else if (i == 282) lVMacros.Items.Add("RS Right", 1);
else if (i == 283) lVMacros.Items.Add("RS Left", 1);
else if (i == 284) lVMacros.Items.Add("RS Down", 1);
else if (i == 285) lVMacros.Items.Add("RS Up", 1);
else lVMacros.Items.Add(((Keys)i).ToString(), 1);
keydown[i] = false;
}
}
for (ushort i = 0; i < keydown.Length; i++)
{
if (keydown[i])
{
if (i == 256) lVMacros.Items.Add("Left Mouse Button", 1);
else if (i == 257) lVMacros.Items.Add("Right Mouse Button", 1);
else if (i == 258) lVMacros.Items.Add("Middle Mouse Button", 1);
else if (i == 259) lVMacros.Items.Add("4th Mouse Button", 1);
else if (i == 260) lVMacros.Items.Add("5th Mouse Button", 1);
else if (i == 261) lVMacros.Items.Add("A Button", 1);
else if (i == 262) lVMacros.Items.Add("B Button", 1);
else if (i == 263) lVMacros.Items.Add("X Button", 1);
else if (i == 264) lVMacros.Items.Add("Y Button", 1);
else if (i == 265) lVMacros.Items.Add("Start", 1);
else if (i == 266) lVMacros.Items.Add("Back", 1);
else if (i == 267) lVMacros.Items.Add("Up Button", 1);
else if (i == 268) lVMacros.Items.Add("Down Button", 1);
else if (i == 269) lVMacros.Items.Add("Left Button", 1);
else if (i == 270) lVMacros.Items.Add("Right Button", 1);
else if (i == 271) lVMacros.Items.Add("Guide", 1);
else if (i == 272) lVMacros.Items.Add("Left Bumper", 1);
else if (i == 273) lVMacros.Items.Add("Right Bumper", 1);
else if (i == 274) lVMacros.Items.Add("Left Trigger", 1);
else if (i == 275) lVMacros.Items.Add("Right Trigger", 1);
else if (i == 276) lVMacros.Items.Add("Left Stick", 1);
else if (i == 277) lVMacros.Items.Add("Right Stick", 1);
else if (i == 278) lVMacros.Items.Add("LS Right", 1);
else if (i == 279) lVMacros.Items.Add("LS Left", 1);
else if (i == 280) lVMacros.Items.Add("LS Down", 1);
else if (i == 281) lVMacros.Items.Add("LS Up", 1);
else if (i == 282) lVMacros.Items.Add("RS Right", 1);
else if (i == 283) lVMacros.Items.Add("RS Left", 1);
else if (i == 284) lVMacros.Items.Add("RS Down", 1);
else if (i == 285) lVMacros.Items.Add("RS Up", 1);
else lVMacros.Items.Add(((Keys)i).ToString(), 1);
macros.Add(i);
}
}
}
}
private void RecordBox_FormClosing(object sender, FormClosingEventArgs e)
{
if (!saved && macros.Count > 0)
if (MessageBox.Show(Properties.Resources.SaveRecordedMacro, "DS4Windows", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
btnSave_Click(null, null);
}
protected override bool IsInputKey(Keys keyData)
{
switch (keyData)
{
case Keys.Right:
case Keys.Left:
case Keys.Up:
case Keys.Down:
case Keys.Tab:
case Keys.MediaPlayPause:
case Keys.MediaPreviousTrack:
case Keys.MediaNextTrack:
return true;
case Keys.Shift | Keys.Right:
case Keys.Shift | Keys.Left:
case Keys.Shift | Keys.Up:
case Keys.Shift | Keys.Down:
case Keys.Shift | Keys.Tab:
case Keys.Shift | Keys.MediaPlayPause:
case Keys.Shift | Keys.MediaPreviousTrack:
case Keys.Shift | Keys.MediaNextTrack:
return true;
}
return base.IsInputKey(keyData);
}
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
switch (e.KeyCode)
{
case Keys.Left:
case Keys.Right:
case Keys.Up:
case Keys.Down:
case Keys.Tab:
case Keys.MediaPlayPause:
case Keys.MediaPreviousTrack:
case Keys.MediaNextTrack:
if (e.Shift)
{
}
else
{
}
break;
}
}
private int selection;
private void lVMacros_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (lVMacros.SelectedIndices[0] >= 0 && lVMacros.SelectedItems[0].ImageIndex == 2)
{
TextBox tb = new TextBox();
tb.KeyDown += nud_KeyDown;
tb.LostFocus += nud_LostFocus;
selection = lVMacros.SelectedIndices[0];
Controls.Add(tb);
tb.Location = new Point(lVMacros.Location.X + lVMacros.SelectedItems[0].Position.X, lVMacros.Location.Y + lVMacros.SelectedItems[0].Position.Y);
tb.BringToFront();
lVMacros.MouseHover -= lVMacros_MouseHover;
tb.TextChanged += tb_TextChanged;
tb.Focus();
}
}
void tb_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
for (int i = tb.Text.Length - 1; i >= 0; i--)
if (!Char.IsDigit(tb.Text[i]))
tb.Text = tb.Text.Remove(i, 1);
}
void nud_LostFocus(object sender, EventArgs e)
{
TextBox tb = (TextBox)sender;
int i;
if (!string.IsNullOrEmpty(tb.Text) && int.TryParse(tb.Text, out i))
{
lVMacros.Items[selection] = new ListViewItem(Properties.Resources.WaitMS.Replace("*number*", (tb.Text)).Replace("*ms*", "ms"), 2);
macros[selection] = i + 300;
saved = false;
}
Controls.Remove(tb);
lVMacros.MouseHover += lVMacros_MouseHover;
}
void nud_KeyDown(object sender, KeyEventArgs e)
{
TextBox tb = (TextBox)sender;
if (e.KeyCode == Keys.Enter && !string.IsNullOrEmpty(tb.Text))
{
int i;
if (int.TryParse(tb.Text, out i))
{
lVMacros.Items[selection] = new ListViewItem(Properties.Resources.WaitMS.Replace("*number*", (tb.Text)).Replace("*ms*", "ms"), 2);
macros[selection] = i + 300;
saved = false;
Controls.Remove(tb);
lVMacros.MouseHover += lVMacros_MouseHover;
}
}
}
}
}

View File

@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ
CgAAAk1TRnQBSQFMAgEBAwEAAXABAAFwAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CgAAAk1TRnQBSQFMAgEBAwEAAXgBAAF4AQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -117,420 +117,87 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="lBHoldX360.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="pnlMouseButtons.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left, Right</value>
</data>
<data name="&gt;&gt;lVMacros.Name" xml:space="preserve">
<value>lVMacros</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pnlSettings.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 229</value>
</data>
<data name="&gt;&gt;btnSave.Parent" xml:space="preserve">
<value>pnlSettings</value>
</data>
<data name="&gt;&gt;lBHoldX360.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pnlSettings.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btn4th.Name" xml:space="preserve">
<value>btn4th</value>
</data>
<data name="cB360Controls.Items3" xml:space="preserve">
<value>X Button</value>
</data>
<data name="pnlMouseButtons.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;cB360Controls.Parent" xml:space="preserve">
<value>pnlSettings</value>
</data>
<data name="&gt;&gt;btnSave.Name" xml:space="preserve">
<value>btnSave</value>
</data>
<data name="btn4th.Location" type="System.Drawing.Point, System.Drawing">
<value>76, 13</value>
</data>
<data name="&gt;&gt;cBStyle.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="cB360Controls.Items8" xml:space="preserve">
<value>Right Button</value>
</data>
<data name="cB360Controls.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 21</value>
</data>
<data name="&gt;&gt;columnHeader1.Name" xml:space="preserve">
<value>columnHeader1</value>
</data>
<data name="&gt;&gt;cBStyle.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="cBStyle.TabIndex" type="System.Int32, mscorlib">
<value>327</value>
</data>
<data name="&gt;&gt;btnCancel.Name" xml:space="preserve">
<value>btnCancel</value>
</data>
<data name="&gt;&gt;btnRecord.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Record a Macro</value>
</data>
<data name="lBHoldX360.TabIndex" type="System.Int32, mscorlib">
<value>330</value>
</data>
<data name="&gt;&gt;btn5th.Name" xml:space="preserve">
<value>btn5th</value>
</data>
<data name="cB360Controls.Items6" xml:space="preserve">
<value>Down Button</value>
</data>
<data name="&gt;&gt;cBStyle.Parent" xml:space="preserve">
<value>pnlSettings</value>
</data>
<data name="cBStyle.Items" xml:space="preserve">
<value>Play once</value>
</data>
<data name="cB360Controls.Items12" xml:space="preserve">
<value>Left Bumper</value>
</data>
<data name="cB360Controls.Items13" xml:space="preserve">
<value>Right Bumper</value>
</data>
<data name="cB360Controls.Items10" xml:space="preserve">
<value>Back</value>
</data>
<data name="cB360Controls.Items11" xml:space="preserve">
<value>Guide</value>
</data>
<data name="cB360Controls.Items16" xml:space="preserve">
<value>Left Stick</value>
</data>
<data name="cB360Controls.Items17" xml:space="preserve">
<value>Right Click</value>
</data>
<data name="cB360Controls.Items14" xml:space="preserve">
<value>Left Trigger</value>
</data>
<data name="cB360Controls.Items15" xml:space="preserve">
<value>Right Trigger</value>
</data>
<data name="cB360Controls.Items18" xml:space="preserve">
<value>Left Y-Axis+</value>
</data>
<data name="cB360Controls.Items19" xml:space="preserve">
<value>Left Y-Axis-</value>
</data>
<data name="&gt;&gt;btn5th.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="pnlSettings.TabIndex" type="System.Int32, mscorlib">
<value>331</value>
</data>
<data name="&gt;&gt;btn4th.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnRecord.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnCancel.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="pnlMouseButtons.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 232</value>
</data>
<data name="lBHoldX360.Text" xml:space="preserve">
<value>Also hold a X360 control:</value>
</data>
<data name="cB360Controls.Items" xml:space="preserve">
<value>(none)</value>
</data>
<data name="cB360Controls.Items4" xml:space="preserve">
<value>Y Button</value>
</data>
<data name="&gt;&gt;lBHoldX360.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="cBRecordDelays.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cBStyle.Items1" xml:space="preserve">
<value>Repeat while held</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>RecordBox</value>
</data>
<data name="&gt;&gt;lVMacros.Type" xml:space="preserve">
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="lVMacros.TabIndex" type="System.Int32, mscorlib">
<value>326</value>
</data>
<data name="cBStyle.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 21</value>
</data>
<data name="btnRecord.Size" type="System.Drawing.Size, System.Drawing">
<value>268, 23</value>
</data>
<data name="pnlMouseButtons.Size" type="System.Drawing.Size, System.Drawing">
<value>272, 78</value>
</data>
<data name="pnlSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>272, 77</value>
</data>
<data name="btn4th.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>260, 205</value>
</data>
<data name="btnSave.TabIndex" type="System.Int32, mscorlib">
<value>328</value>
</data>
<data name="cBStyle.Location" type="System.Drawing.Point, System.Drawing">
<value>147, 3</value>
</data>
<data name="lVMacros.Size" type="System.Drawing.Size, System.Drawing">
<value>268, 200</value>
</data>
<data name="btn5th.Text" xml:space="preserve">
<value>5th Mouse Button Down</value>
</data>
<data name="&gt;&gt;columnHeader1.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btn5th.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnCancel.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="&gt;&gt;pnlSettings.Name" xml:space="preserve">
<value>pnlSettings</value>
</data>
<data name="cB360Controls.Items2" xml:space="preserve">
<value>B Button</value>
</data>
<data name="&gt;&gt;lBHoldX360.Parent" xml:space="preserve">
<value>pnlSettings</value>
</data>
<data name="&gt;&gt;btnSave.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="btnCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<data name="btnRecord.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;pnlMouseButtons.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btn4th.Parent" xml:space="preserve">
<value>pnlMouseButtons</value>
</data>
<data name="btnRecord.TabIndex" type="System.Int32, mscorlib">
<value>322</value>
</data>
<data name="btn4th.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="cB360Controls.Items22" xml:space="preserve">
<value>Right Y-Axis+</value>
</data>
<data name="cB360Controls.Items23" xml:space="preserve">
<value>Right Y-Axis-</value>
</data>
<data name="cB360Controls.Items20" xml:space="preserve">
<value>Left X-Axis+</value>
</data>
<data name="cB360Controls.Items21" xml:space="preserve">
<value>Left X-Axis-</value>
</data>
<data name="cB360Controls.Items24" xml:space="preserve">
<value>Right X-Axis+</value>
</data>
<data name="cB360Controls.Items25" xml:space="preserve">
<value>Right X-Axis-</value>
</data>
<data name="btn4th.Text" xml:space="preserve">
<value>4th Mouse Button Down</value>
</data>
<data name="lVMacros.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="&gt;&gt;cBRecordDelays.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnRecord.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;iLKeys.Type" xml:space="preserve">
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btn4th.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
<value>328</value>
</data>
<data name="btnSave.Text" xml:space="preserve">
<value>Save</value>
</data>
<data name="btn5th.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="&gt;&gt;cBRecordDelays.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="columnHeader1.Text" xml:space="preserve">
<value>Macro Order</value>
</data>
<data name="cBRecordDelays.Size" type="System.Drawing.Size, System.Drawing">
<value>96, 17</value>
</data>
<data name="cB360Controls.Items9" xml:space="preserve">
<value>Start</value>
</data>
<data name="lBHoldX360.Location" type="System.Drawing.Point, System.Drawing">
<value>-3, 30</value>
</data>
<data name="lVMacros.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 29</value>
</data>
<data name="btnRecord.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="&gt;&gt;btnRecord.Name" xml:space="preserve">
<value>btnRecord</value>
</data>
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="btn4th.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 23</value>
</data>
<data name="cB360Controls.Location" type="System.Drawing.Point, System.Drawing">
<value>147, 27</value>
</data>
<data name="lBHoldX360.Size" type="System.Drawing.Size, System.Drawing">
<value>125, 13</value>
</data>
<data name="&gt;&gt;pnlSettings.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="cBRecordDelays.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 5</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="cBStyle.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;cBStyle.Name" xml:space="preserve">
<value>cBStyle</value>
</data>
<data name="&gt;&gt;lBHoldX360.Name" xml:space="preserve">
<value>lBHoldX360</value>
</data>
<data name="&gt;&gt;btn5th.Parent" xml:space="preserve">
<value>pnlMouseButtons</value>
</data>
<data name="btnRecord.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 2</value>
<value>536, 29</value>
</data>
<data name="cB360Controls.Items7" xml:space="preserve">
<value>Left Button</value>
<data name="btnRecord.Size" type="System.Drawing.Size, System.Drawing">
<value>213, 46</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="&gt;&gt;iLKeys.Name" xml:space="preserve">
<value>iLKeys</value>
</data>
<data name="btn5th.Location" type="System.Drawing.Point, System.Drawing">
<value>76, 42</value>
</data>
<data name="btnSave.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 51</value>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="btnRecord.TabIndex" type="System.Int32, mscorlib">
<value>322</value>
</data>
<data name="btnRecord.Text" xml:space="preserve">
<value>Record</value>
</data>
<data name="&gt;&gt;btnRecord.Name" xml:space="preserve">
<value>btnRecord</value>
</data>
<data name="&gt;&gt;btnRecord.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnRecord.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;cBRecordDelays.Name" xml:space="preserve">
<value>cBRecordDelays</value>
<data name="&gt;&gt;btnRecord.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="cBRecordDelays.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="cBRecordDelays.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cBRecordDelays.Location" type="System.Drawing.Point, System.Drawing">
<value>591, 121</value>
</data>
<data name="cBRecordDelays.Size" type="System.Drawing.Size, System.Drawing">
<value>96, 17</value>
</data>
<data name="cBRecordDelays.TabIndex" type="System.Int32, mscorlib">
<value>324</value>
</data>
<data name="&gt;&gt;lVMacros.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="cB360Controls.Items1" xml:space="preserve">
<value>A Button</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>276, 306</value>
</data>
<data name="&gt;&gt;cB360Controls.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;pnlMouseButtons.Name" xml:space="preserve">
<value>pnlMouseButtons</value>
</data>
<data name="&gt;&gt;btnCancel.Parent" xml:space="preserve">
<value>pnlSettings</value>
</data>
<data name="pnlSettings.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Left, Right</value>
</data>
<data name="&gt;&gt;cBRecordDelays.Parent" xml:space="preserve">
<value>pnlSettings</value>
</data>
<data name="cBRecordDelays.Text" xml:space="preserve">
<value>Record Delays</value>
</data>
<data name="btn5th.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
<data name="&gt;&gt;cBRecordDelays.Name" xml:space="preserve">
<value>cBRecordDelays</value>
</data>
<data name="&gt;&gt;cB360Controls.Name" xml:space="preserve">
<value>cB360Controls</value>
<data name="&gt;&gt;cBRecordDelays.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="cB360Controls.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
<data name="&gt;&gt;cBRecordDelays.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
<value>193, 51</value>
</data>
<data name="cB360Controls.Items5" xml:space="preserve">
<value>Up Button</value>
</data>
<data name="&gt;&gt;lVMacros.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;pnlSettings.ZOrder" xml:space="preserve">
<data name="&gt;&gt;cBRecordDelays.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="lVMacros.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="columnHeader1.Text" xml:space="preserve">
<value>Macro Order</value>
</data>
<data name="columnHeader1.Width" type="System.Int32, mscorlib">
<value>525</value>
</data>
<metadata name="iLKeys.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="iLKeys.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ
CgAAAk1TRnQBSQFMAgEBAwEAAVgBAAF8AQABEAEAARABAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQCAAEo
CgAAAk1TRnQBSQFMAgEBAwEAAcgBAAHIAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@ -572,44 +239,431 @@
AUIBTQE+BwABPgMAASgDAAFAAwABEAMAAQEBAAEBBQABgBcAA/8BAAT/AYcB4QIAAf4BfwH+AT8BgAEB
AgAB/AE/Af4BPwHAAQMCAAH4AR8B/gE/AcABAwIAAfABDwH+AT8BgAEBAgAB8AEHAf4BPwGAAQECAAHy
AQcB/gE/AYABAQIAAfYBJwH2ATcBgAEBAgAB/gE/AfIBJwGAAQECAAH+AT8B8AEHAYABAQIAAf4BPwHw
AQcBgAEBAgAB/gE/AfgBDwQAAf4BPwH8AR8EAAH+AT8B/gE/BAAB/gE/Af8BfwEAAQECAAT/AYMBwxgA
AQcBgAEBAgAB/gE/AfgBDwQAAf4BPwH8AR8EAAH+AT8B/gE/BAAB/gE/Af8BfwEAAQECAAT/AYMBwwIA
Cw==
</value>
</data>
<data name="btn5th.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 23</value>
<data name="lVMacros.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 29</value>
</data>
<data name="lVMacros.Size" type="System.Drawing.Size, System.Drawing">
<value>527, 334</value>
</data>
<data name="lVMacros.TabIndex" type="System.Int32, mscorlib">
<value>326</value>
</data>
<data name="&gt;&gt;lVMacros.Name" xml:space="preserve">
<value>lVMacros</value>
</data>
<data name="&gt;&gt;lVMacros.Type" xml:space="preserve">
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lVMacros.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lVMacros.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="cBStyle.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="cBStyle.Items" xml:space="preserve">
<value>Play once</value>
</data>
<data name="cBStyle.Items1" xml:space="preserve">
<value>Repeat while held</value>
</data>
<data name="cBStyle.Location" type="System.Drawing.Point, System.Drawing">
<value>578, 171</value>
</data>
<data name="cBStyle.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 21</value>
</data>
<data name="cBStyle.TabIndex" type="System.Int32, mscorlib">
<value>327</value>
</data>
<data name="&gt;&gt;cBStyle.Name" xml:space="preserve">
<value>cBStyle</value>
</data>
<data name="&gt;&gt;cBStyle.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cBStyle.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;cBStyle.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="btnSave.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="btnSave.Location" type="System.Drawing.Point, System.Drawing">
<value>536, 2</value>
</data>
<data name="btnSave.Size" type="System.Drawing.Size, System.Drawing">
<value>104, 23</value>
</data>
<data name="btnSave.TabIndex" type="System.Int32, mscorlib">
<value>328</value>
</data>
<data name="btnSave.Text" xml:space="preserve">
<value>Save</value>
</data>
<data name="&gt;&gt;btnSave.Name" xml:space="preserve">
<value>btnSave</value>
</data>
<data name="&gt;&gt;btnSave.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnSave.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnSave.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="btnCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
<value>646, 2</value>
</data>
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 23</value>
</data>
<data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
<value>328</value>
</data>
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;btnCancel.Name" xml:space="preserve">
<value>btnCancel</value>
</data>
<data name="&gt;&gt;btnCancel.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnCancel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnCancel.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="btnSaveP.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="btnSaveP.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="btnSaveP.Location" type="System.Drawing.Point, System.Drawing">
<value>646, 81</value>
</data>
<data name="btnSaveP.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 23</value>
</data>
<data name="btnSaveP.TabIndex" type="System.Int32, mscorlib">
<value>332</value>
</data>
<data name="btnSaveP.Text" xml:space="preserve">
<value>Save Preset</value>
</data>
<data name="&gt;&gt;btnSaveP.Name" xml:space="preserve">
<value>btnSaveP</value>
</data>
<data name="&gt;&gt;btnSaveP.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnSaveP.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnSaveP.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="lbRecordTip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="lbRecordTip.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lbRecordTip.Location" type="System.Drawing.Point, System.Drawing">
<value>309, 7</value>
</data>
<data name="lbRecordTip.Size" type="System.Drawing.Size, System.Drawing">
<value>221, 13</value>
</data>
<data name="lbRecordTip.TabIndex" type="System.Int32, mscorlib">
<value>329</value>
</data>
<data name="lbRecordTip.Text" xml:space="preserve">
<value>Use Keyboard/Mouse + Controller 1 to record</value>
</data>
<data name="lbRecordTip.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;lbRecordTip.Name" xml:space="preserve">
<value>lbRecordTip</value>
</data>
<data name="&gt;&gt;lbRecordTip.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lbRecordTip.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lbRecordTip.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="pnlMouseButtons.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;btn5th.Name" xml:space="preserve">
<value>btn5th</value>
</data>
<data name="&gt;&gt;btn5th.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btn5th.Parent" xml:space="preserve">
<value>pnlMouseButtons</value>
</data>
<data name="&gt;&gt;btn5th.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;btn4th.Name" xml:space="preserve">
<value>btn4th</value>
</data>
<data name="&gt;&gt;btn4th.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btn4th.Parent" xml:space="preserve">
<value>pnlMouseButtons</value>
</data>
<data name="&gt;&gt;btn4th.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="pnlMouseButtons.Location" type="System.Drawing.Point, System.Drawing">
<value>539, 198</value>
</data>
<data name="pnlMouseButtons.Size" type="System.Drawing.Size, System.Drawing">
<value>210, 74</value>
</data>
<data name="pnlMouseButtons.TabIndex" type="System.Int32, mscorlib">
<value>331</value>
</data>
<data name="btnSave.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
<data name="pnlMouseButtons.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;cB360Controls.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;pnlMouseButtons.Name" xml:space="preserve">
<value>pnlMouseButtons</value>
</data>
<data name="columnHeader1.Width" type="System.Int32, mscorlib">
<value>150</value>
</data>
<data name="&gt;&gt;pnlMouseButtons.ZOrder" xml:space="preserve">
<value>2</value>
<data name="&gt;&gt;pnlMouseButtons.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pnlMouseButtons.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnSave.ZOrder" xml:space="preserve">
<value>5</value>
<data name="&gt;&gt;pnlMouseButtons.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="cB360Controls.TabIndex" type="System.Int32, mscorlib">
<data name="btn5th.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="btn5th.Location" type="System.Drawing.Point, System.Drawing">
<value>39, 39</value>
</data>
<data name="btn5th.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 23</value>
</data>
<data name="btn5th.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="btn5th.Text" xml:space="preserve">
<value>5th Mouse Button Down</value>
</data>
<data name="&gt;&gt;btn5th.Name" xml:space="preserve">
<value>btn5th</value>
</data>
<data name="&gt;&gt;btn5th.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btn5th.Parent" xml:space="preserve">
<value>pnlMouseButtons</value>
</data>
<data name="&gt;&gt;btn5th.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="btn4th.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="btn4th.Location" type="System.Drawing.Point, System.Drawing">
<value>39, 10</value>
</data>
<data name="btn4th.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 23</value>
</data>
<data name="btn4th.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="btn4th.Text" xml:space="preserve">
<value>4th Mouse Button Down</value>
</data>
<data name="&gt;&gt;btn4th.Name" xml:space="preserve">
<value>btn4th</value>
</data>
<data name="&gt;&gt;btn4th.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btn4th.Parent" xml:space="preserve">
<value>pnlMouseButtons</value>
</data>
<data name="&gt;&gt;btn4th.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="btnLoadP.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="btnLoadP.Location" type="System.Drawing.Point, System.Drawing">
<value>536, 81</value>
</data>
<data name="btnLoadP.Size" type="System.Drawing.Size, System.Drawing">
<value>104, 23</value>
</data>
<data name="btnLoadP.TabIndex" type="System.Int32, mscorlib">
<value>332</value>
</data>
<data name="btnLoadP.Text" xml:space="preserve">
<value>Load Preset</value>
</data>
<data name="&gt;&gt;btnLoadP.Name" xml:space="preserve">
<value>btnLoadP</value>
</data>
<data name="&gt;&gt;btnLoadP.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnLoadP.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnLoadP.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<metadata name="savePresets.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>102, 17</value>
</metadata>
<data name="savePresets.Filter" xml:space="preserve">
<value>Text Document (*.txt)|*.txt</value>
</data>
<metadata name="openPresets.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>238, 17</value>
</metadata>
<data name="openPresets.Filter" xml:space="preserve">
<value>Text Document (*.txt)|*.txt</value>
</data>
<data name="lbMacroOrder.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lbMacroOrder.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 8</value>
</data>
<data name="lbMacroOrder.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 13</value>
</data>
<data name="lbMacroOrder.TabIndex" type="System.Int32, mscorlib">
<value>333</value>
</data>
<data name="lbMacroOrder.Text" xml:space="preserve">
<value>Macro Order</value>
</data>
<data name="&gt;&gt;lbMacroOrder.Name" xml:space="preserve">
<value>lbMacroOrder</value>
</data>
<data name="&gt;&gt;lbMacroOrder.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lbMacroOrder.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lbMacroOrder.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lbDelayTip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="lbDelayTip.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lbDelayTip.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lbDelayTip.Location" type="System.Drawing.Point, System.Drawing">
<value>548, 142</value>
</data>
<data name="lbDelayTip.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 13</value>
</data>
<data name="lbDelayTip.TabIndex" type="System.Int32, mscorlib">
<value>329</value>
</data>
<data name="lbDelayTip.Text" xml:space="preserve">
<value>Double click on a wait to edit the time</value>
</data>
<data name="lbDelayTip.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="lbDelayTip.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;lbDelayTip.Name" xml:space="preserve">
<value>lbDelayTip</value>
</data>
<data name="&gt;&gt;lbDelayTip.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lbDelayTip.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lbDelayTip.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>fr-FR</value>
</metadata>
<metadata name="iLKeys.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>750, 375</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>260, 205</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Record a Macro</value>
</data>
<data name="&gt;&gt;columnHeader1.Name" xml:space="preserve">
<value>columnHeader1</value>
</data>
<data name="&gt;&gt;columnHeader1.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;iLKeys.Name" xml:space="preserve">
<value>iLKeys</value>
</data>
<data name="&gt;&gt;iLKeys.Type" xml:space="preserve">
<value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;savePresets.Name" xml:space="preserve">
<value>savePresets</value>
</data>
<data name="&gt;&gt;savePresets.Type" xml:space="preserve">
<value>System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;openPresets.Name" xml:space="preserve">
<value>openPresets</value>
</data>
<data name="&gt;&gt;openPresets.Type" xml:space="preserve">
<value>System.Windows.Forms.OpenFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>RecordBox</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

BIN
DS4Tool/Resources/DS4W.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

View File

@ -21,7 +21,7 @@ namespace ScpServer
public SaveWhere(bool multisavespots)
{
InitializeComponent();
Icon = Properties.Resources.DS4;
Icon = Properties.Resources.DS4W;
multisaves = multisavespots;
lbMultiSaves.Visible = multisaves;
cBDeleteOther.Visible = multisaves;

View File

@ -23,7 +23,7 @@ namespace ScpServer
public WelcomeDialog()
{
InitializeComponent();
this.Icon = Properties.Resources.DS4;
Icon = Properties.Resources.DS4;
}
@ -45,7 +45,7 @@ namespace ScpServer
wb.DownloadFileAsync(new Uri("http://ds4windows.com/Files/Virtual Bus Driver.zip"), Global.appdatapath + "\\VBus.zip");
wb.DownloadProgressChanged += wb_DownloadProgressChanged;
wb.DownloadFileCompleted += wb_DownloadFileCompleted;
}
}
}
private void wb_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
@ -106,8 +106,14 @@ namespace ScpServer
{
if (processes.Length < 1)
{
bnStep1.Text = Properties.Resources.InstallComplete;
string log = File.ReadAllText(exepath + "\\ScpDriver.log");
if (log.Contains("Install Succeeded"))
bnStep1.Text = Properties.Resources.InstallComplete;
else
{
bnStep1.Text = Properties.Resources.InstallFailed;
Process.Start(Global.appdatapath + "\\Virtual Bus Driver");
}
try
{
File.Delete(exepath + "\\ScpDriver.exe");

View File

@ -21,7 +21,7 @@ namespace ScpServer
{
ToolTip tp = new ToolTip();
ComboBox[] cbs;
ScpForm form;
DS4Form form;
//C:\ProgramData\Microsoft\Windows\Start Menu\Programs
string steamgamesdir, origingamesdir;
protected String m_Profile = Global.appdatapath + "\\Auto Profiles.xml";
@ -30,7 +30,7 @@ namespace ScpServer
List<string> lodsf = new List<string>();
bool appsloaded = false;
public WinProgs(string[] oc, ScpForm main)
public WinProgs(string[] oc, DS4Form main)
{
InitializeComponent();