Version 1.4.24

New Special Action: Check Battery life, choose to see the battery via a
notification or via the lightbar with a gradient of your choice
Sixaxis tilting added to special action triggers
Added Special macros to be used by pressing the Load Presets button,
selecting Cycle Programs allows you to hold the button to cycle through
open programs, and edit the wait time to choose how long you hold the
button down to go to the next program
Can now add additional recordings between macros, click in the list
where you want to add
Can now delete actions in the macro by pressing delete
Fixed color by battery being inverted
Fixed bluetooth light being completely off when stopping/exiting
DS4Windows
Updated translation sheets (new items highlighted in 3rd column in green
for easier finding)
This commit is contained in:
jays2kings 2015-02-12 14:36:40 -05:00
parent 0cb77ad07f
commit b0edeb634e
22 changed files with 10292 additions and 3242 deletions

View File

@ -13,7 +13,6 @@ namespace DS4Windows
{ {
public X360Device x360Bus; public X360Device x360Bus;
public DS4Device[] DS4Controllers = new DS4Device[4]; public DS4Device[] DS4Controllers = new DS4Device[4];
//TPadModeSwitcher[] modeSwitcher = new TPadModeSwitcher[4];
public Mouse[] touchPad = new Mouse[4]; public Mouse[] touchPad = new Mouse[4];
private bool running = false; private bool running = false;
private DS4State[] MappedState = new DS4State[4]; private DS4State[] MappedState = new DS4State[4];
@ -575,7 +574,6 @@ namespace DS4Windows
{ {
DS4LightBar.forcelight[ind] = false; DS4LightBar.forcelight[ind] = false;
DS4LightBar.forcedFlash[ind] = 0; DS4LightBar.forcedFlash[ind] = 0;
//Console.WriteLine(p.Key + " is done");
Global.ButtonMouseSensitivity[ind] = oldmouse[ind]; Global.ButtonMouseSensitivity[ind] = oldmouse[ind];
oldmouse[ind] = -1; oldmouse[ind] = -1;
setRumble(0, 0, ind); setRumble(0, 0, ind);

View File

@ -142,7 +142,7 @@ namespace DS4Windows
else else
{ {
if (device.ConnectionType == ConnectionType.BT) if (device.ConnectionType == ConnectionType.BT)
color = new DS4Color(0, 0, 0); color = new DS4Color(32, 64, 64);
else else
color = new DS4Color(0, 0, 0); color = new DS4Color(0, 0, 0);
} }

View File

@ -18,10 +18,13 @@ namespace DS4Windows
} }
} }
public static void LogToTray(string data) public static void LogToTray(string data, bool ignoreSettings = false)
{ {
if (TrayIconLog != null) if (TrayIconLog != null)
{ {
if (ignoreSettings)
TrayIconLog(ignoreSettings, new DebugEventArgs(data, false));
else
TrayIconLog(null, new DebugEventArgs(data, false)); TrayIconLog(null, new DebugEventArgs(data, false));
} }
} }

View File

@ -55,6 +55,32 @@ namespace DS4Windows
public static DateTime oldnow = DateTime.UtcNow; public static DateTime oldnow = DateTime.UtcNow;
private static bool pressagain = false; private static bool pressagain = false;
private static int wheel = 0, keyshelddown = 0; private static int wheel = 0, keyshelddown = 0;
//mapcustom
public static bool[] pressedonce = new bool[261], macrodone = new bool[34];
static bool[] macroControl = new bool[25];
//actions
public static int[] fadetimer = { 0, 0, 0, 0 };
public static int[] prevFadetimer = { 0, 0, 0, 0 };
public static DS4Color[] lastColor = new DS4Color[4];
public static bool[,] actionDone = new bool[4, 50];
public static SpecialAction[] untriggeraction = new SpecialAction[4];
public static DateTime[] nowAction = { DateTime.MinValue, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue };
public static DateTime[] oldnowAction = { DateTime.MinValue, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue };
public static int[] untriggerindex = { -1, -1, -1, -1 };
public static DateTime[] oldnowKeyAct = { DateTime.MinValue, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue };
//special macros
static bool altTabDone = true;
static DateTime altTabNow = DateTime.UtcNow, oldAltTabNow = DateTime.UtcNow - TimeSpan.FromSeconds(1);
//mouse
public static int mcounter = 34;
public static int mouseaccel = 0;
public static int prevmouseaccel = 0;
private static double horizontalRemainder = 0.0, verticalRemainder = 0.0;
public static void Commit(int device) public static void Commit(int device)
{ {
SyntheticState state = deviceState[device]; SyntheticState state = deviceState[device];
@ -417,13 +443,10 @@ namespace DS4Windows
return dState; return dState;
} }
public static bool[] pressedonce = new bool[261], macrodone = new bool[34];
public static int test = 0;
static bool[] macroControl = new bool[25];
/// <summary> /// <summary>
/// Map DS4 Buttons/Axes to other DS4 Buttons/Axes (largely the same as Xinput ones) and to keyboard and mouse buttons. /// Map DS4 Buttons/Axes to other DS4 Buttons/Axes (largely the same as Xinput ones) and to keyboard and mouse buttons.
/// </summary> /// </summary>
public static async void MapCustom(int device, DS4State cState, DS4State MappedState, DS4StateExposed eState, Mouse tp, ControlService ctrl) public static void MapCustom(int device, DS4State cState, DS4State MappedState, DS4StateExposed eState, Mouse tp, ControlService ctrl)
{ {
bool shift; bool shift;
SyntheticState deviceState = Mapping.deviceState[device]; SyntheticState deviceState = Mapping.deviceState[device];
@ -475,156 +498,12 @@ namespace DS4Windows
if (getBoolMapping(customKey.Key, cState, eState, tp)) if (getBoolMapping(customKey.Key, cState, eState, tp))
{ {
resetToDefaultValue(customKey.Key, MappedState); resetToDefaultValue(customKey.Key, MappedState);
bool LXChanged = (Math.Abs(127 - MappedState.LX) < 5); PlayMacro(device, macroControl, customKey.Value, customKey.Key, keyType);
bool LYChanged = (Math.Abs(127 - MappedState.LY) < 5);
bool RXChanged = (Math.Abs(127 - MappedState.RX) < 5);
bool RYChanged = (Math.Abs(127 - MappedState.RY) < 5);
string[] skeys;
int[] keys;
if (!string.IsNullOrEmpty(customKey.Value))
{
skeys = customKey.Value.Split('/');
keys = new int[skeys.Length];
}
else
{
skeys = new string[0];
keys = new int[0];
}
for (int i = 0; i < keys.Length; i++)
keys[i] = ushort.Parse(skeys[i]);
bool[] keydown = new bool[286];
if (!macrodone[DS4ControltoInt(customKey.Key)])
{
macrodone[DS4ControltoInt(customKey.Key)] = true;
for (int i = 0; i < keys.Length; i++)
{
if (keys[i] >= 300) //ints over 300 used to delay
await Task.Delay(keys[i] - 300);
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] == 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
InputMethods.performKeyRelease((ushort)keys[i]);
keydown[keys[i]] = false;
}
}
for (ushort i = 0; i < keydown.Length; i++)
{
if (keydown[i])
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);
}
if (keyType.HasFlag(DS4KeyType.HoldMacro))
{
await Task.Delay(50);
macrodone[DS4ControltoInt(customKey.Key)] = false;
}
}
} }
else if (!getBoolMapping(customKey.Key, cState, eState, tp)) else if (!getBoolMapping(customKey.Key, cState, eState, tp))
macrodone[DS4ControltoInt(customKey.Key)] = false; {
EndMacro(device, macroControl, customKey.Value, customKey.Key);
}
} }
} }
foreach (KeyValuePair<DS4Controls, ushort> customKey in Global.getCustomKeys(device)) foreach (KeyValuePair<DS4Controls, ushort> customKey in Global.getCustomKeys(device))
@ -720,12 +599,11 @@ namespace DS4Windows
if (!pressedonce[keyvalue]) if (!pressedonce[keyvalue])
{ {
deviceState.currentClicks.toggle = !deviceState.currentClicks.toggle; deviceState.currentClicks.toggle = !deviceState.currentClicks.toggle;
test++;
pressedonce[keyvalue] = true; pressedonce[keyvalue] = true;
} }
deviceState.currentClicks.toggleCount++; deviceState.currentClicks.toggleCount++;
} }
else// if (test = 1) && pressedonce[keyvalue]) else
{ {
pressedonce[keyvalue] = false; pressedonce[keyvalue] = false;
} }
@ -969,7 +847,8 @@ namespace DS4Windows
MappedState.RY = cState.RY; MappedState.RY = cState.RY;
InputMethods.MoveCursorBy(MouseDeltaX, MouseDeltaY); InputMethods.MoveCursorBy(MouseDeltaX, MouseDeltaY);
} }
public static async void MapShiftCustom(int device, DS4State cState, DS4State MappedState, DS4StateExposed eState, Mouse tp)
public static void MapShiftCustom(int device, DS4State cState, DS4State MappedState, DS4StateExposed eState, Mouse tp)
{ {
//cState.CopyTo(MappedState); //cState.CopyTo(MappedState);
SyntheticState deviceState = Mapping.deviceState[device]; SyntheticState deviceState = Mapping.deviceState[device];
@ -979,156 +858,12 @@ namespace DS4Windows
if (getBoolMapping(customKey.Key, cState, eState, tp)) if (getBoolMapping(customKey.Key, cState, eState, tp))
{ {
resetToDefaultValue(customKey.Key, MappedState); resetToDefaultValue(customKey.Key, MappedState);
bool LXChanged = (Math.Abs(127 - MappedState.LX) < 5); PlayMacro(device, macroControl, customKey.Value, customKey.Key, keyType);
bool LYChanged = (Math.Abs(127 - MappedState.LY) < 5);
bool RXChanged = (Math.Abs(127 - MappedState.RX) < 5);
bool RYChanged = (Math.Abs(127 - MappedState.RY) < 5);
string[] skeys;
int[] keys;
if (!string.IsNullOrEmpty(customKey.Value))
{
skeys = customKey.Value.Split('/');
keys = new int[skeys.Length];
}
else
{
skeys = new string[0];
keys = new int[0];
}
for (int i = 0; i < keys.Length; i++)
keys[i] = ushort.Parse(skeys[i]);
bool[] keydown = new bool[286];
if (!macrodone[DS4ControltoInt(customKey.Key)])
{
macrodone[DS4ControltoInt(customKey.Key)] = true;
for (int i = 0; i < keys.Length; i++)
{
if (keys[i] >= 300) //ints over 300 used to delay
await Task.Delay(keys[i] - 300);
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] == 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
InputMethods.performKeyRelease((ushort)keys[i]);
keydown[keys[i]] = false;
}
}
for (ushort i = 0; i < keydown.Length; i++)
{
if (keydown[i])
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);
}
if (keyType.HasFlag(DS4KeyType.HoldMacro))
{
await Task.Delay(50);
macrodone[DS4ControltoInt(customKey.Key)] = false;
}
}
} }
else if (!getBoolMapping(customKey.Key, cState, eState, tp)) else if (!getBoolMapping(customKey.Key, cState, eState, tp))
macrodone[DS4ControltoInt(customKey.Key)] = false; {
EndMacro(device, macroControl, customKey.Value, customKey.Key);
}
} }
foreach (KeyValuePair<DS4Controls, ushort> customKey in Global.getShiftCustomKeys(device)) foreach (KeyValuePair<DS4Controls, ushort> customKey in Global.getShiftCustomKeys(device))
{ {
@ -1214,12 +949,11 @@ namespace DS4Windows
if (!pressedonce[keyvalue]) if (!pressedonce[keyvalue])
{ {
deviceState.currentClicks.toggle = !deviceState.currentClicks.toggle; deviceState.currentClicks.toggle = !deviceState.currentClicks.toggle;
test++;
pressedonce[keyvalue] = true; pressedonce[keyvalue] = true;
} }
deviceState.currentClicks.toggleCount++; deviceState.currentClicks.toggleCount++;
} }
else// if (test = 1)// && pressedonce[keyvalue]) else
{ {
pressedonce[keyvalue] = false; pressedonce[keyvalue] = false;
} }
@ -1449,11 +1183,6 @@ namespace DS4Windows
InputMethods.MoveCursorBy(MouseDeltaX, MouseDeltaY); InputMethods.MoveCursorBy(MouseDeltaX, MouseDeltaY);
} }
public static bool[,] actionDone = new bool[4,50];
public static SpecialAction[] untriggeraction = new SpecialAction[4];
public static DateTime[] oldnowAction = { DateTime.MinValue, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue };
public static int[] untriggerindex = { -1, -1, -1, -1 };
public static DateTime[] oldnowKeyAct = { DateTime.MinValue, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue };
public static async void MapCustomAction(int device, DS4State cState, DS4State MappedState, DS4StateExposed eState, Mouse tp, ControlService ctrl) public static async void MapCustomAction(int device, DS4State cState, DS4State MappedState, DS4StateExposed eState, Mouse tp, ControlService ctrl)
{ {
foreach (string actionname in Global.ProfileActions[device]) foreach (string actionname in Global.ProfileActions[device])
@ -1471,7 +1200,7 @@ namespace DS4Windows
if (!(action.name == "null" || index < 0)) if (!(action.name == "null" || index < 0))
{ {
bool triggeractivated = true; bool triggeractivated = true;
if (action.type == "DisconnectBT" && double.Parse(action.details) > 0) if ((action.type == "DisconnectBT" && double.Parse(action.details) > 0) || (action.type == "BatteryCheck" && double.Parse(action.details.Split(',')[0]) > 0))
{ {
triggeractivated = false; triggeractivated = false;
bool subtriggeractivated = true; bool subtriggeractivated = true;
@ -1485,12 +1214,15 @@ namespace DS4Windows
} }
if (subtriggeractivated) if (subtriggeractivated)
{ {
if (action.type == "DisconnectBT")
time = double.Parse(action.details); time = double.Parse(action.details);
DateTime now = DateTime.UtcNow; else
if (now >= oldnowAction[device] + TimeSpan.FromMilliseconds(time * 1000)) time = double.Parse(action.details.Split(',')[0]);
nowAction[device] = DateTime.UtcNow;
if (nowAction[device] >= oldnowAction[device] + TimeSpan.FromSeconds(time))
triggeractivated = true; triggeractivated = true;
} }
else else if (nowAction[device] < DateTime.UtcNow - TimeSpan.FromMilliseconds(100))
oldnowAction[device] = DateTime.UtcNow; oldnowAction[device] = DateTime.UtcNow;
} }
else if (triggerToBeTapped && oldnowKeyAct[device] == DateTime.MinValue) else if (triggerToBeTapped && oldnowKeyAct[device] == DateTime.MinValue)
@ -1594,9 +1326,195 @@ namespace DS4Windows
actionDone[device, index] = true; actionDone[device, index] = true;
foreach (DS4Controls dc in action.trigger) foreach (DS4Controls dc in action.trigger)
resetToDefaultValue(dc, MappedState); resetToDefaultValue(dc, MappedState);
PlayMacro(device, macroControl, String.Join("/", action.macro), DS4Controls.None, keyType);
}
else
EndMacro(device, macroControl, String.Join("/", action.macro), DS4Controls.None);
}
else if (triggeractivated && action.type == "Key")
{
if (action.uTrigger.Count == 0 || (action.uTrigger.Count > 0 && untriggerindex[device] == -1 && !actionDone[device, index]))
{
actionDone[device, index] = true;
untriggerindex[device] = index;
ushort key;
ushort.TryParse(action.details, out key);
if (action.uTrigger.Count == 0)
{
SyntheticState.KeyPresses kp;
if (!deviceState[device].keyPresses.TryGetValue(key, out kp))
deviceState[device].keyPresses[key] = kp = new SyntheticState.KeyPresses();
if (action.keyType.HasFlag(DS4KeyType.ScanCode))
kp.current.scanCodeCount++;
else
kp.current.vkCount++;
kp.current.repeatCount++;
}
else if (action.keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyPress(key);
else
InputMethods.performKeyPress(key);
}
}
else if (action.uTrigger.Count > 0 && utriggeractivated && action.type == "Key")
{
if (untriggerindex[device] > -1 && !actionDone[device, index])
{
actionDone[device, index] = true;
untriggerindex[device] = -1;
ushort key;
ushort.TryParse(action.details, out key);
if (action.keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyRelease(key);
else
InputMethods.performKeyRelease(key);
}
}
else if (triggeractivated && action.type == "DisconnectBT")
{
DS4Device d = ctrl.DS4Controllers[device];
if (!d.Charging)
{
d.DisconnectBT();
foreach (DS4Controls dc in action.trigger)
{
InputMethods.performKeyRelease(Global.getCustomKey(0, dc));
string[] skeys = Global.getCustomMacro(0, dc).Split('/');
ushort[] keys = new ushort[skeys.Length];
for (int i = 0; i < keys.Length; i++)
{
keys[i] = ushort.Parse(skeys[i]);
InputMethods.performKeyRelease(keys[i]);
}
}
return;
}
}
else if (triggeractivated && action.type == "BatteryCheck")
{
string[] dets = action.details.Split(',');
if (bool.Parse(dets[1]) && !actionDone[device, index])
{
Log.LogToTray("Controller " + (device + 1) + ": " +
ctrl.getDS4Battery(device), true);
}
if (bool.Parse(dets[2]))
{
DS4Device d = ctrl.DS4Controllers[device];
if (!actionDone[device, index])
{
lastColor[device] = d.LightBarColor;
DS4LightBar.forcelight[device] = true;
}
DS4Color empty = new DS4Color(byte.Parse(dets[3]), byte.Parse(dets[4]), byte.Parse(dets[5]));
DS4Color full = new DS4Color(byte.Parse(dets[6]), byte.Parse(dets[7]), byte.Parse(dets[8]));
DS4Color trans = Global.getTransitionedColor(empty, full, d.Battery);
if (fadetimer[device] < 100)
DS4LightBar.forcedColor[device] = Global.getTransitionedColor(lastColor[device], trans, fadetimer[device] += 2);
}
actionDone[device, index] = true;
}
else if (!triggeractivated && action.type == "BatteryCheck")
{
if (actionDone[device, index])
{
fadetimer[device] = 0;
/*if (prevFadetimer[device] == fadetimer[device])
{
prevFadetimer[device] = 0;
fadetimer[device] = 0;
}
else
prevFadetimer[device] = fadetimer[device];*/
DS4LightBar.forcelight[device] = false;
actionDone[device, index] = false;
}
}
else
actionDone[device, index] = false;
}
}
if (untriggeraction[device] != null)
{
SpecialAction action = untriggeraction[device];
int index = untriggerindex[device];
bool utriggeractivated = true;
foreach (DS4Controls dc in action.uTrigger)
{
if (!getBoolMapping(dc, cState, eState, tp))
{
utriggeractivated = false;
break;
}
}
if (utriggeractivated && action.type == "Profile")
{
if ((action.controls == action.ucontrols && !actionDone[device, index]) || //if trigger and end trigger are the same
action.controls != action.ucontrols)
if (!string.IsNullOrEmpty(Global.tempprofilename[device]))
{
foreach (DS4Controls dc in action.uTrigger)
{
actionDone[device, index] = true;
InputMethods.performKeyRelease(Global.getCustomKey(0, dc));
string[] skeys = Global.getCustomMacro(0, dc).Split('/');
ushort[] keys = new ushort[skeys.Length];
for (int i = 0; i < keys.Length; i++)
{
keys[i] = ushort.Parse(skeys[i]);
InputMethods.performKeyRelease(keys[i]);
}
}
untriggeraction[device] = null;
Global.LoadProfile(device, false, ctrl);
}
}
else
actionDone[device, index] = false;
}
}
private static async void PlayMacro(int device, bool[] macrocontrol, string macro, DS4Controls control, DS4KeyType keyType)
{
if (macro.StartsWith("164/9/9/164") || macro.StartsWith("18/9/9/18"))
{
string[] skeys;
int wait = 1000;
if (!string.IsNullOrEmpty(macro))
{
skeys = macro.Split('/');
ushort delay;
if (ushort.TryParse(skeys[skeys.Length - 1], out delay) && delay > 300)
wait = delay - 300;
}
AltTabSwapping(wait, device);
if (control != DS4Controls.None)
macrodone[DS4ControltoInt(control)] = true;
}
else
{
string[] skeys;
int[] keys;
if (!string.IsNullOrEmpty(macro))
{
skeys = macro.Split('/');
keys = new int[skeys.Length];
}
else
{
skeys = new string[0];
keys = new int[0];
}
for (int i = 0; i < keys.Length; i++)
keys[i] = ushort.Parse(skeys[i]);
bool[] keydown = new bool[286]; bool[] keydown = new bool[286];
#region macro if (control == DS4Controls.None || !macrodone[DS4ControltoInt(control)])
foreach (int i in action.macro) {
if (control != DS4Controls.None)
macrodone[DS4ControltoInt(control)] = true;
foreach (int i in keys)
{ {
if (i >= 300) //ints over 300 used to delay if (i >= 300) //ints over 300 used to delay
await Task.Delay(i - 300); await Task.Delay(i - 300);
@ -1702,129 +1620,64 @@ namespace DS4Windows
else if (i == 275) macroControl[14] = false; else if (i == 275) macroControl[14] = false;
else if (i == 276) macroControl[15] = false; else if (i == 276) macroControl[15] = false;
else if (i == 277) macroControl[16] = false; else if (i == 277) macroControl[16] = false;
else if (i == 278) macroControl[17] = false; else if (keys[i] == 278) macroControl[17] = false;
else if (i == 279) macroControl[18] = false; else if (keys[i] == 279) macroControl[18] = false;
else if (i == 280) macroControl[19] = false; else if (keys[i] == 280) macroControl[19] = false;
else if (i == 281) macroControl[20] = false; else if (keys[i] == 281) macroControl[20] = false;
else if (i == 282) macroControl[21] = false; else if (keys[i] == 282) macroControl[21] = false;
else if (i == 283) macroControl[22] = false; else if (keys[i] == 283) macroControl[22] = false;
else if (i == 284) macroControl[23] = false; else if (keys[i] == 284) macroControl[23] = false;
else if (i == 285) macroControl[24] = false; else if (keys[i] == 285) macroControl[24] = false;
else if (keyType.HasFlag(DS4KeyType.ScanCode)) else if (keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyRelease(i); InputMethods.performSCKeyRelease(i);
else else
InputMethods.performKeyRelease(i); InputMethods.performKeyRelease(i);
} }
/*if (keyType.HasFlag(DS4KeyType.HoldMacro)) if (keyType.HasFlag(DS4KeyType.HoldMacro))
{ {
await Task.Delay(50); await Task.Delay(50);
actionDone[device,index] = false; if (control != DS4Controls.None)
}*/ macrodone[DS4ControltoInt(control)] = false;
#endregion
} }
} }
else if (triggeractivated && action.type == "Key")
{
if (action.uTrigger.Count == 0 || (action.uTrigger.Count > 0 && untriggerindex[device] == -1 && !actionDone[device, index]))
{
actionDone[device, index] = true;
untriggerindex[device] = index;
ushort key;
ushort.TryParse(action.details, out key);
if (action.uTrigger.Count == 0)
{
SyntheticState.KeyPresses kp;
if (!deviceState[device].keyPresses.TryGetValue(key, out kp))
deviceState[device].keyPresses[key] = kp = new SyntheticState.KeyPresses();
if (action.keyType.HasFlag(DS4KeyType.ScanCode))
kp.current.scanCodeCount++;
else
kp.current.vkCount++;
kp.current.repeatCount++;
}
else if (action.keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyPress(key);
else
InputMethods.performKeyPress(key);
}
}
else if (action.uTrigger.Count > 0 && utriggeractivated && action.type == "Key")
{
if (untriggerindex[device] > -1 && !actionDone[device, index])
{
actionDone[device, index] = true;
untriggerindex[device] = -1;
ushort key;
ushort.TryParse(action.details, out key);
if (action.keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyRelease(key);
else
InputMethods.performKeyRelease(key);
}
}
else if (triggeractivated && action.type == "DisconnectBT")
{
DS4Device d = ctrl.DS4Controllers[device];
if (!d.Charging)
{
d.DisconnectBT();
foreach (DS4Controls dc in action.trigger)
{
InputMethods.performKeyRelease(Global.getCustomKey(0, dc));
string[] skeys = Global.getCustomMacro(0, dc).Split('/');
ushort[] keys = new ushort[skeys.Length];
for (int i = 0; i < keys.Length; i++)
{
keys[i] = ushort.Parse(skeys[i]);
InputMethods.performKeyRelease(keys[i]);
}
}
return;
}
}
else
actionDone[device, index] = false;
} }
} }
if (untriggeraction[device] != null) private static void EndMacro(int device, bool[] macrocontrol, string macro, DS4Controls control)
{ {
SpecialAction action = untriggeraction[device]; if ((macro.StartsWith("164/9/9/164") || macro.StartsWith("18/9/9/18")) && !altTabDone)
int index = untriggerindex[device]; AltTabSwappingRelease();
bool utriggeractivated = true; if (control != DS4Controls.None)
foreach (DS4Controls dc in action.uTrigger) macrodone[DS4ControltoInt(control)] = false;
}
private static void AltTabSwapping(int wait, int device)
{ {
if (!getBoolMapping(dc, cState, eState, tp)) if (altTabDone)
{ {
utriggeractivated = false; altTabDone = false;
break; InputMethods.performKeyPress(18);
}
else
{
altTabNow = DateTime.UtcNow;
if (altTabNow >= oldAltTabNow + TimeSpan.FromMilliseconds(wait))
{
oldAltTabNow = altTabNow;
InputMethods.performKeyPress(9);
InputMethods.performKeyRelease(9);
}
} }
} }
if (utriggeractivated && action.type == "Profile") private static void AltTabSwappingRelease()
{ {
if ((action.controls == action.ucontrols && !actionDone[device, index]) || //if trigger and end trigger are the same if (altTabNow < DateTime.UtcNow - TimeSpan.FromMilliseconds(10)) //in case multiple controls are mapped to alt+tab
action.controls != action.ucontrols)
if (!string.IsNullOrEmpty(Global.tempprofilename[device]))
{ {
foreach (DS4Controls dc in action.uTrigger) altTabDone = true;
{ InputMethods.performKeyRelease(9);
actionDone[device, index] = true; InputMethods.performKeyRelease(18);
InputMethods.performKeyRelease(Global.getCustomKey(0, dc)); altTabNow = DateTime.UtcNow;
string[] skeys = Global.getCustomMacro(0, dc).Split('/'); oldAltTabNow = DateTime.UtcNow - TimeSpan.FromDays(1);
ushort[] keys = new ushort[skeys.Length];
for (int i = 0; i < keys.Length; i++)
{
keys[i] = ushort.Parse(skeys[i]);
InputMethods.performKeyRelease(keys[i]);
}
}
untriggeraction[device] = null;
Global.LoadProfile(device, false, ctrl);
}
}
else
actionDone[device, index] = false;
} }
} }
@ -1838,11 +1691,6 @@ namespace DS4Windows
} }
} }
public static int mcounter = 34;
public static int mouseaccel = 0;
public static int prevmouseaccel = 0;
private static double horizontalRemainder = 0.0, verticalRemainder = 0.0;
private static int getMouseMapping(int device, DS4Controls control, DS4State cState, DS4StateExposed eState, int mnum) private static int getMouseMapping(int device, DS4Controls control, DS4State cState, DS4StateExposed eState, int mnum)
{ {
int controlnum = DS4ControltoInt(control); int controlnum = DS4ControltoInt(control);

View File

@ -530,7 +530,7 @@ namespace DS4Windows
else if (r < 0) else if (r < 0)
r = 0; r = 0;
r /= 100f; r /= 100f;
return (byte)(b1 * r + b2 * (1 - r)); return (byte)Math.Round((b1 * (1 - r) + b2 *r),0);
} }
public static DS4Color getTransitionedColor(DS4Color c1, DS4Color c2, double ratio) public static DS4Color getTransitionedColor(DS4Color c1, DS4Color c2, double ratio)
{//; {//;
@ -1846,6 +1846,10 @@ namespace DS4Windows
el.AppendChild(m_Xdoc.CreateElement("Type")).InnerText = "DisconnectBT"; el.AppendChild(m_Xdoc.CreateElement("Type")).InnerText = "DisconnectBT";
el.AppendChild(m_Xdoc.CreateElement("Details")).InnerText = details; el.AppendChild(m_Xdoc.CreateElement("Details")).InnerText = details;
break; break;
case 6:
el.AppendChild(m_Xdoc.CreateElement("Type")).InnerText = "BatteryCheck";
el.AppendChild(m_Xdoc.CreateElement("Details")).InnerText = details;
break;
} }
if (edit) if (edit)
{ {
@ -2031,6 +2035,11 @@ namespace DS4Windows
case "Swipe Down": return DS4Controls.SwipeDown; case "Swipe Down": return DS4Controls.SwipeDown;
case "Swipe Left": return DS4Controls.SwipeLeft; case "Swipe Left": return DS4Controls.SwipeLeft;
case "Swipe Right": return DS4Controls.SwipeRight; case "Swipe Right": return DS4Controls.SwipeRight;
case "Tilt Up": return DS4Controls.GyroZNeg;
case "Tilt Down": return DS4Controls.GyroZPos;
case "Tilt Left": return DS4Controls.GyroXPos;
case "Tilt Right": return DS4Controls.GyroXNeg;
} }
return 0; return 0;
} }

View File

@ -517,9 +517,6 @@ namespace DS4Windows
p.StartInfo.Verb = "runas"; p.StartInfo.Verb = "runas";
try { p.Start(); } try { p.Start(); }
catch { } catch { }
//WelcomeDialog wd = new WelcomeDialog();
//wd.ShowDialog();
//wd.FormClosed += delegate { btnStartStop_Clicked(false); btnStartStop_Clicked(false); };
} }
} }
catch catch
@ -670,7 +667,7 @@ namespace DS4Windows
protected void ShowNotification(object sender, DebugEventArgs args) protected void ShowNotification(object sender, DebugEventArgs args)
{ {
if (Form.ActiveForm != this && cBNotifications.Checked) if (Form.ActiveForm != this && (cBNotifications.Checked || sender != null))
{ {
this.notifyIcon1.BalloonTipText = args.Data; this.notifyIcon1.BalloonTipText = args.Data;
notifyIcon1.BalloonTipTitle = "DS4Windows"; notifyIcon1.BalloonTipTitle = "DS4Windows";

View File

@ -120,33 +120,12 @@
<data name="chTime.Text" xml:space="preserve"> <data name="chTime.Text" xml:space="preserve">
<value>Ora</value> <value>Ora</value>
</data> </data>
<data name="lvDebug.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbTest.ToolTip" xml:space="preserve">
<value />
</data>
<data name="btnStartStop.Text" xml:space="preserve"> <data name="btnStartStop.Text" xml:space="preserve">
<value>Inizia</value> <value>Inizia</value>
</data> </data>
<data name="btnStartStop.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbLastMessage.ToolTip" xml:space="preserve">
<value />
</data>
<data name="llbHelp.ToolTip" xml:space="preserve">
<value />
</data>
<data name="pnlButton.ToolTip" xml:space="preserve">
<value />
</data>
<data name="btnClear.Text" xml:space="preserve"> <data name="btnClear.Text" xml:space="preserve">
<value>Pulisci</value> <value>Pulisci</value>
</data> </data>
<data name="btnClear.ToolTip" xml:space="preserve">
<value />
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="editProfileForController1ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="editProfileForController1ToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>244, 22</value> <value>244, 22</value>
@ -196,9 +175,6 @@
<data name="cMTaskbar.Size" type="System.Drawing.Size, System.Drawing"> <data name="cMTaskbar.Size" type="System.Drawing.Size, System.Drawing">
<value>245, 164</value> <value>245, 164</value>
</data> </data>
<data name="cMTaskbar.ToolTip" xml:space="preserve">
<value />
</data>
<data name="notifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="notifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAABAAYAEBAAAAAAIABoBAAAZgAAACAgAAAAACAAqBAAAM4EAAAwMAAAAAAgAKglAAB2FQAAQEAAAAAA AAABAAYAEBAAAAAAIABoBAAAZgAAACAgAAAAACAAqBAAAM4EAAAwMAAAAAAgAKglAAB2FQAAQEAAAAAA
@ -6430,15 +6406,6 @@
<data name="pBStatus1.Location" type="System.Drawing.Point, System.Drawing"> <data name="pBStatus1.Location" type="System.Drawing.Point, System.Drawing">
<value>412, 19</value> <value>412, 19</value>
</data> </data>
<data name="pBStatus1.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbPad1.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbPad2.ToolTip" xml:space="preserve">
<value />
</data>
<data name="bnEditC3.Location" type="System.Drawing.Point, System.Drawing"> <data name="bnEditC3.Location" type="System.Drawing.Point, System.Drawing">
<value>835, 74</value> <value>835, 74</value>
</data> </data>
@ -6448,9 +6415,6 @@
<data name="bnEditC3.Text" xml:space="preserve"> <data name="bnEditC3.Text" xml:space="preserve">
<value>Modifica</value> <value>Modifica</value>
</data> </data>
<data name="bnEditC3.ToolTip" xml:space="preserve">
<value />
</data>
<data name="bnEditC4.Location" type="System.Drawing.Point, System.Drawing"> <data name="bnEditC4.Location" type="System.Drawing.Point, System.Drawing">
<value>835, 103</value> <value>835, 103</value>
</data> </data>
@ -6460,21 +6424,9 @@
<data name="bnEditC4.Text" xml:space="preserve"> <data name="bnEditC4.Text" xml:space="preserve">
<value>Modifica</value> <value>Modifica</value>
</data> </data>
<data name="bnEditC4.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbPad3.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbPad4.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBController1.Location" type="System.Drawing.Point, System.Drawing"> <data name="cBController1.Location" type="System.Drawing.Point, System.Drawing">
<value>718, 18</value> <value>718, 18</value>
</data> </data>
<data name="cBController1.ToolTip" xml:space="preserve">
<value />
</data>
<data name="bnEditC2.Location" type="System.Drawing.Point, System.Drawing"> <data name="bnEditC2.Location" type="System.Drawing.Point, System.Drawing">
<value>835, 46</value> <value>835, 46</value>
</data> </data>
@ -6484,21 +6436,12 @@
<data name="bnEditC2.Text" xml:space="preserve"> <data name="bnEditC2.Text" xml:space="preserve">
<value>Modifica</value> <value>Modifica</value>
</data> </data>
<data name="bnEditC2.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBController2.Location" type="System.Drawing.Point, System.Drawing"> <data name="cBController2.Location" type="System.Drawing.Point, System.Drawing">
<value>718, 46</value> <value>718, 46</value>
</data> </data>
<data name="cBController2.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBController3.Location" type="System.Drawing.Point, System.Drawing"> <data name="cBController3.Location" type="System.Drawing.Point, System.Drawing">
<value>718, 74</value> <value>718, 74</value>
</data> </data>
<data name="cBController3.ToolTip" xml:space="preserve">
<value />
</data>
<data name="bnEditC1.Location" type="System.Drawing.Point, System.Drawing"> <data name="bnEditC1.Location" type="System.Drawing.Point, System.Drawing">
<value>835, 18</value> <value>835, 18</value>
</data> </data>
@ -6508,60 +6451,30 @@
<data name="bnEditC1.Text" xml:space="preserve"> <data name="bnEditC1.Text" xml:space="preserve">
<value>Modifica</value> <value>Modifica</value>
</data> </data>
<data name="bnEditC1.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBController4.Location" type="System.Drawing.Point, System.Drawing"> <data name="cBController4.Location" type="System.Drawing.Point, System.Drawing">
<value>718, 104</value> <value>718, 104</value>
</data> </data>
<data name="cBController4.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbSelectedProfile.Location" type="System.Drawing.Point, System.Drawing"> <data name="lbSelectedProfile.Location" type="System.Drawing.Point, System.Drawing">
<value>719, 0</value> <value>719, 0</value>
</data> </data>
<data name="lbSelectedProfile.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbID.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbStatus.Location" type="System.Drawing.Point, System.Drawing"> <data name="lbStatus.Location" type="System.Drawing.Point, System.Drawing">
<value>408, 0</value> <value>408, 0</value>
</data> </data>
<data name="lbStatus.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbBattery.Location" type="System.Drawing.Point, System.Drawing"> <data name="lbBattery.Location" type="System.Drawing.Point, System.Drawing">
<value>598, 0</value> <value>598, 0</value>
</data> </data>
<data name="lbBattery.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbBatt1.Location" type="System.Drawing.Point, System.Drawing"> <data name="lbBatt1.Location" type="System.Drawing.Point, System.Drawing">
<value>604, 21</value> <value>604, 21</value>
</data> </data>
<data name="lbBatt1.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbBatt2.Location" type="System.Drawing.Point, System.Drawing"> <data name="lbBatt2.Location" type="System.Drawing.Point, System.Drawing">
<value>604, 49</value> <value>604, 49</value>
</data> </data>
<data name="lbBatt2.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbBatt3.Location" type="System.Drawing.Point, System.Drawing"> <data name="lbBatt3.Location" type="System.Drawing.Point, System.Drawing">
<value>604, 77</value> <value>604, 77</value>
</data> </data>
<data name="lbBatt3.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbBatt4.Location" type="System.Drawing.Point, System.Drawing"> <data name="lbBatt4.Location" type="System.Drawing.Point, System.Drawing">
<value>604, 107</value> <value>604, 107</value>
</data> </data>
<data name="lbBatt4.ToolTip" xml:space="preserve">
<value />
</data>
<data name="pBStatus2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="pBStatus2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACcAAAAUCAYAAAAOTSQ2AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH iVBORw0KGgoAAAANSUhEUgAAACcAAAAUCAYAAAAOTSQ2AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
@ -6621,9 +6534,6 @@
<data name="pBStatus2.Location" type="System.Drawing.Point, System.Drawing"> <data name="pBStatus2.Location" type="System.Drawing.Point, System.Drawing">
<value>412, 47</value> <value>412, 47</value>
</data> </data>
<data name="pBStatus2.ToolTip" xml:space="preserve">
<value />
</data>
<data name="pBStatus3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="pBStatus3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACcAAAAUCAYAAAAOTSQ2AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH iVBORw0KGgoAAAANSUhEUgAAACcAAAAUCAYAAAAOTSQ2AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
@ -6683,9 +6593,6 @@
<data name="pBStatus3.Location" type="System.Drawing.Point, System.Drawing"> <data name="pBStatus3.Location" type="System.Drawing.Point, System.Drawing">
<value>412, 75</value> <value>412, 75</value>
</data> </data>
<data name="pBStatus3.ToolTip" xml:space="preserve">
<value />
</data>
<data name="pBStatus4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="pBStatus4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACcAAAAUCAYAAAAOTSQ2AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH iVBORw0KGgoAAAANSUhEUgAAACcAAAAUCAYAAAAOTSQ2AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
@ -6745,21 +6652,9 @@
<data name="pBStatus4.Location" type="System.Drawing.Point, System.Drawing"> <data name="pBStatus4.Location" type="System.Drawing.Point, System.Drawing">
<value>412, 104</value> <value>412, 104</value>
</data> </data>
<data name="pBStatus4.ToolTip" xml:space="preserve">
<value />
</data>
<data name="tLPControllers.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbNoControllers.ToolTip" xml:space="preserve">
<value />
</data>
<data name="tabControllers.Text" xml:space="preserve"> <data name="tabControllers.Text" xml:space="preserve">
<value>Controller</value> <value>Controller</value>
</data> </data>
<data name="tabControllers.ToolTip" xml:space="preserve">
<value />
</data>
<data name="editToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="editToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 22</value> <value>192, 22</value>
</data> </data>
@ -6823,12 +6718,6 @@
<data name="cMProfile.Size" type="System.Drawing.Size, System.Drawing"> <data name="cMProfile.Size" type="System.Drawing.Size, System.Drawing">
<value>193, 224</value> <value>193, 224</value>
</data> </data>
<data name="cMProfile.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lBProfiles.ToolTip" xml:space="preserve">
<value />
</data>
<data name="toolStripLabel1.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripLabel1.Size" type="System.Drawing.Size, System.Drawing">
<value>81, 22</value> <value>81, 22</value>
</data> </data>
@ -6859,9 +6748,6 @@
<data name="tSOptions.Text" xml:space="preserve"> <data name="tSOptions.Text" xml:space="preserve">
<value>Opzioni Profilo</value> <value>Opzioni Profilo</value>
</data> </data>
<data name="tSOptions.ToolTip" xml:space="preserve">
<value />
</data>
<data name="tsBNewProfle.Size" type="System.Drawing.Size, System.Drawing"> <data name="tsBNewProfle.Size" type="System.Drawing.Size, System.Drawing">
<value>63, 22</value> <value>63, 22</value>
</data> </data>
@ -6951,217 +6837,121 @@
<data name="tSBExportProfile.ToolTipText" xml:space="preserve"> <data name="tSBExportProfile.ToolTipText" xml:space="preserve">
<value>Esporta Profilo Selezionato</value> <value>Esporta Profilo Selezionato</value>
</data> </data>
<data name="toolStrip1.ToolTip" xml:space="preserve">
<value />
</data>
<data name="tabProfiles.Text" xml:space="preserve"> <data name="tabProfiles.Text" xml:space="preserve">
<value>Profili</value> <value>Profili</value>
</data> </data>
<data name="tabProfiles.ToolTip" xml:space="preserve">
<value />
</data>
<data name="tabAutoProfiles.Text" xml:space="preserve"> <data name="tabAutoProfiles.Text" xml:space="preserve">
<value>Profili Automatici</value> <value>Profili Automatici</value>
</data> </data>
<data name="tabAutoProfiles.ToolTip" xml:space="preserve">
<value />
</data>
<data name="hideDS4CheckBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="hideDS4CheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>142, 17</value> <value>142, 17</value>
</data> </data>
<data name="hideDS4CheckBox.Text" xml:space="preserve"> <data name="hideDS4CheckBox.Text" xml:space="preserve">
<value>Nascondi Controller DS4</value> <value>Nascondi Controller DS4</value>
</data> </data>
<data name="hideDS4CheckBox.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBSwipeProfiles.Size" type="System.Drawing.Size, System.Drawing"> <data name="cBSwipeProfiles.Size" type="System.Drawing.Size, System.Drawing">
<value>214, 17</value> <value>214, 17</value>
</data> </data>
<data name="cBSwipeProfiles.Text" xml:space="preserve"> <data name="cBSwipeProfiles.Text" xml:space="preserve">
<value>Swipe sul Touchpad per cambiare profili</value> <value>Swipe sul Touchpad per cambiare profili</value>
</data> </data>
<data name="cBSwipeProfiles.ToolTip" xml:space="preserve">
<value />
</data>
<data name="StartWindowsCheckBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="StartWindowsCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>86, 17</value> <value>86, 17</value>
</data> </data>
<data name="StartWindowsCheckBox.Text" xml:space="preserve"> <data name="StartWindowsCheckBox.Text" xml:space="preserve">
<value>Apri all'Avvio</value> <value>Apri all'Avvio</value>
</data> </data>
<data name="StartWindowsCheckBox.ToolTip" xml:space="preserve">
<value />
</data>
<data name="startMinimizedCheckBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="startMinimizedCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>101, 17</value> <value>101, 17</value>
</data> </data>
<data name="startMinimizedCheckBox.Text" xml:space="preserve"> <data name="startMinimizedCheckBox.Text" xml:space="preserve">
<value>Apri Minimizzato</value> <value>Apri Minimizzato</value>
</data> </data>
<data name="startMinimizedCheckBox.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBNotifications.Size" type="System.Drawing.Size, System.Drawing"> <data name="cBNotifications.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 17</value> <value>103, 17</value>
</data> </data>
<data name="cBNotifications.Text" xml:space="preserve"> <data name="cBNotifications.Text" xml:space="preserve">
<value>Mostra Notifiche</value> <value>Mostra Notifiche</value>
</data> </data>
<data name="cBNotifications.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBDisconnectBT.Size" type="System.Drawing.Size, System.Drawing"> <data name="cBDisconnectBT.Size" type="System.Drawing.Size, System.Drawing">
<value>190, 17</value> <value>190, 17</value>
</data> </data>
<data name="cBDisconnectBT.Text" xml:space="preserve"> <data name="cBDisconnectBT.Text" xml:space="preserve">
<value>Disconnetti da BT durante l'Arresto</value> <value>Disconnetti da BT durante l'Arresto</value>
</data> </data>
<data name="cBDisconnectBT.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBCloseMini.Size" type="System.Drawing.Size, System.Drawing"> <data name="cBCloseMini.Size" type="System.Drawing.Size, System.Drawing">
<value>121, 17</value> <value>121, 17</value>
</data> </data>
<data name="cBCloseMini.Text" xml:space="preserve"> <data name="cBCloseMini.Text" xml:space="preserve">
<value>Chiudi Minimizzando</value> <value>Chiudi Minimizzando</value>
</data> </data>
<data name="cBCloseMini.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBQuickCharge.Size" type="System.Drawing.Size, System.Drawing"> <data name="cBQuickCharge.Size" type="System.Drawing.Size, System.Drawing">
<value>92, 17</value> <value>92, 17</value>
</data> </data>
<data name="cBQuickCharge.Text" xml:space="preserve"> <data name="cBQuickCharge.Text" xml:space="preserve">
<value>Carica Veloce</value> <value>Carica Veloce</value>
</data> </data>
<data name="cBQuickCharge.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBUpdate.Size" type="System.Drawing.Size, System.Drawing"> <data name="cBUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>179, 17</value> <value>179, 17</value>
</data> </data>
<data name="cBUpdate.Text" xml:space="preserve"> <data name="cBUpdate.Text" xml:space="preserve">
<value>Controlla Aggiornamenti all'Avvio</value> <value>Controlla Aggiornamenti all'Avvio</value>
</data> </data>
<data name="cBUpdate.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBDownloadLangauge.Size" type="System.Drawing.Size, System.Drawing"> <data name="cBDownloadLangauge.Size" type="System.Drawing.Size, System.Drawing">
<value>244, 17</value> <value>244, 17</value>
</data> </data>
<data name="cBDownloadLangauge.Text" xml:space="preserve"> <data name="cBDownloadLangauge.Text" xml:space="preserve">
<value>Scarica Pacchetto Lingua con Aggiornamento</value> <value>Scarica Pacchetto Lingua con Aggiornamento</value>
</data> </data>
<data name="cBDownloadLangauge.ToolTip" xml:space="preserve">
<value />
</data>
<data name="cBUpdateTime.Items" xml:space="preserve"> <data name="cBUpdateTime.Items" xml:space="preserve">
<value>ore</value> <value>ore</value>
</data> </data>
<data name="cBUpdateTime.Items1" xml:space="preserve"> <data name="cBUpdateTime.Items1" xml:space="preserve">
<value>giorni</value> <value>giorni</value>
</data> </data>
<data name="cBUpdateTime.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbCheckEvery.ToolTip" xml:space="preserve">
<value />
</data>
<data name="nUDUpdateTime.ToolTip" xml:space="preserve">
<value />
</data>
<data name="pNUpdate.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbUseXIPorts.Size" type="System.Drawing.Size, System.Drawing"> <data name="lbUseXIPorts.Size" type="System.Drawing.Size, System.Drawing">
<value>87, 13</value> <value>87, 13</value>
</data> </data>
<data name="lbUseXIPorts.Text" xml:space="preserve"> <data name="lbUseXIPorts.Text" xml:space="preserve">
<value>Usa Porte Xinput</value> <value>Usa Porte Xinput</value>
</data> </data>
<data name="lbUseXIPorts.ToolTip" xml:space="preserve">
<value />
</data>
<data name="nUDXIPorts.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lbLastXIPort.ToolTip" xml:space="preserve">
<value />
</data>
<data name="pnlXIPorts.ToolTip" xml:space="preserve">
<value />
</data>
<data name="linkProfiles.Size" type="System.Drawing.Size, System.Drawing"> <data name="linkProfiles.Size" type="System.Drawing.Size, System.Drawing">
<value>70, 13</value> <value>70, 13</value>
</data> </data>
<data name="linkProfiles.Text" xml:space="preserve"> <data name="linkProfiles.Text" xml:space="preserve">
<value>Cartella Profili</value> <value>Cartella Profili</value>
</data> </data>
<data name="linkProfiles.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lnkControllers.Size" type="System.Drawing.Size, System.Drawing"> <data name="lnkControllers.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 13</value> <value>103, 13</value>
</data> </data>
<data name="lnkControllers.Text" xml:space="preserve"> <data name="lnkControllers.Text" xml:space="preserve">
<value>Pannello di Controllo</value> <value>Pannello di Controllo</value>
</data> </data>
<data name="lnkControllers.ToolTip" xml:space="preserve">
<value />
</data>
<data name="linkUninstall.Size" type="System.Drawing.Size, System.Drawing"> <data name="linkUninstall.Size" type="System.Drawing.Size, System.Drawing">
<value>113, 13</value> <value>113, 13</value>
</data> </data>
<data name="linkUninstall.Text" xml:space="preserve"> <data name="linkUninstall.Text" xml:space="preserve">
<value>Disinstalla Driver VBus</value> <value>Disinstalla Driver VBus</value>
</data> </data>
<data name="linkUninstall.ToolTip" xml:space="preserve">
<value />
</data>
<data name="linkSetup.Size" type="System.Drawing.Size, System.Drawing"> <data name="linkSetup.Size" type="System.Drawing.Size, System.Drawing">
<value>157, 13</value> <value>157, 13</value>
</data> </data>
<data name="linkSetup.Text" xml:space="preserve"> <data name="linkSetup.Text" xml:space="preserve">
<value>Configurazione Controller/Driver</value> <value>Configurazione Controller/Driver</value>
</data> </data>
<data name="linkSetup.ToolTip" xml:space="preserve">
<value />
</data>
<data name="lLBUpdate.Size" type="System.Drawing.Size, System.Drawing"> <data name="lLBUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>138, 13</value> <value>138, 13</value>
</data> </data>
<data name="lLBUpdate.Text" xml:space="preserve"> <data name="lLBUpdate.Text" xml:space="preserve">
<value>Controlla Aggiornamenti Ora</value> <value>Controlla Aggiornamenti Ora</value>
</data> </data>
<data name="lLBUpdate.ToolTip" xml:space="preserve">
<value />
</data>
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing"> <data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>260, 10</value> <value>260, 10</value>
</data> </data>
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing"> <data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 65</value> <value>163, 65</value>
</data> </data>
<data name="flowLayoutPanel1.ToolTip" xml:space="preserve">
<value />
</data>
<data name="fLPSettings.ToolTip" xml:space="preserve">
<value />
</data>
<data name="tabSettings.Text" xml:space="preserve"> <data name="tabSettings.Text" xml:space="preserve">
<value>Impostazioni</value> <value>Impostazioni</value>
</data> </data>
<data name="tabSettings.ToolTip" xml:space="preserve">
<value />
</data>
<data name="tabLog.ToolTip" xml:space="preserve">
<value />
</data>
<data name="tabMain.ToolTip" xml:space="preserve">
<value />
</data>
<data name="$this.ToolTip" xml:space="preserve">
<value />
</data>
</root> </root>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -286,7 +286,7 @@ namespace DS4Windows
private void btnMacro_Click(object sender, EventArgs e) private void btnMacro_Click(object sender, EventArgs e)
{ {
gBExtras.Controls.Add(cBScanCode); gBExtras.Controls.Add(cBScanCode);
cBScanCode.Location = new Point(20, 320); cBScanCode.Location = new Point(20, 300);
rb = new RecordBox(this); rb = new RecordBox(this);
rb.TopLevel = false; rb.TopLevel = false;
rb.Dock = DockStyle.Fill; rb.Dock = DockStyle.Fill;

View File

@ -243,12 +243,11 @@ namespace DS4Windows
case "Profile": lvi.SubItems.Add(Properties.Resources.LoadProfile.Replace("*profile*", action.details)); break; case "Profile": lvi.SubItems.Add(Properties.Resources.LoadProfile.Replace("*profile*", action.details)); break;
case "Key": lvi.SubItems.Add(((Keys)int.Parse(action.details)).ToString() + (action.uTrigger.Count > 0 ? " (Toggle)" : "")); break; case "Key": lvi.SubItems.Add(((Keys)int.Parse(action.details)).ToString() + (action.uTrigger.Count > 0 ? " (Toggle)" : "")); break;
case "DisconnectBT": case "DisconnectBT":
double d = 0;
if (double.TryParse(action.details, out d) && d > 0)
lvi.SubItems.Add(Properties.Resources.DisconnectBT + " after " + action.details + "s");
else
lvi.SubItems.Add(Properties.Resources.DisconnectBT); lvi.SubItems.Add(Properties.Resources.DisconnectBT);
break; break;
case "BatteryCheck":
lvi.SubItems.Add(Properties.Resources.CheckBattery);
break;
} }
if (newp && action.type == "DisconnectBT") if (newp && action.type == "DisconnectBT")
lvi.Checked = true; lvi.Checked = true;

View File

@ -48,7 +48,11 @@
this.openPresets = new System.Windows.Forms.OpenFileDialog(); this.openPresets = new System.Windows.Forms.OpenFileDialog();
this.lbMacroOrder = new System.Windows.Forms.Label(); this.lbMacroOrder = new System.Windows.Forms.Label();
this.lbDelayTip = new System.Windows.Forms.Label(); this.lbDelayTip = new System.Windows.Forms.Label();
this.cMSLoadPresets = new System.Windows.Forms.ContextMenuStrip(this.components);
this.altTabToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.fromFileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pnlMouseButtons.SuspendLayout(); this.pnlMouseButtons.SuspendLayout();
this.cMSLoadPresets.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// btnRecord // btnRecord
@ -85,6 +89,7 @@
this.lVMacros.TileSize = new System.Drawing.Size(180, 30); this.lVMacros.TileSize = new System.Drawing.Size(180, 30);
this.lVMacros.UseCompatibleStateImageBehavior = false; this.lVMacros.UseCompatibleStateImageBehavior = false;
this.lVMacros.View = System.Windows.Forms.View.Details; this.lVMacros.View = System.Windows.Forms.View.Details;
this.lVMacros.SelectedIndexChanged += new System.EventHandler(this.lVMacros_SelectedIndexChanged);
this.lVMacros.KeyDown += new System.Windows.Forms.KeyEventHandler(this.anyKeyDown); this.lVMacros.KeyDown += new System.Windows.Forms.KeyEventHandler(this.anyKeyDown);
this.lVMacros.KeyUp += new System.Windows.Forms.KeyEventHandler(this.anyKeyUp); this.lVMacros.KeyUp += new System.Windows.Forms.KeyEventHandler(this.anyKeyUp);
this.lVMacros.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lVMacros_MouseDoubleClick); this.lVMacros.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lVMacros_MouseDoubleClick);
@ -193,6 +198,27 @@
resources.ApplyResources(this.lbDelayTip, "lbDelayTip"); resources.ApplyResources(this.lbDelayTip, "lbDelayTip");
this.lbDelayTip.Name = "lbDelayTip"; this.lbDelayTip.Name = "lbDelayTip";
// //
// cMSLoadPresets
//
this.cMSLoadPresets.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.altTabToolStripMenuItem,
this.fromFileToolStripMenuItem});
this.cMSLoadPresets.Name = "cMSLoadPresets";
this.cMSLoadPresets.ShowImageMargin = false;
resources.ApplyResources(this.cMSLoadPresets, "cMSLoadPresets");
//
// altTabToolStripMenuItem
//
this.altTabToolStripMenuItem.Name = "altTabToolStripMenuItem";
resources.ApplyResources(this.altTabToolStripMenuItem, "altTabToolStripMenuItem");
this.altTabToolStripMenuItem.Click += new System.EventHandler(this.altTabToolStripMenuItem_Click);
//
// fromFileToolStripMenuItem
//
this.fromFileToolStripMenuItem.Name = "fromFileToolStripMenuItem";
resources.ApplyResources(this.fromFileToolStripMenuItem, "fromFileToolStripMenuItem");
this.fromFileToolStripMenuItem.Click += new System.EventHandler(this.fromFileToolStripMenuItem_Click);
//
// RecordBox // RecordBox
// //
resources.ApplyResources(this, "$this"); resources.ApplyResources(this, "$this");
@ -222,6 +248,7 @@
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.anyMouseUp); this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.anyMouseUp);
this.Resize += new System.EventHandler(this.RecordBox_Resize); this.Resize += new System.EventHandler(this.RecordBox_Resize);
this.pnlMouseButtons.ResumeLayout(false); this.pnlMouseButtons.ResumeLayout(false);
this.cMSLoadPresets.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -247,5 +274,8 @@
private System.Windows.Forms.OpenFileDialog openPresets; private System.Windows.Forms.OpenFileDialog openPresets;
private System.Windows.Forms.Label lbMacroOrder; private System.Windows.Forms.Label lbMacroOrder;
private System.Windows.Forms.Label lbDelayTip; private System.Windows.Forms.Label lbDelayTip;
private System.Windows.Forms.ContextMenuStrip cMSLoadPresets;
private System.Windows.Forms.ToolStripMenuItem altTabToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem fromFileToolStripMenuItem;
} }
} }

View File

@ -20,7 +20,7 @@ namespace DS4Windows
{ {
Stopwatch sw = new Stopwatch(); Stopwatch sw = new Stopwatch();
Timer ds4 = new Timer(); Timer ds4 = new Timer();
public List<int> macros = new List<int>(); public List<int> macros = new List<int>(), macrosAfter = new List<int>();
public List<string> macronames = new List<string>(); public List<string> macronames = new List<string>();
SpecActions sA; SpecActions sA;
KBM360 kbm; KBM360 kbm;
@ -99,6 +99,13 @@ namespace DS4Windows
dcs.Add(DS4Controls.RYNeg); dcs.Add(DS4Controls.RYNeg);
} }
void AddMacroValue(int value)
{
if (recordAfter)
macrosAfter.Add(value);
else
macros.Add(value);
}
void ds4_Tick(object sender, EventArgs e) void ds4_Tick(object sender, EventArgs e)
{ {
if (Program.rootHub.DS4Controllers[0] != null) if (Program.rootHub.DS4Controllers[0] != null)
@ -117,7 +124,7 @@ namespace DS4Windows
} }
if (macros.Count == 0) if (macros.Count == 0)
{ {
macros.Add(value); AddMacroValue(value);
lVMacros.Items.Add(DS4ControltoX360(dc), 0); lVMacros.Items.Add(DS4ControltoX360(dc), 0);
if (cBRecordDelays.Checked) if (cBRecordDelays.Checked)
{ {
@ -129,12 +136,12 @@ namespace DS4Windows
{ {
if (cBRecordDelays.Checked) if (cBRecordDelays.Checked)
{ {
macros.Add((int)sw.ElapsedMilliseconds + 300); AddMacroValue((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2); lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2);
sw.Reset(); sw.Reset();
sw.Start(); sw.Start();
} }
macros.Add(value); AddMacroValue(value);
lVMacros.Items.Add(DS4ControltoX360(dc), 0); lVMacros.Items.Add(DS4ControltoX360(dc), 0);
} }
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible(); lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
@ -157,12 +164,12 @@ namespace DS4Windows
{ {
if (cBRecordDelays.Checked) if (cBRecordDelays.Checked)
{ {
macros.Add((int)sw.ElapsedMilliseconds + 300); AddMacroValue((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2); lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2);
sw.Reset(); sw.Reset();
sw.Start(); sw.Start();
} }
macros.Add(value); AddMacroValue(value);
lVMacros.Items.Add(DS4ControltoX360(dc), 1); lVMacros.Items.Add(DS4ControltoX360(dc), 1);
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible(); lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
} }
@ -236,16 +243,18 @@ namespace DS4Windows
} }
return "None"; return "None";
} }
bool recordAfter = false;
int recordAfterInt = 0;
private void btnRecord_Click(object sender, EventArgs e) private void btnRecord_Click(object sender, EventArgs e)
{ {
if (btnRecord.Text == Properties.Resources.RecordText) if (btnRecord.Text != Properties.Resources.StopText)
{ {
if (cBRecordDelays.Checked) if (cBRecordDelays.Checked)
sw.Start(); sw.Start();
Program.rootHub.recordingMacro = true; Program.rootHub.recordingMacro = true;
saved = false; saved = false;
ds4.Start(); ds4.Start();
if (!recordAfter)
macros.Clear(); macros.Clear();
lVMacros.Items.Clear(); lVMacros.Items.Clear();
btnRecord.Text = Properties.Resources.StopText; btnRecord.Text = Properties.Resources.StopText;
@ -257,6 +266,14 @@ namespace DS4Windows
{ {
Program.rootHub.recordingMacro = false; Program.rootHub.recordingMacro = false;
ds4.Stop(); ds4.Stop();
if (recordAfter)
{
lVMacros.Items.Clear();
macros.InsertRange(recordAfterInt, macrosAfter);
macrosAfter.Clear();
recordAfter = false;
LoadMacro();
}
if (btn4th.Text.Contains(Properties.Resources.UpText)) if (btn4th.Text.Contains(Properties.Resources.UpText))
btn4th_Click(sender, e); btn4th_Click(sender, e);
if (btn5th.Text.Contains(Properties.Resources.UpText)) if (btn5th.Text.Contains(Properties.Resources.UpText))
@ -287,14 +304,21 @@ namespace DS4Windows
{ {
int value = WhichKey(e, 0); int value = WhichKey(e, 0);
int count = 0; int count = 0;
if (recordAfter)
foreach (int i in macrosAfter)
{
if (i == value)
count++;
}
else
foreach (int i in macros) foreach (int i in macros)
{ {
if (i == value) if (i == value)
count++; count++;
} }
if (macros.Count == 0) if (macros.Count == 0 || (recordAfter && macrosAfter.Count == 0))
{ {
macros.Add(value); AddMacroValue(value);
lVMacros.Items.Add(((Keys)value).ToString(), 0); lVMacros.Items.Add(((Keys)value).ToString(), 0);
if (cBRecordDelays.Checked) if (cBRecordDelays.Checked)
{ {
@ -306,18 +330,24 @@ namespace DS4Windows
{ {
if (cBRecordDelays.Checked) if (cBRecordDelays.Checked)
{ {
macros.Add((int)sw.ElapsedMilliseconds + 300); AddMacroValue((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2); lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2);
sw.Reset(); sw.Reset();
sw.Start(); sw.Start();
} }
macros.Add(value); AddMacroValue(value);
lVMacros.Items.Add(((Keys)value).ToString(), 0); lVMacros.Items.Add(((Keys)value).ToString(), 0);
} }
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible(); lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
} }
else if (e.KeyValue == 27) else if (e.KeyValue == 27)
Close(); Close();
else if (e.KeyCode == Keys.Delete)
if (lVMacros.SelectedIndices.Count > 0 && lVMacros.SelectedIndices[0] > -1)
{
macros.RemoveAt(lVMacros.SelectedIndices[0]);
lVMacros.Items.Remove(lVMacros.SelectedItems[0]);
}
} }
private int WhichKey(KeyEventArgs e, int keystate) private int WhichKey(KeyEventArgs e, int keystate)
@ -326,6 +356,15 @@ namespace DS4Windows
{ {
if (e.KeyCode == Keys.ShiftKey) if (e.KeyCode == Keys.ShiftKey)
{ {
if (recordAfter)
{
for (int i = macrosAfter.Count - 1; i >= 0; i--)
if (macrosAfter[i] == 160)
return 160;
else if (macrosAfter[i] == 161)
return 161;
}
else
for (int i = macros.Count - 1; i >= 0; i--) for (int i = macros.Count - 1; i >= 0; i--)
if (macros[i] == 160) if (macros[i] == 160)
return 160; return 160;
@ -334,6 +373,15 @@ namespace DS4Windows
} }
else if (e.KeyCode == Keys.ControlKey) else if (e.KeyCode == Keys.ControlKey)
{ {
if (recordAfter)
{
for (int i = macrosAfter.Count - 1; i >= 0; i--)
if (macrosAfter[i] == 162)
return 162;
else if (macrosAfter[i] == 163)
return 163;
}
else
for (int i = macros.Count - 1; i >= 0; i--) for (int i = macros.Count - 1; i >= 0; i--)
if (macros[i] == 162) if (macros[i] == 162)
return 162; return 162;
@ -342,6 +390,15 @@ namespace DS4Windows
} }
else if (e.KeyCode == Keys.Menu) else if (e.KeyCode == Keys.Menu)
{ {
if (recordAfter)
{
for (int i = macrosAfter.Count - 1; i >= 0; i--)
if (macrosAfter[i] == 164)
return 164;
else if (macrosAfter[i] == 165)
return 165;
}
else
for (int i = macros.Count - 1; i >= 0; i--) for (int i = macros.Count - 1; i >= 0; i--)
if (macros[i] == 164) if (macros[i] == 164)
return 164; return 164;
@ -379,17 +436,17 @@ namespace DS4Windows
private void anyKeyUp(object sender, KeyEventArgs e) private void anyKeyUp(object sender, KeyEventArgs e)
{ {
if (btnRecord.Text == Properties.Resources.StopText && macros.Count != 0) if (btnRecord.Text == Properties.Resources.StopText && (macros.Count != 0 || (recordAfter && macrosAfter.Count != 0)))
{ {
int value = WhichKey(e, 1); int value = WhichKey(e, 1);
if (cBRecordDelays.Checked) if (cBRecordDelays.Checked)
{ {
macros.Add((int)sw.ElapsedMilliseconds + 300); AddMacroValue((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2); lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2);
sw.Reset(); sw.Reset();
sw.Start(); sw.Start();
} }
macros.Add(value); AddMacroValue(value);
lVMacros.Items.Add(((Keys)value).ToString(), 1); lVMacros.Items.Add(((Keys)value).ToString(), 1);
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible(); lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
} }
@ -408,9 +465,9 @@ namespace DS4Windows
case System.Windows.Forms.MouseButtons.XButton2: value = 260; break; case System.Windows.Forms.MouseButtons.XButton2: value = 260; break;
default: value = 0; break; default: value = 0; break;
} }
if (macros.Count == 0) if (macros.Count == 0 || (recordAfter && macrosAfter.Count == 0))
{ {
macros.Add(value); AddMacroValue(value);
lVMacros.Items.Add(e.Button.ToString() + " Mouse Button", 0); lVMacros.Items.Add(e.Button.ToString() + " Mouse Button", 0);
if (cBRecordDelays.Checked) if (cBRecordDelays.Checked)
{ {
@ -418,16 +475,16 @@ namespace DS4Windows
sw.Start(); sw.Start();
} }
} }
else else if (macros.Count > 0 || (recordAfter && macrosAfter.Count > 0))
{ {
if (cBRecordDelays.Checked) if (cBRecordDelays.Checked)
{ {
macros.Add((int)sw.ElapsedMilliseconds + 300); AddMacroValue((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2); lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2);
sw.Reset(); sw.Reset();
sw.Start(); sw.Start();
} }
macros.Add(value); AddMacroValue(value);
lVMacros.Items.Add(e.Button.ToString() + " Mouse Button", 0); lVMacros.Items.Add(e.Button.ToString() + " Mouse Button", 0);
} }
if (e.Button == System.Windows.Forms.MouseButtons.XButton1) if (e.Button == System.Windows.Forms.MouseButtons.XButton1)
@ -440,7 +497,7 @@ namespace DS4Windows
private void anyMouseUp(object sender, MouseEventArgs e) private void anyMouseUp(object sender, MouseEventArgs e)
{ {
if (btnRecord.Text == Properties.Resources.StopText && macros.Count != 0) if (btnRecord.Text == Properties.Resources.StopText && (macros.Count != 0 || (recordAfter && macrosAfter.Count != 0)))
{ {
int value; int value;
switch (e.Button) switch (e.Button)
@ -455,12 +512,12 @@ namespace DS4Windows
if (cBRecordDelays.Checked) if (cBRecordDelays.Checked)
{ {
macros.Add((int)sw.ElapsedMilliseconds + 300); AddMacroValue((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add("Wait " + sw.ElapsedMilliseconds + "ms", 2); lVMacros.Items.Add("Wait " + sw.ElapsedMilliseconds + "ms", 2);
sw.Reset(); sw.Reset();
sw.Start(); sw.Start();
} }
macros.Add(value); AddMacroValue(value);
lVMacros.Items.Add(e.Button.ToString() + " Mouse Button", 1); lVMacros.Items.Add(e.Button.ToString() + " Mouse Button", 1);
if (e.Button == System.Windows.Forms.MouseButtons.XButton1) if (e.Button == System.Windows.Forms.MouseButtons.XButton1)
lVMacros.Items[lVMacros.Items.Count - 1].Text = "4th Mouse Button"; lVMacros.Items[lVMacros.Items.Count - 1].Text = "4th Mouse Button";
@ -470,6 +527,96 @@ namespace DS4Windows
} }
} }
private void btn4th_Click(object sender, EventArgs e)
{
int value = 259;
if (btn4th.Text.Contains(Properties.Resources.DownText))
{
if (macros.Count == 0 || (recordAfter && macrosAfter.Count == 0))
{
AddMacroValue(value);
lVMacros.Items.Add("4th Mouse Button", 0);
if (cBRecordDelays.Checked)
{
sw.Reset();
sw.Start();
}
}
else if (macros.Count > 0 || (recordAfter && macrosAfter.Count >0))
{
if (cBRecordDelays.Checked)
{
AddMacroValue((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2);
sw.Reset();
sw.Start();
}
AddMacroValue(value);
lVMacros.Items.Add("4th Mouse Button", 0);
}
btn4th.Text = Properties.Resources.FourthMouseUp;
}
else
{
if (cBRecordDelays.Checked)
{
AddMacroValue((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2);
sw.Reset();
sw.Start();
}
AddMacroValue(value);
lVMacros.Items.Add("4th Mouse Button", 1);
btn4th.Text = Properties.Resources.FourthMouseDown;
}
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
}
private void btn5th_Click(object sender, EventArgs e)
{
int value = 260;
if (btn5th.Text.Contains(Properties.Resources.DownText))
{
if (macros.Count == 0 || (recordAfter && macrosAfter.Count == 0))
{
AddMacroValue(value);
lVMacros.Items.Add("5th Mouse Button", 0);
if (cBRecordDelays.Checked)
{
sw.Reset();
sw.Start();
}
}
else if (macros.Count > 0 || (recordAfter && macrosAfter.Count > 0))
{
if (cBRecordDelays.Checked)
{
AddMacroValue((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2);
sw.Reset();
sw.Start();
}
AddMacroValue(value);
lVMacros.Items.Add("5th Mouse Button", 0);
}
btn5th.Text = Properties.Resources.FifthMouseUp;
}
else
{
if (cBRecordDelays.Checked)
{
AddMacroValue((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add(Properties.Resources.WaitMS.Replace("*number*", sw.ElapsedMilliseconds.ToString()).Replace("*ms*", "ms"), 2);
sw.Reset();
sw.Start();
}
AddMacroValue(value);
lVMacros.Items.Add("5th Mouse Button", 1);
btn5th.Text = Properties.Resources.FifthMouseDown;
}
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
}
public void btnSave_Click(object sender, EventArgs e) public void btnSave_Click(object sender, EventArgs e)
{ {
@ -537,13 +684,29 @@ namespace DS4Windows
StreamWriter sw = new StreamWriter(stream); StreamWriter sw = new StreamWriter(stream);
sw.Write(macro); sw.Write(macro);
sw.Close(); sw.Close();
//stream.Close();
} }
} }
else MessageBox.Show(Properties.Resources.NoMacroRecorded, "DS4Windows", MessageBoxButtons.OK, MessageBoxIcon.Warning); else MessageBox.Show(Properties.Resources.NoMacroRecorded, "DS4Windows", MessageBoxButtons.OK, MessageBoxIcon.Warning);
} }
private void btnLoadP_Click(object sender, EventArgs e) private void btnLoadP_Click(object sender, EventArgs e)
{
cMSLoadPresets.Show(btnLoadP, new Point(0, btnLoadP.Height));
}
private void altTabToolStripMenuItem_Click(object sender, EventArgs e)
{
macros.Clear();
lVMacros.Items.Clear();
macros.Add(18);
macros.Add(9);
macros.Add(9);
macros.Add(18);
macros.Add(1300);
LoadMacro();
}
private void fromFileToolStripMenuItem_Click(object sender, EventArgs e)
{ {
if (Global.appdatapath == Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName) if (Global.appdatapath == Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName)
openPresets.InitialDirectory = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + @"\Macros\"; openPresets.InitialDirectory = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + @"\Macros\";
@ -578,96 +741,6 @@ namespace DS4Windows
Close(); Close();
} }
private void btn4th_Click(object sender, EventArgs e)
{
int value = 259;
if (btn4th.Text.Contains(Properties.Resources.DownText))
{
if (macros.Count == 0)
{
macros.Add(value);
lVMacros.Items.Add("4th Mouse Button", 0);
if (cBRecordDelays.Checked)
{
sw.Reset();
sw.Start();
}
}
else
{
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("4th Mouse Button", 0);
}
btn4th.Text = Properties.Resources.FourthMouseUp;
}
else
{
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("4th Mouse Button", 1);
btn4th.Text = Properties.Resources.FourthMouseDown;
}
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
}
private void btn5th_Click(object sender, EventArgs e)
{
int value = 260;
if (btn5th.Text.Contains(Properties.Resources.DownText))
{
if (macros.Count == 0)
{
macros.Add(value);
lVMacros.Items.Add("5th Mouse Button", 0);
if (cBRecordDelays.Checked)
{
sw.Reset();
sw.Start();
}
}
else
{
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("5th Mouse Button", 0);
}
btn5th.Text = Properties.Resources.FifthMouseUp;
}
else
{
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("5th Mouse Button", 1);
btn5th.Text = Properties.Resources.FifthMouseDown;
}
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
}
void LoadMacro() void LoadMacro()
{ {
@ -854,6 +927,7 @@ namespace DS4Windows
if (lVMacros.SelectedIndices[0] >= 0 && lVMacros.SelectedItems[0].ImageIndex == 2) if (lVMacros.SelectedIndices[0] >= 0 && lVMacros.SelectedItems[0].ImageIndex == 2)
{ {
TextBox tb = new TextBox(); TextBox tb = new TextBox();
tb.MaxLength = 5;
tb.KeyDown += nud_KeyDown; tb.KeyDown += nud_KeyDown;
tb.LostFocus += nud_LostFocus; tb.LostFocus += nud_LostFocus;
selection = lVMacros.SelectedIndices[0]; selection = lVMacros.SelectedIndices[0];
@ -910,5 +984,21 @@ namespace DS4Windows
cHMacro.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize); cHMacro.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
} }
private void lVMacros_SelectedIndexChanged(object sender, EventArgs e)
{
if (btnRecord.Text != Properties.Resources.StopText)
if (lVMacros.SelectedIndices.Count > 0 && lVMacros.SelectedIndices[0] > -1)
{
recordAfter = true;
recordAfterInt = lVMacros.SelectedIndices[0];
btnRecord.Text = "Record Before " + lVMacros.SelectedItems[0].Text;
}
else
{
recordAfter = false;
btnRecord.Text = "Record";
}
}
} }
} }

View File

@ -135,7 +135,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ
CgAAAk1TRnQBSQFMAgEBAwEAASABAQEgAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo CgAAAk1TRnQBSQFMAgEBAwEAASgBAQEoAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -117,444 +117,90 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<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;lbMacroOrder.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <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>Top, Right</value>
</data>
<data name="&gt;&gt;lVMacros.Name" xml:space="preserve">
<value>lVMacros</value>
</data>
<data name="btnSaveP.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;lbMacroOrder.Name" xml:space="preserve">
<value>lbMacroOrder</value>
</data>
<data name="cHMacro.Text" xml:space="preserve">
<value>Macro Order</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.Name" xml:space="preserve">
<value>btn4th</value>
</data>
<data name="&gt;&gt;btnSave.Parent" xml:space="preserve">
<value>$this</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lbMacroOrder.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 8</value>
</data>
<data name="lbRecordTip.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="pnlMouseButtons.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;btnSave.Name" xml:space="preserve">
<value>btnSave</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="btnSaveP.Text" xml:space="preserve">
<value>Save Preset</value>
</data>
<data name="savePresets.Filter" xml:space="preserve">
<value>Text Document (*.txt)|*.txt</value>
</data>
<data name="&gt;&gt;cBStyle.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;cBStyle.Name" xml:space="preserve">
<value>cBStyle</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>7</value>
</data>
<data name="lbDelayTip.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 13</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Record a Macro</value>
</data>
<data name="btn4th.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top</value>
</data>
<data name="lbDelayTip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="lbMacroOrder.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 13</value>
</data>
<data name="&gt;&gt;lbMacroOrder.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="btnSaveP.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 23</value>
</data>
<data name="&gt;&gt;btn5th.Name" xml:space="preserve">
<value>btn5th</value>
</data>
<data name="btnLoadP.Location" type="System.Drawing.Point, System.Drawing">
<value>536, 81</value>
</data>
<data name="&gt;&gt;cBStyle.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="cBStyle.Items" xml:space="preserve">
<value>Play once</value>
</data>
<data name="btnCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</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="btn4th.Text" xml:space="preserve">
<value>4th Mouse Button Down</value>
</data>
<data name="lbDelayTip.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="btnLoadP.Size" type="System.Drawing.Size, System.Drawing">
<value>104, 23</value>
</data>
<data name="lbDelayTip.Location" type="System.Drawing.Point, System.Drawing">
<value>548, 142</value>
</data>
<data name="&gt;&gt;btnLoadP.ZOrder" xml:space="preserve">
<value>4</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="btnSaveP.TabIndex" type="System.Int32, mscorlib">
<value>332</value>
</data>
<data name="lbRecordTip.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cBRecordDelays.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</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>539, 225</value>
</data>
<data name="&gt;&gt;btnSaveP.ZOrder" xml:space="preserve">
<value>2</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;savePresets.Name" xml:space="preserve">
<value>savePresets</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>213, 46</value>
</data>
<data name="&gt;&gt;lbDelayTip.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="&gt;&gt;lbDelayTip.Name" xml:space="preserve">
<value>lbDelayTip</value>
</data>
<data name="lbMacroOrder.AutoSize" type="System.Boolean, mscorlib">
<value>True</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>578, 171</value>
</data>
<data name="lVMacros.Size" type="System.Drawing.Size, System.Drawing">
<value>527, 342</value>
</data>
<data name="btn4th.Location" type="System.Drawing.Point, System.Drawing">
<value>39, 10</value>
</data>
<data name="btn5th.Text" xml:space="preserve">
<value>5th Mouse Button Down</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>9</value>
</data>
<data name="btnLoadP.Text" xml:space="preserve">
<value>Load Preset</value>
</data>
<data name="lbRecordTip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</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="cHMacro.Width" type="System.Int32, mscorlib">
<value>200</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="btnSave.Location" type="System.Drawing.Point, System.Drawing">
<value>536, 2</value>
</data>
<data name="openPresets.Filter" xml:space="preserve">
<value>Text Document (*.txt)|*.txt</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="&gt;&gt;cHMacro.Name" xml:space="preserve">
<value>cHMacro</value>
</data>
<data name="lbRecordTip.TabIndex" type="System.Int32, mscorlib">
<value>329</value>
</data>
<data name="lbDelayTip.TabIndex" type="System.Int32, mscorlib">
<value>329</value>
</data>
<data name="btnSaveP.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;btnSaveP.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;btnLoadP.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;openPresets.Name" xml:space="preserve">
<value>openPresets</value>
</data>
<data name="btnLoadP.TabIndex" type="System.Int32, mscorlib">
<value>332</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>
<data name="lbMacroOrder.TabIndex" type="System.Int32, mscorlib">
<value>333</value>
</data>
<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="lbDelayTip.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cBRecordDelays.Size" type="System.Drawing.Size, System.Drawing">
<value>96, 17</value>
</data>
<data name="lbDelayTip.Visible" type="System.Boolean, mscorlib">
<value>False</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"> <data name="btnRecord.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value> <value>Top, Right</value>
</data> </data>
<data name="&gt;&gt;btnRecord.Name" xml:space="preserve"> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<value>btnRecord</value> <data name="btnRecord.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data> </data>
<data name="btnCancel.Text" xml:space="preserve"> <data name="btnRecord.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>Cancel</value> <value>NoControl</value>
</data>
<data name="btn4th.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 23</value>
</data>
<data name="cBStyle.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="cBStyle.TabIndex" type="System.Int32, mscorlib">
<value>327</value>
</data>
<data name="cBRecordDelays.Location" type="System.Drawing.Point, System.Drawing">
<value>591, 121</value>
</data>
<data name="&gt;&gt;lbRecordTip.Name" xml:space="preserve">
<value>lbRecordTip</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="lbRecordTip.Text" xml:space="preserve">
<value>Use Keyboard/Mouse + Controller 1 to record</value>
</data>
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
<value>103, 23</value>
</data>
<data name="lbRecordTip.Location" type="System.Drawing.Point, System.Drawing">
<value>309, 7</value>
</data>
<data name="btnSave.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;lbRecordTip.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;pnlMouseButtons.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="&gt;&gt;btn5th.Parent" xml:space="preserve">
<value>pnlMouseButtons</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>
<data name="btnRecord.Location" type="System.Drawing.Point, System.Drawing"> <data name="btnRecord.Location" type="System.Drawing.Point, System.Drawing">
<value>536, 29</value> <value>536, 29</value>
</data> </data>
<data name="&gt;&gt;btn5th.ZOrder" xml:space="preserve"> <data name="btnRecord.Size" type="System.Drawing.Size, System.Drawing">
<value>0</value> <value>213, 46</value>
</data> </data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<value>6, 13</value> <data name="btnRecord.TabIndex" type="System.Int32, mscorlib">
</data> <value>322</value>
<data name="&gt;&gt;iLKeys.Name" xml:space="preserve">
<value>iLKeys</value>
</data>
<data name="btn5th.Location" type="System.Drawing.Point, System.Drawing">
<value>39, 39</value>
</data>
<data name="&gt;&gt;cHMacro.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="btnRecord.Text" xml:space="preserve"> <data name="btnRecord.Text" xml:space="preserve">
<value>Record</value> <value>Record</value>
</data> </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"> <data name="&gt;&gt;btnRecord.Parent" xml:space="preserve">
<value>$this</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;lbDelayTip.Parent" xml:space="preserve"> <data name="&gt;&gt;btnRecord.ZOrder" xml:space="preserve">
<value>$this</value> <value>8</value>
</data> </data>
<data name="&gt;&gt;cBRecordDelays.Name" xml:space="preserve"> <data name="cBRecordDelays.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>cBRecordDelays</value> <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>
<data name="cBRecordDelays.TabIndex" type="System.Int32, mscorlib"> <data name="cBRecordDelays.TabIndex" type="System.Int32, mscorlib">
<value>324</value> <value>324</value>
</data> </data>
<data name="&gt;&gt;lVMacros.Parent" xml:space="preserve"> <data name="cBRecordDelays.Text" xml:space="preserve">
<value>$this</value> <value>Record Delays</value>
</data> </data>
<data name="&gt;&gt;lbRecordTip.Parent" xml:space="preserve"> <data name="&gt;&gt;cBRecordDelays.Name" xml:space="preserve">
<value>$this</value> <value>cBRecordDelays</value>
</data> </data>
<data name="lbDelayTip.Text" xml:space="preserve"> <data name="&gt;&gt;cBRecordDelays.Type" xml:space="preserve">
<value>Double click on a wait to edit the time</value> <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</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;btnLoadP.Name" xml:space="preserve">
<value>btnLoadP</value>
</data>
<data name="&gt;&gt;btnSaveP.Name" xml:space="preserve">
<value>btnSaveP</value>
</data>
<data name="lbMacroOrder.Text" xml:space="preserve">
<value>Macro Order</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>750, 375</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>$this</value>
</data> </data>
<data name="&gt;&gt;cBRecordDelays.Parent" xml:space="preserve"> <data name="&gt;&gt;cBRecordDelays.Parent" xml:space="preserve">
<value>$this</value> <value>$this</value>
</data> </data>
<data name="cBRecordDelays.Text" xml:space="preserve"> <data name="&gt;&gt;cBRecordDelays.ZOrder" xml:space="preserve">
<value>Record Delays</value> <value>4</value>
</data> </data>
<data name="btn5th.TabIndex" type="System.Int32, mscorlib"> <data name="lVMacros.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>0</value> <value>Top, Bottom, Left, Right</value>
</data> </data>
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing"> <data name="cHMacro.Text" xml:space="preserve">
<value>646, 2</value> <value>Macro Order</value>
</data> </data>
<data name="&gt;&gt;lVMacros.ZOrder" xml:space="preserve"> <data name="cHMacro.Width" type="System.Int32, mscorlib">
<value>8</value> <value>200</value>
</data>
<data name="btnSaveP.Location" type="System.Drawing.Point, System.Drawing">
<value>646, 81</value>
</data> </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"> <data name="iLKeys.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ
CgAAAk1TRnQBSQFMAgEBAwEAAfgBAAEYAQEBEAEAARABAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQCAAEo CgAAAk1TRnQBSQFMAgEBAwEAATQBAQE0AQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@ -596,53 +242,446 @@
AUIBTQE+BwABPgMAASgDAAFAAwABEAMAAQEBAAEBBQABgBcAA/8BAAT/AYcB4QIAAf4BfwH+AT8BgAEB AUIBTQE+BwABPgMAASgDAAFAAwABEAMAAQEBAAEBBQABgBcAA/8BAAT/AYcB4QIAAf4BfwH+AT8BgAEB
AgAB/AE/Af4BPwHAAQMCAAH4AR8B/gE/AcABAwIAAfABDwH+AT8BgAEBAgAB8AEHAf4BPwGAAQECAAHy AgAB/AE/Af4BPwHAAQMCAAH4AR8B/gE/AcABAwIAAfABDwH+AT8BgAEBAgAB8AEHAf4BPwGAAQECAAHy
AQcB/gE/AYABAQIAAfYBJwH2ATcBgAEBAgAB/gE/AfIBJwGAAQECAAH+AT8B8AEHAYABAQIAAf4BPwHw 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== Cw==
</value> </value>
</data> </data>
<data name="btn5th.Size" type="System.Drawing.Size, System.Drawing"> <data name="lVMacros.Location" type="System.Drawing.Point, System.Drawing">
<value>131, 23</value> <value>3, 29</value>
</data> </data>
<data name="&gt;&gt;savePresets.Type" xml:space="preserve"> <data name="lVMacros.Size" type="System.Drawing.Size, System.Drawing">
<value>System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>527, 342</value>
</data> </data>
<data name="pnlMouseButtons.TabIndex" type="System.Int32, mscorlib"> <data name="lVMacros.TabIndex" type="System.Int32, mscorlib">
<value>331</value> <value>326</value>
</data> </data>
<data name="lbDelayTip.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="&gt;&gt;lVMacros.Name" xml:space="preserve">
<value>NoControl</value> <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>9</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>2</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>
<data name="btnSave.Size" type="System.Drawing.Size, System.Drawing"> <data name="btnSave.Size" type="System.Drawing.Size, System.Drawing">
<value>104, 23</value> <value>104, 23</value>
</data> </data>
<data name="pnlMouseButtons.Size" type="System.Drawing.Size, System.Drawing"> <data name="btnSave.TabIndex" type="System.Int32, mscorlib">
<value>210, 74</value> <value>328</value>
</data> </data>
<data name="btnLoadP.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="btnSave.Text" xml:space="preserve">
<value>Top, Right</value> <value>Save</value>
</data> </data>
<data name="&gt;&gt;pnlMouseButtons.Parent" xml:space="preserve"> <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> <value>$this</value>
</data> </data>
<data name="&gt;&gt;btnSave.ZOrder" xml:space="preserve"> <data name="&gt;&gt;btnSave.ZOrder" xml:space="preserve">
<value>11</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>10</value> <value>10</value>
</data> </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>3</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"> <data name="lbRecordTip.Size" type="System.Drawing.Size, System.Drawing">
<value>221, 13</value> <value>221, 13</value>
</data> </data>
<metadata name="openPresets.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <data name="lbRecordTip.TabIndex" type="System.Int32, mscorlib">
<value>238, 17</value> <value>329</value>
</metadata> </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>7</value>
</data>
<data name="pnlMouseButtons.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<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="pnlMouseButtons.Location" type="System.Drawing.Point, System.Drawing">
<value>539, 225</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="pnlMouseButtons.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;pnlMouseButtons.Name" xml:space="preserve">
<value>pnlMouseButtons</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;pnlMouseButtons.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;pnlMouseButtons.ZOrder" xml:space="preserve">
<value>12</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>5</value>
</data>
<metadata name="savePresets.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="savePresets.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>102, 17</value> <value>102, 17</value>
</metadata> </metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <data name="savePresets.Filter" xml:space="preserve">
<value>it-IT</value> <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> </metadata>
<metadata name="iLKeys.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <data name="openPresets.Filter" xml:space="preserve">
<value>17, 17</value> <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>1</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>6</value>
</data>
<metadata name="cMSLoadPresets.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>356, 17</value>
</metadata> </metadata>
<data name="altTabToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>132, 22</value>
</data>
<data name="altTabToolStripMenuItem.Text" xml:space="preserve">
<value>Cycle Programs</value>
</data>
<data name="altTabToolStripMenuItem.ToolTipText" xml:space="preserve">
<value>Edit the Wait to change the cycle rate</value>
</data>
<data name="fromFileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>132, 22</value>
</data>
<data name="fromFileToolStripMenuItem.Text" xml:space="preserve">
<value>From File...</value>
</data>
<data name="cMSLoadPresets.Size" type="System.Drawing.Size, System.Drawing">
<value>133, 48</value>
</data>
<data name="&gt;&gt;cMSLoadPresets.Name" xml:space="preserve">
<value>cMSLoadPresets</value>
</data>
<data name="&gt;&gt;cMSLoadPresets.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </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;cHMacro.Name" xml:space="preserve">
<value>cHMacro</value>
</data>
<data name="&gt;&gt;cHMacro.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;altTabToolStripMenuItem.Name" xml:space="preserve">
<value>altTabToolStripMenuItem</value>
</data>
<data name="&gt;&gt;altTabToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;fromFileToolStripMenuItem.Name" xml:space="preserve">
<value>fromFileToolStripMenuItem</value>
</data>
<data name="&gt;&gt;fromFileToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, 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> </root>

View File

@ -63,6 +63,18 @@
this.cBPressRelease = new System.Windows.Forms.ComboBox(); this.cBPressRelease = new System.Windows.Forms.ComboBox();
this.btnSetUTriggerKeys = new System.Windows.Forms.Button(); this.btnSetUTriggerKeys = new System.Windows.Forms.Button();
this.lbUnloadTipKey = new System.Windows.Forms.Label(); this.lbUnloadTipKey = new System.Windows.Forms.Label();
this.pnlBatteryCheck = new System.Windows.Forms.Panel();
this.pBGraident = new System.Windows.Forms.PictureBox();
this.cBNotificationBatt = new System.Windows.Forms.CheckBox();
this.cbLightbarBatt = new System.Windows.Forms.CheckBox();
this.bnFullColor = new System.Windows.Forms.Button();
this.bnEmptyColor = new System.Windows.Forms.Button();
this.nUDDCBatt = new System.Windows.Forms.NumericUpDown();
this.lbHoldForBatt = new System.Windows.Forms.Label();
this.lbFullBatt = new System.Windows.Forms.Label();
this.lbEmptyBatt = new System.Windows.Forms.Label();
this.lbSecsBatt = new System.Windows.Forms.Label();
this.advColorDialog = new DS4Windows.AdvancedColorDialog();
((System.ComponentModel.ISupportInitialize)(this.pBProgram)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pBProgram)).BeginInit();
this.pnlProgram.SuspendLayout(); this.pnlProgram.SuspendLayout();
this.pnlMacro.SuspendLayout(); this.pnlMacro.SuspendLayout();
@ -70,6 +82,9 @@
this.pnlDisconnectBT.SuspendLayout(); this.pnlDisconnectBT.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nUDDCBT)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.nUDDCBT)).BeginInit();
this.pnlKeys.SuspendLayout(); this.pnlKeys.SuspendLayout();
this.pnlBatteryCheck.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pBGraident)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.nUDDCBatt)).BeginInit();
this.SuspendLayout(); this.SuspendLayout();
// //
// lVTrigger // lVTrigger
@ -115,7 +130,11 @@
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items29"))), ((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items29"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items30"))), ((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items30"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items31"))), ((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items31"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items32")))}); ((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items32"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items33"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items34"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items35"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items36")))});
this.lVTrigger.MultiSelect = false; this.lVTrigger.MultiSelect = false;
this.lVTrigger.Name = "lVTrigger"; this.lVTrigger.Name = "lVTrigger";
this.lVTrigger.ShowGroups = false; this.lVTrigger.ShowGroups = false;
@ -144,9 +163,9 @@
// //
// cBProfiles // cBProfiles
// //
resources.ApplyResources(this.cBProfiles, "cBProfiles");
this.cBProfiles.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cBProfiles.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cBProfiles.FormattingEnabled = true; this.cBProfiles.FormattingEnabled = true;
resources.ApplyResources(this.cBProfiles, "cBProfiles");
this.cBProfiles.Name = "cBProfiles"; this.cBProfiles.Name = "cBProfiles";
this.cBProfiles.SelectedIndexChanged += new System.EventHandler(this.lVUnloadTrigger_SelectedIndexChanged); this.cBProfiles.SelectedIndexChanged += new System.EventHandler(this.lVUnloadTrigger_SelectedIndexChanged);
// //
@ -177,7 +196,6 @@
// //
// cBActions // cBActions
// //
resources.ApplyResources(this.cBActions, "cBActions");
this.cBActions.Cursor = System.Windows.Forms.Cursors.Default; this.cBActions.Cursor = System.Windows.Forms.Cursors.Default;
this.cBActions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cBActions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cBActions.FormattingEnabled = true; this.cBActions.FormattingEnabled = true;
@ -187,14 +205,12 @@
resources.GetString("cBActions.Items2"), resources.GetString("cBActions.Items2"),
resources.GetString("cBActions.Items3"), resources.GetString("cBActions.Items3"),
resources.GetString("cBActions.Items4"), resources.GetString("cBActions.Items4"),
resources.GetString("cBActions.Items5")}); resources.GetString("cBActions.Items5"),
resources.GetString("cBActions.Items6")});
resources.ApplyResources(this.cBActions, "cBActions");
this.cBActions.Name = "cBActions"; this.cBActions.Name = "cBActions";
this.cBActions.SelectedIndexChanged += new System.EventHandler(this.cBActions_SelectedIndexChanged); this.cBActions.SelectedIndexChanged += new System.EventHandler(this.cBActions_SelectedIndexChanged);
// //
// openFileDialog1
//
resources.ApplyResources(this.openFileDialog1, "openFileDialog1");
//
// imageList1 // imageList1
// //
this.imageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit; this.imageList1.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
@ -270,7 +286,11 @@
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items29"))), ((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items29"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items30"))), ((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items30"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items31"))), ((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items31"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items32")))}); ((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items32"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items33"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items34"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items35"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVUnloadTrigger.Items36")))});
this.lVUnloadTrigger.MultiSelect = false; this.lVUnloadTrigger.MultiSelect = false;
this.lVUnloadTrigger.Name = "lVUnloadTrigger"; this.lVUnloadTrigger.Name = "lVUnloadTrigger";
this.lVUnloadTrigger.ShowGroups = false; this.lVUnloadTrigger.ShowGroups = false;
@ -285,18 +305,18 @@
// //
// pnlProgram // pnlProgram
// //
resources.ApplyResources(this.pnlProgram, "pnlProgram");
this.pnlProgram.Controls.Add(this.btnBrowse); this.pnlProgram.Controls.Add(this.btnBrowse);
this.pnlProgram.Controls.Add(this.lbProgram); this.pnlProgram.Controls.Add(this.lbProgram);
this.pnlProgram.Controls.Add(this.pBProgram); this.pnlProgram.Controls.Add(this.pBProgram);
resources.ApplyResources(this.pnlProgram, "pnlProgram");
this.pnlProgram.Name = "pnlProgram"; this.pnlProgram.Name = "pnlProgram";
// //
// pnlMacro // pnlMacro
// //
resources.ApplyResources(this.pnlMacro, "pnlMacro");
this.pnlMacro.Controls.Add(this.cBMacroScanCode); this.pnlMacro.Controls.Add(this.cBMacroScanCode);
this.pnlMacro.Controls.Add(this.btnRecordMacro); this.pnlMacro.Controls.Add(this.btnRecordMacro);
this.pnlMacro.Controls.Add(this.lbMacroRecorded); this.pnlMacro.Controls.Add(this.lbMacroRecorded);
resources.ApplyResources(this.pnlMacro, "pnlMacro");
this.pnlMacro.Name = "pnlMacro"; this.pnlMacro.Name = "pnlMacro";
// //
// cBMacroScanCode // cBMacroScanCode
@ -312,10 +332,10 @@
// //
// pnlProfile // pnlProfile
// //
resources.ApplyResources(this.pnlProfile, "pnlProfile");
this.pnlProfile.Controls.Add(this.lbUnloadTipProfile); this.pnlProfile.Controls.Add(this.lbUnloadTipProfile);
this.pnlProfile.Controls.Add(this.cBProfiles); this.pnlProfile.Controls.Add(this.cBProfiles);
this.pnlProfile.Controls.Add(this.btnSetUTriggerProfile); this.pnlProfile.Controls.Add(this.btnSetUTriggerProfile);
resources.ApplyResources(this.pnlProfile, "pnlProfile");
this.pnlProfile.Name = "pnlProfile"; this.pnlProfile.Name = "pnlProfile";
// //
// lbUnloadTipProfile // lbUnloadTipProfile
@ -325,16 +345,16 @@
// //
// pnlDisconnectBT // pnlDisconnectBT
// //
resources.ApplyResources(this.pnlDisconnectBT, "pnlDisconnectBT");
this.pnlDisconnectBT.Controls.Add(this.nUDDCBT); this.pnlDisconnectBT.Controls.Add(this.nUDDCBT);
this.pnlDisconnectBT.Controls.Add(this.lbHoldFor); this.pnlDisconnectBT.Controls.Add(this.lbHoldFor);
this.pnlDisconnectBT.Controls.Add(this.lbSecs); this.pnlDisconnectBT.Controls.Add(this.lbSecs);
resources.ApplyResources(this.pnlDisconnectBT, "pnlDisconnectBT");
this.pnlDisconnectBT.Name = "pnlDisconnectBT"; this.pnlDisconnectBT.Name = "pnlDisconnectBT";
// //
// nUDDCBT // nUDDCBT
// //
resources.ApplyResources(this.nUDDCBT, "nUDDCBT");
this.nUDDCBT.DecimalPlaces = 1; this.nUDDCBT.DecimalPlaces = 1;
resources.ApplyResources(this.nUDDCBT, "nUDDCBT");
this.nUDDCBT.Maximum = new decimal(new int[] { this.nUDDCBT.Maximum = new decimal(new int[] {
10, 10,
0, 0,
@ -354,11 +374,11 @@
// //
// pnlKeys // pnlKeys
// //
resources.ApplyResources(this.pnlKeys, "pnlKeys");
this.pnlKeys.Controls.Add(this.btnSelectKey); this.pnlKeys.Controls.Add(this.btnSelectKey);
this.pnlKeys.Controls.Add(this.cBPressRelease); this.pnlKeys.Controls.Add(this.cBPressRelease);
this.pnlKeys.Controls.Add(this.btnSetUTriggerKeys); this.pnlKeys.Controls.Add(this.btnSetUTriggerKeys);
this.pnlKeys.Controls.Add(this.lbUnloadTipKey); this.pnlKeys.Controls.Add(this.lbUnloadTipKey);
resources.ApplyResources(this.pnlKeys, "pnlKeys");
this.pnlKeys.Name = "pnlKeys"; this.pnlKeys.Name = "pnlKeys";
// //
// btnSelectKey // btnSelectKey
@ -371,12 +391,12 @@
// //
// cBPressRelease // cBPressRelease
// //
resources.ApplyResources(this.cBPressRelease, "cBPressRelease");
this.cBPressRelease.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cBPressRelease.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cBPressRelease.FormattingEnabled = true; this.cBPressRelease.FormattingEnabled = true;
this.cBPressRelease.Items.AddRange(new object[] { this.cBPressRelease.Items.AddRange(new object[] {
resources.GetString("cBPressRelease.Items"), resources.GetString("cBPressRelease.Items"),
resources.GetString("cBPressRelease.Items1")}); resources.GetString("cBPressRelease.Items1")});
resources.ApplyResources(this.cBPressRelease, "cBPressRelease");
this.cBPressRelease.Name = "cBPressRelease"; this.cBPressRelease.Name = "cBPressRelease";
// //
// btnSetUTriggerKeys // btnSetUTriggerKeys
@ -391,11 +411,103 @@
resources.ApplyResources(this.lbUnloadTipKey, "lbUnloadTipKey"); resources.ApplyResources(this.lbUnloadTipKey, "lbUnloadTipKey");
this.lbUnloadTipKey.Name = "lbUnloadTipKey"; this.lbUnloadTipKey.Name = "lbUnloadTipKey";
// //
// pnlBatteryCheck
//
this.pnlBatteryCheck.Controls.Add(this.pBGraident);
this.pnlBatteryCheck.Controls.Add(this.cBNotificationBatt);
this.pnlBatteryCheck.Controls.Add(this.cbLightbarBatt);
this.pnlBatteryCheck.Controls.Add(this.bnFullColor);
this.pnlBatteryCheck.Controls.Add(this.bnEmptyColor);
this.pnlBatteryCheck.Controls.Add(this.nUDDCBatt);
this.pnlBatteryCheck.Controls.Add(this.lbHoldForBatt);
this.pnlBatteryCheck.Controls.Add(this.lbFullBatt);
this.pnlBatteryCheck.Controls.Add(this.lbEmptyBatt);
this.pnlBatteryCheck.Controls.Add(this.lbSecsBatt);
resources.ApplyResources(this.pnlBatteryCheck, "pnlBatteryCheck");
this.pnlBatteryCheck.Name = "pnlBatteryCheck";
//
// pBGraident
//
this.pBGraident.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
resources.ApplyResources(this.pBGraident, "pBGraident");
this.pBGraident.Name = "pBGraident";
this.pBGraident.TabStop = false;
this.pBGraident.Paint += new System.Windows.Forms.PaintEventHandler(this.pBGraident_Paint);
//
// cBNotificationBatt
//
resources.ApplyResources(this.cBNotificationBatt, "cBNotificationBatt");
this.cBNotificationBatt.Name = "cBNotificationBatt";
this.cBNotificationBatt.UseVisualStyleBackColor = true;
this.cBNotificationBatt.CheckedChanged += new System.EventHandler(this.cBBatt_CheckedChanged);
//
// cbLightbarBatt
//
resources.ApplyResources(this.cbLightbarBatt, "cbLightbarBatt");
this.cbLightbarBatt.Name = "cbLightbarBatt";
this.cbLightbarBatt.UseVisualStyleBackColor = true;
this.cbLightbarBatt.CheckedChanged += new System.EventHandler(this.cBBatt_CheckedChanged);
//
// bnFullColor
//
this.bnFullColor.BackColor = System.Drawing.Color.Green;
resources.ApplyResources(this.bnFullColor, "bnFullColor");
this.bnFullColor.Name = "bnFullColor";
this.bnFullColor.UseVisualStyleBackColor = false;
this.bnFullColor.Click += new System.EventHandler(this.bnFullColor_Click);
//
// bnEmptyColor
//
this.bnEmptyColor.BackColor = System.Drawing.Color.Red;
resources.ApplyResources(this.bnEmptyColor, "bnEmptyColor");
this.bnEmptyColor.Name = "bnEmptyColor";
this.bnEmptyColor.UseVisualStyleBackColor = false;
this.bnEmptyColor.Click += new System.EventHandler(this.bnEmptyColor_Click);
//
// nUDDCBatt
//
this.nUDDCBatt.DecimalPlaces = 1;
resources.ApplyResources(this.nUDDCBatt, "nUDDCBatt");
this.nUDDCBatt.Maximum = new decimal(new int[] {
10,
0,
0,
0});
this.nUDDCBatt.Name = "nUDDCBatt";
//
// lbHoldForBatt
//
resources.ApplyResources(this.lbHoldForBatt, "lbHoldForBatt");
this.lbHoldForBatt.Name = "lbHoldForBatt";
//
// lbFullBatt
//
resources.ApplyResources(this.lbFullBatt, "lbFullBatt");
this.lbFullBatt.Name = "lbFullBatt";
//
// lbEmptyBatt
//
resources.ApplyResources(this.lbEmptyBatt, "lbEmptyBatt");
this.lbEmptyBatt.Name = "lbEmptyBatt";
//
// lbSecsBatt
//
resources.ApplyResources(this.lbSecsBatt, "lbSecsBatt");
this.lbSecsBatt.Name = "lbSecsBatt";
//
// advColorDialog
//
this.advColorDialog.AnyColor = true;
this.advColorDialog.Color = System.Drawing.Color.Blue;
this.advColorDialog.FullOpen = true;
this.advColorDialog.OnUpdateColor += new DS4Windows.AdvancedColorDialog.ColorUpdateHandler(this.advColorDialog_OnUpdateColor);
//
// SpecActions // SpecActions
// //
resources.ApplyResources(this, "$this"); resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Control; this.BackColor = System.Drawing.SystemColors.Control;
this.Controls.Add(this.pnlBatteryCheck);
this.Controls.Add(this.tBName); this.Controls.Add(this.tBName);
this.Controls.Add(this.cBActions); this.Controls.Add(this.cBActions);
this.Controls.Add(this.btnCancel); this.Controls.Add(this.btnCancel);
@ -419,6 +531,10 @@
this.pnlDisconnectBT.ResumeLayout(false); this.pnlDisconnectBT.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.nUDDCBT)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.nUDDCBT)).EndInit();
this.pnlKeys.ResumeLayout(false); this.pnlKeys.ResumeLayout(false);
this.pnlBatteryCheck.ResumeLayout(false);
this.pnlBatteryCheck.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pBGraident)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.nUDDCBatt)).EndInit();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -459,5 +575,17 @@
private System.Windows.Forms.Button btnSetUTriggerKeys; private System.Windows.Forms.Button btnSetUTriggerKeys;
private System.Windows.Forms.Button btnSelectKey; private System.Windows.Forms.Button btnSelectKey;
private System.Windows.Forms.ComboBox cBPressRelease; private System.Windows.Forms.ComboBox cBPressRelease;
private System.Windows.Forms.Panel pnlBatteryCheck;
private System.Windows.Forms.PictureBox pBGraident;
private System.Windows.Forms.CheckBox cBNotificationBatt;
private System.Windows.Forms.CheckBox cbLightbarBatt;
private System.Windows.Forms.Button bnFullColor;
private System.Windows.Forms.Button bnEmptyColor;
private System.Windows.Forms.NumericUpDown nUDDCBatt;
private System.Windows.Forms.Label lbHoldForBatt;
private System.Windows.Forms.Label lbFullBatt;
private System.Windows.Forms.Label lbEmptyBatt;
private System.Windows.Forms.Label lbSecsBatt;
private AdvancedColorDialog advColorDialog;
} }
} }

View File

@ -16,6 +16,7 @@ namespace DS4Windows
{ {
Options opt; Options opt;
RecordBox rb; RecordBox rb;
int device;
public List<string> macros = new List<string>(); public List<string> macros = new List<string>();
public List<string> controls = new List<string>(); public List<string> controls = new List<string>();
public List<string> ucontrols = new List<string>(); public List<string> ucontrols = new List<string>();
@ -29,6 +30,9 @@ namespace DS4Windows
{ {
InitializeComponent(); InitializeComponent();
this.opt = opt; this.opt = opt;
lbHoldForBatt.Text = lbHoldFor.Text;
lbSecsBatt.Text = lbSecsBatt.Text;
device = opt.device;
cBProfiles.Items.Add(Properties.Resources.noneProfile); cBProfiles.Items.Add(Properties.Resources.noneProfile);
cBProfiles.SelectedIndex = 0; cBProfiles.SelectedIndex = 0;
//cBPressToggleKeys.SelectedIndex = 0; //cBPressToggleKeys.SelectedIndex = 0;
@ -102,6 +106,17 @@ namespace DS4Windows
decimal.TryParse(act.details, out d); decimal.TryParse(act.details, out d);
nUDDCBT.Value = d; nUDDCBT.Value = d;
break; break;
case "BatteryCheck":
cBActions.SelectedIndex = 6;
string[] dets = act.details.Split(',');
d = 0;
decimal.TryParse(dets[0], out d);
nUDDCBatt.Value = d;
cBNotificationBatt.Checked = bool.Parse(dets[1]);
cbLightbarBatt.Checked = bool.Parse(dets[2]);
bnEmptyColor.BackColor = Color.FromArgb(byte.Parse(dets[3]), byte.Parse(dets[4]), byte.Parse(dets[5]));
bnFullColor.BackColor = Color.FromArgb(byte.Parse(dets[6]), byte.Parse(dets[7]), byte.Parse(dets[8]));
break;
} }
} }
@ -221,6 +236,24 @@ namespace DS4Windows
Global.RemoveAction(oldprofilename); Global.RemoveAction(oldprofilename);
Global.SaveAction(tBName.Text, String.Join("/", controls), cBActions.SelectedIndex, Math.Round(nUDDCBT.Value, 1).ToString(), edit); Global.SaveAction(tBName.Text, String.Join("/", controls), cBActions.SelectedIndex, Math.Round(nUDDCBT.Value, 1).ToString(), edit);
break; break;
case 6:
if (cbLightbarBatt.Checked || cBNotificationBatt.Checked)
{
action = Properties.Resources.CheckBattery;
actRe = true;
if (!string.IsNullOrEmpty(oldprofilename) && oldprofilename != tBName.Text)
Global.RemoveAction(oldprofilename);
string dets = Math.Round(nUDDCBatt.Value, 1).ToString() + "," + cBNotificationBatt.Checked + "," + cbLightbarBatt.Checked + "," +
bnEmptyColor.BackColor.R + "," + bnEmptyColor.BackColor.G + "," + bnEmptyColor.BackColor.B + "," +
bnFullColor.BackColor.R + "," + bnFullColor.BackColor.G + "," + bnFullColor.BackColor.B;
Global.SaveAction(tBName.Text, String.Join("/", controls), cBActions.SelectedIndex, dets, edit);
}
else
{
cbLightbarBatt.ForeColor = Color.Red;
cBNotificationBatt.ForeColor = Color.Red;
}
break;
} }
if (actRe) if (actRe)
{ {
@ -259,6 +292,7 @@ namespace DS4Windows
pnlProfile.Visible = i == 3; pnlProfile.Visible = i == 3;
pnlKeys.Visible = i == 4; pnlKeys.Visible = i == 4;
pnlDisconnectBT.Visible = i == 5; pnlDisconnectBT.Visible = i == 5;
pnlBatteryCheck.Visible = i == 6;
btnSave.Enabled = i > 0; btnSave.Enabled = i > 0;
} }
@ -312,5 +346,64 @@ namespace DS4Windows
btnSetUTriggerKeys.Text = "Set Unload Trigger"; btnSetUTriggerKeys.Text = "Set Unload Trigger";
} }
} }
private void bnEmptyColor_Click(object sender, EventArgs e)
{
advColorDialog.Color = bnEmptyColor.BackColor;
if (advColorDialog.ShowDialog() == DialogResult.OK)
{
cbLightbarBatt.Checked = true;
bnEmptyColor.BackColor = advColorDialog.Color;
pBGraident.Refresh();
}
if (device < 4)
DS4LightBar.forcelight[device] = false;
}
private void bnFullColor_Click(object sender, EventArgs e)
{
advColorDialog.Color = bnFullColor.BackColor;
if (advColorDialog.ShowDialog() == DialogResult.OK)
{
cbLightbarBatt.Checked = true;
bnFullColor.BackColor = advColorDialog.Color;
pBGraident.Refresh();
}
if (device < 4)
DS4LightBar.forcelight[device] = false;
}
private void pBGraident_Paint(object sender, PaintEventArgs e)
{
System.Drawing.Drawing2D.LinearGradientBrush linGrBrush = new System.Drawing.Drawing2D.LinearGradientBrush(
new Point(0, pBGraident.Height),
new Point(pBGraident.Width, pBGraident.Height),
bnEmptyColor.BackColor, // Opaque red
bnFullColor.BackColor); // Opaque blue
Pen pen = new Pen(linGrBrush);
// e.Graphics.DrawLine(pen, 0, 10, 200, 10);
//e.Graphics.FillEllipse(linGrBrush, 0, 30, 200, 100);
e.Graphics.FillRectangle(linGrBrush, 0, 0, pBGraident.Width, pBGraident.Height);
}
private void advColorDialog_OnUpdateColor(object sender, EventArgs e)
{
if (sender is Color && device < 4)
{
Color color = (Color)sender;
DS4Color dcolor = new DS4Color { red = color.R, green = color.G, blue = color.B };
DS4LightBar.forcedColor[device] = dcolor;
DS4LightBar.forcedFlash[device] = 0;
DS4LightBar.forcelight[device] = true;
}
}
private void cBBatt_CheckedChanged(object sender, EventArgs e)
{
cbLightbarBatt.ForeColor = Color.Black;
cBNotificationBatt.ForeColor = Color.Black;
}
} }
} }

View File

@ -747,6 +747,9 @@
<data name="btnSetUTriggerProfile.Text" xml:space="preserve"> <data name="btnSetUTriggerProfile.Text" xml:space="preserve">
<value>Entfernungsauslöser setzen</value> <value>Entfernungsauslöser setzen</value>
</data> </data>
<data name="cHUnloadTrigger.Text" xml:space="preserve">
<value>Entfernungsauslöser</value>
</data>
<data name="lVUnloadTrigger.Items" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="lVUnloadTrigger.Items" mimetype="application/x-microsoft.net.object.binary.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
@ -1341,9 +1344,6 @@
AAgDAAAAAwAAAAs= AAgDAAAAAwAAAAs=
</value> </value>
</data> </data>
<data name="cHUnloadTrigger.Text" xml:space="preserve">
<value>Entfernungsauslöser</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lbUnloadTipProfile.Size" type="System.Drawing.Size, System.Drawing"> <data name="lbUnloadTipProfile.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 39</value> <value>152, 39</value>

File diff suppressed because it is too large Load Diff

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 // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.4.231")] [assembly: AssemblyVersion("1.4.24")]
[assembly: AssemblyFileVersion("1.4.231")] [assembly: AssemblyFileVersion("1.4.24")]

View File

@ -469,9 +469,6 @@
<data name="UsingExclusive" xml:space="preserve"> <data name="UsingExclusive" xml:space="preserve">
<value>Using Exclusive Mode</value> <value>Using Exclusive Mode</value>
</data> </data>
<data name="UsingProfile" xml:space="preserve">
<value>Controller *number* is using Profile “*Profile name*"</value>
</data>
<data name="UsingShared" xml:space="preserve"> <data name="UsingShared" xml:space="preserve">
<value>Using Shared Mode</value> <value>Using Shared Mode</value>
</data> </data>
@ -691,4 +688,10 @@
<data name="NotUsingProfile" xml:space="preserve"> <data name="NotUsingProfile" xml:space="preserve">
<value>Controller *number* is not using a profile</value> <value>Controller *number* is not using a profile</value>
</data> </data>
<data name="CheckBattery" xml:space="preserve">
<value>Check Battery</value>
</data>
<data name="UsingProfile" xml:space="preserve">
<value>Controller *number* is using Profile “*Profile name*"</value>
</data>
</root> </root>

View File

@ -237,6 +237,15 @@ namespace DS4Windows.Properties {
} }
} }
/// <summary>
/// Looks up a localized string similar to Check Battery.
/// </summary>
internal static string CheckBattery {
get {
return ResourceManager.GetString("CheckBattery", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Close DS4Windows?. /// Looks up a localized string similar to Close DS4Windows?.
/// </summary> /// </summary>