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

View File

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

View File

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

View File

@ -55,6 +55,32 @@ namespace DS4Windows
public static DateTime oldnow = DateTime.UtcNow;
private static bool pressagain = false;
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)
{
SyntheticState state = deviceState[device];
@ -417,13 +443,10 @@ namespace DS4Windows
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>
/// Map DS4 Buttons/Axes to other DS4 Buttons/Axes (largely the same as Xinput ones) and to keyboard and mouse buttons.
/// </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;
SyntheticState deviceState = Mapping.deviceState[device];
@ -475,156 +498,12 @@ namespace DS4Windows
if (getBoolMapping(customKey.Key, cState, eState, tp))
{
resetToDefaultValue(customKey.Key, MappedState);
bool LXChanged = (Math.Abs(127 - MappedState.LX) < 5);
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;
}
}
PlayMacro(device, macroControl, customKey.Value, customKey.Key, keyType);
}
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))
@ -720,12 +599,11 @@ namespace DS4Windows
if (!pressedonce[keyvalue])
{
deviceState.currentClicks.toggle = !deviceState.currentClicks.toggle;
test++;
pressedonce[keyvalue] = true;
}
deviceState.currentClicks.toggleCount++;
}
else// if (test = 1) && pressedonce[keyvalue])
else
{
pressedonce[keyvalue] = false;
}
@ -969,7 +847,8 @@ namespace DS4Windows
MappedState.RY = cState.RY;
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);
SyntheticState deviceState = Mapping.deviceState[device];
@ -979,156 +858,12 @@ namespace DS4Windows
if (getBoolMapping(customKey.Key, cState, eState, tp))
{
resetToDefaultValue(customKey.Key, MappedState);
bool LXChanged = (Math.Abs(127 - MappedState.LX) < 5);
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;
}
}
PlayMacro(device, macroControl, customKey.Value, customKey.Key, keyType);
}
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))
{
@ -1214,12 +949,11 @@ namespace DS4Windows
if (!pressedonce[keyvalue])
{
deviceState.currentClicks.toggle = !deviceState.currentClicks.toggle;
test++;
pressedonce[keyvalue] = true;
}
deviceState.currentClicks.toggleCount++;
}
else// if (test = 1)// && pressedonce[keyvalue])
else
{
pressedonce[keyvalue] = false;
}
@ -1449,11 +1183,6 @@ namespace DS4Windows
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)
{
foreach (string actionname in Global.ProfileActions[device])
@ -1471,7 +1200,7 @@ namespace DS4Windows
if (!(action.name == "null" || index < 0))
{
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;
bool subtriggeractivated = true;
@ -1485,12 +1214,15 @@ namespace DS4Windows
}
if (subtriggeractivated)
{
time = double.Parse(action.details);
DateTime now = DateTime.UtcNow;
if (now >= oldnowAction[device] + TimeSpan.FromMilliseconds(time * 1000))
if (action.type == "DisconnectBT")
time = double.Parse(action.details);
else
time = double.Parse(action.details.Split(',')[0]);
nowAction[device] = DateTime.UtcNow;
if (nowAction[device] >= oldnowAction[device] + TimeSpan.FromSeconds(time))
triggeractivated = true;
}
else
else if (nowAction[device] < DateTime.UtcNow - TimeSpan.FromMilliseconds(100))
oldnowAction[device] = DateTime.UtcNow;
}
else if (triggerToBeTapped && oldnowKeyAct[device] == DateTime.MinValue)
@ -1594,134 +1326,10 @@ namespace DS4Windows
actionDone[device, index] = true;
foreach (DS4Controls dc in action.trigger)
resetToDefaultValue(dc, MappedState);
bool[] keydown = new bool[286];
#region macro
foreach (int i in action.macro)
{
if (i >= 300) //ints over 300 used to delay
await Task.Delay(i - 300);
else if (!keydown[i])
{
if (i == 256) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_LEFTDOWN); //anything above 255 is not a keyvalue
else if (i == 257) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_RIGHTDOWN);
else if (i == 258) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_MIDDLEDOWN);
else if (i == 259) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONDOWN, 1);
else if (i == 260) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONDOWN, 2);
else if (i == 261) macroControl[0] = true;
else if (i == 262) macroControl[1] = true;
else if (i == 263) macroControl[2] = true;
else if (i == 264) macroControl[3] = true;
else if (i == 265) macroControl[4] = true;
else if (i == 266) macroControl[5] = true;
else if (i == 267) macroControl[6] = true;
else if (i == 268) macroControl[7] = true;
else if (i == 269) macroControl[8] = true;
else if (i == 270) macroControl[9] = true;
else if (i == 271) macroControl[10] = true;
else if (i == 272) macroControl[11] = true;
else if (i == 273) macroControl[12] = true;
else if (i == 274) macroControl[13] = true;
else if (i == 275) macroControl[14] = true;
else if (i == 276) macroControl[15] = true;
else if (i == 277) macroControl[16] = true;
else if (i == 278) macroControl[17] = true;
else if (i == 279) macroControl[18] = true;
else if (i == 280) macroControl[19] = true;
else if (i == 281) macroControl[20] = true;
else if (i == 282) macroControl[21] = true;
else if (i == 283) macroControl[22] = true;
else if (i == 284) macroControl[23] = true;
else if (i == 285) macroControl[24] = true;
else if (keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyPress((ushort)i);
else
InputMethods.performKeyPress((ushort)i);
keydown[i] = true;
}
else
{
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 (i == 278) macroControl[17] = false;
else if (i == 279) macroControl[18] = false;
else if (i == 280) macroControl[19] = false;
else if (i == 281) macroControl[20] = false;
else if (i == 282) macroControl[21] = false;
else if (i == 283) macroControl[22] = false;
else if (i == 284) macroControl[23] = false;
else if (i == 285) macroControl[24] = false;
else if (keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyRelease((ushort)i);
else
InputMethods.performKeyRelease((ushort)i);
keydown[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 (i == 278) macroControl[17] = false;
else if (i == 279) macroControl[18] = false;
else if (i == 280) macroControl[19] = false;
else if (i == 281) macroControl[20] = false;
else if (i == 282) macroControl[21] = false;
else if (i == 283) macroControl[22] = false;
else if (i == 284) macroControl[23] = false;
else if (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);
actionDone[device,index] = false;
}*/
#endregion
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")
{
@ -1782,6 +1390,46 @@ namespace DS4Windows
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;
}
@ -1828,6 +1476,211 @@ namespace DS4Windows
}
}
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];
if (control == DS4Controls.None || !macrodone[DS4ControltoInt(control)])
{
if (control != DS4Controls.None)
macrodone[DS4ControltoInt(control)] = true;
foreach (int i in keys)
{
if (i >= 300) //ints over 300 used to delay
await Task.Delay(i - 300);
else if (!keydown[i])
{
if (i == 256) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_LEFTDOWN); //anything above 255 is not a keyvalue
else if (i == 257) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_RIGHTDOWN);
else if (i == 258) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_MIDDLEDOWN);
else if (i == 259) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONDOWN, 1);
else if (i == 260) InputMethods.MouseEvent(InputMethods.MOUSEEVENTF_XBUTTONDOWN, 2);
else if (i == 261) macroControl[0] = true;
else if (i == 262) macroControl[1] = true;
else if (i == 263) macroControl[2] = true;
else if (i == 264) macroControl[3] = true;
else if (i == 265) macroControl[4] = true;
else if (i == 266) macroControl[5] = true;
else if (i == 267) macroControl[6] = true;
else if (i == 268) macroControl[7] = true;
else if (i == 269) macroControl[8] = true;
else if (i == 270) macroControl[9] = true;
else if (i == 271) macroControl[10] = true;
else if (i == 272) macroControl[11] = true;
else if (i == 273) macroControl[12] = true;
else if (i == 274) macroControl[13] = true;
else if (i == 275) macroControl[14] = true;
else if (i == 276) macroControl[15] = true;
else if (i == 277) macroControl[16] = true;
else if (i == 278) macroControl[17] = true;
else if (i == 279) macroControl[18] = true;
else if (i == 280) macroControl[19] = true;
else if (i == 281) macroControl[20] = true;
else if (i == 282) macroControl[21] = true;
else if (i == 283) macroControl[22] = true;
else if (i == 284) macroControl[23] = true;
else if (i == 285) macroControl[24] = true;
else if (keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyPress((ushort)i);
else
InputMethods.performKeyPress((ushort)i);
keydown[i] = true;
}
else
{
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 (i == 278) macroControl[17] = false;
else if (i == 279) macroControl[18] = false;
else if (i == 280) macroControl[19] = false;
else if (i == 281) macroControl[20] = false;
else if (i == 282) macroControl[21] = false;
else if (i == 283) macroControl[22] = false;
else if (i == 284) macroControl[23] = false;
else if (i == 285) macroControl[24] = false;
else if (keyType.HasFlag(DS4KeyType.ScanCode))
InputMethods.performSCKeyRelease((ushort)i);
else
InputMethods.performKeyRelease((ushort)i);
keydown[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);
if (control != DS4Controls.None)
macrodone[DS4ControltoInt(control)] = false;
}
}
}
}
private static void EndMacro(int device, bool[] macrocontrol, string macro, DS4Controls control)
{
if ((macro.StartsWith("164/9/9/164") || macro.StartsWith("18/9/9/18")) && !altTabDone)
AltTabSwappingRelease();
if (control != DS4Controls.None)
macrodone[DS4ControltoInt(control)] = false;
}
private static void AltTabSwapping(int wait, int device)
{
if (altTabDone)
{
altTabDone = false;
InputMethods.performKeyPress(18);
}
else
{
altTabNow = DateTime.UtcNow;
if (altTabNow >= oldAltTabNow + TimeSpan.FromMilliseconds(wait))
{
oldAltTabNow = altTabNow;
InputMethods.performKeyPress(9);
InputMethods.performKeyRelease(9);
}
}
}
private static void AltTabSwappingRelease()
{
if (altTabNow < DateTime.UtcNow - TimeSpan.FromMilliseconds(10)) //in case multiple controls are mapped to alt+tab
{
altTabDone = true;
InputMethods.performKeyRelease(9);
InputMethods.performKeyRelease(18);
altTabNow = DateTime.UtcNow;
oldAltTabNow = DateTime.UtcNow - TimeSpan.FromDays(1);
}
}
private static void getMouseWheelMapping(int device, DS4Controls control, DS4State cState, DS4StateExposed eState, Mouse tp, bool down)
{
DateTime now = DateTime.UtcNow;
@ -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)
{
int controlnum = DS4ControltoInt(control);

View File

@ -530,7 +530,7 @@ namespace DS4Windows
else if (r < 0)
r = 0;
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)
{//;
@ -1846,6 +1846,10 @@ namespace DS4Windows
el.AppendChild(m_Xdoc.CreateElement("Type")).InnerText = "DisconnectBT";
el.AppendChild(m_Xdoc.CreateElement("Details")).InnerText = details;
break;
case 6:
el.AppendChild(m_Xdoc.CreateElement("Type")).InnerText = "BatteryCheck";
el.AppendChild(m_Xdoc.CreateElement("Details")).InnerText = details;
break;
}
if (edit)
{
@ -2031,6 +2035,11 @@ namespace DS4Windows
case "Swipe Down": return DS4Controls.SwipeDown;
case "Swipe Left": return DS4Controls.SwipeLeft;
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;
}

View File

@ -517,9 +517,6 @@ namespace DS4Windows
p.StartInfo.Verb = "runas";
try { p.Start(); }
catch { }
//WelcomeDialog wd = new WelcomeDialog();
//wd.ShowDialog();
//wd.FormClosed += delegate { btnStartStop_Clicked(false); btnStartStop_Clicked(false); };
}
}
catch
@ -670,7 +667,7 @@ namespace DS4Windows
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;
notifyIcon1.BalloonTipTitle = "DS4Windows";

View File

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

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)
{
gBExtras.Controls.Add(cBScanCode);
cBScanCode.Location = new Point(20, 320);
cBScanCode.Location = new Point(20, 300);
rb = new RecordBox(this);
rb.TopLevel = false;
rb.Dock = DockStyle.Fill;

View File

@ -243,11 +243,10 @@ namespace DS4Windows
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 "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;
case "BatteryCheck":
lvi.SubItems.Add(Properties.Resources.CheckBattery);
break;
}
if (newp && action.type == "DisconnectBT")

View File

@ -48,7 +48,11 @@
this.openPresets = new System.Windows.Forms.OpenFileDialog();
this.lbMacroOrder = 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.cMSLoadPresets.SuspendLayout();
this.SuspendLayout();
//
// btnRecord
@ -85,6 +89,7 @@
this.lVMacros.TileSize = new System.Drawing.Size(180, 30);
this.lVMacros.UseCompatibleStateImageBehavior = false;
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.KeyUp += new System.Windows.Forms.KeyEventHandler(this.anyKeyUp);
this.lVMacros.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lVMacros_MouseDoubleClick);
@ -193,6 +198,27 @@
resources.ApplyResources(this.lbDelayTip, "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
//
resources.ApplyResources(this, "$this");
@ -222,6 +248,7 @@
this.MouseUp += new System.Windows.Forms.MouseEventHandler(this.anyMouseUp);
this.Resize += new System.EventHandler(this.RecordBox_Resize);
this.pnlMouseButtons.ResumeLayout(false);
this.cMSLoadPresets.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@ -247,5 +274,8 @@
private System.Windows.Forms.OpenFileDialog openPresets;
private System.Windows.Forms.Label lbMacroOrder;
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();
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>();
SpecActions sA;
KBM360 kbm;
@ -99,6 +99,13 @@ namespace DS4Windows
dcs.Add(DS4Controls.RYNeg);
}
void AddMacroValue(int value)
{
if (recordAfter)
macrosAfter.Add(value);
else
macros.Add(value);
}
void ds4_Tick(object sender, EventArgs e)
{
if (Program.rootHub.DS4Controllers[0] != null)
@ -117,7 +124,7 @@ namespace DS4Windows
}
if (macros.Count == 0)
{
macros.Add(value);
AddMacroValue(value);
lVMacros.Items.Add(DS4ControltoX360(dc), 0);
if (cBRecordDelays.Checked)
{
@ -129,12 +136,12 @@ namespace DS4Windows
{
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);
sw.Reset();
sw.Start();
}
macros.Add(value);
AddMacroValue(value);
lVMacros.Items.Add(DS4ControltoX360(dc), 0);
}
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
@ -157,12 +164,12 @@ namespace DS4Windows
{
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);
sw.Reset();
sw.Start();
}
macros.Add(value);
AddMacroValue(value);
lVMacros.Items.Add(DS4ControltoX360(dc), 1);
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
}
@ -236,17 +243,19 @@ namespace DS4Windows
}
return "None";
}
bool recordAfter = false;
int recordAfterInt = 0;
private void btnRecord_Click(object sender, EventArgs e)
{
if (btnRecord.Text == Properties.Resources.RecordText)
if (btnRecord.Text != Properties.Resources.StopText)
{
if (cBRecordDelays.Checked)
sw.Start();
Program.rootHub.recordingMacro = true;
saved = false;
ds4.Start();
macros.Clear();
if (!recordAfter)
macros.Clear();
lVMacros.Items.Clear();
btnRecord.Text = Properties.Resources.StopText;
EnableControls(false);
@ -257,6 +266,14 @@ namespace DS4Windows
{
Program.rootHub.recordingMacro = false;
ds4.Stop();
if (recordAfter)
{
lVMacros.Items.Clear();
macros.InsertRange(recordAfterInt, macrosAfter);
macrosAfter.Clear();
recordAfter = false;
LoadMacro();
}
if (btn4th.Text.Contains(Properties.Resources.UpText))
btn4th_Click(sender, e);
if (btn5th.Text.Contains(Properties.Resources.UpText))
@ -287,14 +304,21 @@ namespace DS4Windows
{
int value = WhichKey(e, 0);
int count = 0;
if (recordAfter)
foreach (int i in macrosAfter)
{
if (i == value)
count++;
}
else
foreach (int i in macros)
{
if (i == value)
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);
if (cBRecordDelays.Checked)
{
@ -306,18 +330,24 @@ namespace DS4Windows
{
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);
sw.Reset();
sw.Start();
}
macros.Add(value);
AddMacroValue(value);
lVMacros.Items.Add(((Keys)value).ToString(), 0);
}
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
}
else if (e.KeyValue == 27)
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)
@ -326,14 +356,32 @@ namespace DS4Windows
{
if (e.KeyCode == Keys.ShiftKey)
{
for (int i = macros.Count - 1; i >= 0; i--)
if (macros[i] == 160)
return 160;
else if (macros[i] == 161)
return 161;
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--)
if (macros[i] == 160)
return 160;
else if (macros[i] == 161)
return 161;
}
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--)
if (macros[i] == 162)
return 162;
@ -342,11 +390,20 @@ namespace DS4Windows
}
else if (e.KeyCode == Keys.Menu)
{
for (int i = macros.Count - 1; i >= 0; i--)
if (macros[i] == 164)
return 164;
else if (macros[i] == 165)
return 165;
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--)
if (macros[i] == 164)
return 164;
else if (macros[i] == 165)
return 165;
}
return e.KeyValue;
}
@ -379,17 +436,17 @@ namespace DS4Windows
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);
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);
sw.Reset();
sw.Start();
}
macros.Add(value);
AddMacroValue(value);
lVMacros.Items.Add(((Keys)value).ToString(), 1);
lVMacros.Items[lVMacros.Items.Count - 1].EnsureVisible();
}
@ -408,9 +465,9 @@ namespace DS4Windows
case System.Windows.Forms.MouseButtons.XButton2: value = 260; 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);
if (cBRecordDelays.Checked)
{
@ -418,16 +475,16 @@ namespace DS4Windows
sw.Start();
}
}
else
else if (macros.Count > 0 || (recordAfter && macrosAfter.Count > 0))
{
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);
sw.Reset();
sw.Start();
}
macros.Add(value);
AddMacroValue(value);
lVMacros.Items.Add(e.Button.ToString() + " Mouse Button", 0);
}
if (e.Button == System.Windows.Forms.MouseButtons.XButton1)
@ -440,7 +497,7 @@ namespace DS4Windows
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;
switch (e.Button)
@ -455,12 +512,12 @@ namespace DS4Windows
if (cBRecordDelays.Checked)
{
macros.Add((int)sw.ElapsedMilliseconds + 300);
AddMacroValue((int)sw.ElapsedMilliseconds + 300);
lVMacros.Items.Add("Wait " + sw.ElapsedMilliseconds + "ms", 2);
sw.Reset();
sw.Start();
}
macros.Add(value);
AddMacroValue(value);
lVMacros.Items.Add(e.Button.ToString() + " Mouse Button", 1);
if (e.Button == System.Windows.Forms.MouseButtons.XButton1)
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)
{
@ -537,13 +684,29 @@ namespace DS4Windows
StreamWriter sw = new StreamWriter(stream);
sw.Write(macro);
sw.Close();
//stream.Close();
}
}
else MessageBox.Show(Properties.Resources.NoMacroRecorded, "DS4Windows", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
private void btnLoadP_Click(object sender, EventArgs e)
{
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)
openPresets.InitialDirectory = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + @"\Macros\";
@ -578,96 +741,6 @@ namespace DS4Windows
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()
{
@ -854,6 +927,7 @@ namespace DS4Windows
if (lVMacros.SelectedIndices[0] >= 0 && lVMacros.SelectedItems[0].ImageIndex == 2)
{
TextBox tb = new TextBox();
tb.MaxLength = 5;
tb.KeyDown += nud_KeyDown;
tb.LostFocus += nud_LostFocus;
selection = lVMacros.SelectedIndices[0];
@ -910,5 +984,21 @@ namespace DS4Windows
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
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ
CgAAAk1TRnQBSQFMAgEBAwEAASABAQEgAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
CgAAAk1TRnQBSQFMAgEBAwEAASgBAQEoAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View File

@ -117,444 +117,90 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</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" />
<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">
<value>Top, Right</value>
</data>
<data name="&gt;&gt;btnRecord.Name" xml:space="preserve">
<value>btnRecord</value>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnRecord.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="btn4th.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 23</value>
</data>
<data name="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 name="btnRecord.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="btnRecord.Location" type="System.Drawing.Point, System.Drawing">
<value>536, 29</value>
</data>
<data name="&gt;&gt;btn5th.ZOrder" xml:space="preserve">
<value>0</value>
<data name="btnRecord.Size" type="System.Drawing.Size, System.Drawing">
<value>213, 46</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="&gt;&gt;iLKeys.Name" xml:space="preserve">
<value>iLKeys</value>
</data>
<data name="btn5th.Location" type="System.Drawing.Point, System.Drawing">
<value>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>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="btnRecord.TabIndex" type="System.Int32, mscorlib">
<value>322</value>
</data>
<data name="btnRecord.Text" xml:space="preserve">
<value>Record</value>
</data>
<data name="&gt;&gt;btnRecord.Name" xml:space="preserve">
<value>btnRecord</value>
</data>
<data name="&gt;&gt;btnRecord.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;btnRecord.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lbDelayTip.Parent" xml:space="preserve">
<value>$this</value>
<data name="&gt;&gt;btnRecord.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="&gt;&gt;cBRecordDelays.Name" xml:space="preserve">
<value>cBRecordDelays</value>
<data name="cBRecordDelays.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="cBRecordDelays.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cBRecordDelays.Location" type="System.Drawing.Point, System.Drawing">
<value>591, 121</value>
</data>
<data name="cBRecordDelays.Size" type="System.Drawing.Size, System.Drawing">
<value>96, 17</value>
</data>
<data name="cBRecordDelays.TabIndex" type="System.Int32, mscorlib">
<value>324</value>
</data>
<data name="&gt;&gt;lVMacros.Parent" xml:space="preserve">
<value>$this</value>
<data name="cBRecordDelays.Text" xml:space="preserve">
<value>Record Delays</value>
</data>
<data name="&gt;&gt;lbRecordTip.Parent" xml:space="preserve">
<value>$this</value>
<data name="&gt;&gt;cBRecordDelays.Name" xml:space="preserve">
<value>cBRecordDelays</value>
</data>
<data name="lbDelayTip.Text" xml:space="preserve">
<value>Double click on a wait to edit the time</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 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="&gt;&gt;cBRecordDelays.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="cBRecordDelays.Text" xml:space="preserve">
<value>Record Delays</value>
<data name="&gt;&gt;cBRecordDelays.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="btn5th.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
<data name="lVMacros.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
<value>646, 2</value>
<data name="cHMacro.Text" xml:space="preserve">
<value>Macro Order</value>
</data>
<data name="&gt;&gt;lVMacros.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="btnSaveP.Location" type="System.Drawing.Point, System.Drawing">
<value>646, 81</value>
<data name="cHMacro.Width" type="System.Int32, mscorlib">
<value>200</value>
</data>
<metadata name="iLKeys.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="iLKeys.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAQ
CgAAAk1TRnQBSQFMAgEBAwEAAfgBAAEYAQEBEAEAARABAAT/AQkBEAj/AUIBTQE2AQQGAAE2AQQCAAEo
CgAAAk1TRnQBSQFMAgEBAwEAATQBAQE0AQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@ -596,53 +242,446 @@
AUIBTQE+BwABPgMAASgDAAFAAwABEAMAAQEBAAEBBQABgBcAA/8BAAT/AYcB4QIAAf4BfwH+AT8BgAEB
AgAB/AE/Af4BPwHAAQMCAAH4AR8B/gE/AcABAwIAAfABDwH+AT8BgAEBAgAB8AEHAf4BPwGAAQECAAHy
AQcB/gE/AYABAQIAAfYBJwH2ATcBgAEBAgAB/gE/AfIBJwGAAQECAAH+AT8B8AEHAYABAQIAAf4BPwHw
AQcBgAEBAgAB/gE/AfgBDwQAAf4BPwH8AR8EAAH+AT8B/gE/BAAB/gE/Af8BfwEAAQECAAT/AYMBwxgA
AQcBgAEBAgAB/gE/AfgBDwQAAf4BPwH8AR8EAAH+AT8B/gE/BAAB/gE/Af8BfwEAAQECAAT/AYMBwwIA
Cw==
</value>
</data>
<data name="btn5th.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 23</value>
<data name="lVMacros.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 29</value>
</data>
<data name="&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 name="lVMacros.Size" type="System.Drawing.Size, System.Drawing">
<value>527, 342</value>
</data>
<data name="pnlMouseButtons.TabIndex" type="System.Int32, mscorlib">
<value>331</value>
<data name="lVMacros.TabIndex" type="System.Int32, mscorlib">
<value>326</value>
</data>
<data name="lbDelayTip.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
<data name="&gt;&gt;lVMacros.Name" xml:space="preserve">
<value>lVMacros</value>
</data>
<data name="&gt;&gt;lVMacros.Type" xml:space="preserve">
<value>System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lVMacros.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lVMacros.ZOrder" xml:space="preserve">
<value>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 name="btnSave.Size" type="System.Drawing.Size, System.Drawing">
<value>104, 23</value>
</data>
<data name="pnlMouseButtons.Size" type="System.Drawing.Size, System.Drawing">
<value>210, 74</value>
<data name="btnSave.TabIndex" type="System.Int32, mscorlib">
<value>328</value>
</data>
<data name="btnLoadP.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
<data name="btnSave.Text" xml:space="preserve">
<value>Save</value>
</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>
</data>
<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>
</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">
<value>221, 13</value>
</data>
<metadata name="openPresets.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>238, 17</value>
</metadata>
<data name="lbRecordTip.TabIndex" type="System.Int32, mscorlib">
<value>329</value>
</data>
<data name="lbRecordTip.Text" xml:space="preserve">
<value>Use Keyboard/Mouse + Controller 1 to record</value>
</data>
<data name="lbRecordTip.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;lbRecordTip.Name" xml:space="preserve">
<value>lbRecordTip</value>
</data>
<data name="&gt;&gt;lbRecordTip.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lbRecordTip.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lbRecordTip.ZOrder" xml:space="preserve">
<value>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">
<value>102, 17</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>it-IT</value>
<data name="savePresets.Filter" xml:space="preserve">
<value>Text Document (*.txt)|*.txt</value>
</data>
<metadata name="openPresets.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>238, 17</value>
</metadata>
<metadata name="iLKeys.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
<data name="openPresets.Filter" xml:space="preserve">
<value>Text Document (*.txt)|*.txt</value>
</data>
<data name="lbMacroOrder.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lbMacroOrder.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 8</value>
</data>
<data name="lbMacroOrder.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 13</value>
</data>
<data name="lbMacroOrder.TabIndex" type="System.Int32, mscorlib">
<value>333</value>
</data>
<data name="lbMacroOrder.Text" xml:space="preserve">
<value>Macro Order</value>
</data>
<data name="&gt;&gt;lbMacroOrder.Name" xml:space="preserve">
<value>lbMacroOrder</value>
</data>
<data name="&gt;&gt;lbMacroOrder.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lbMacroOrder.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;lbMacroOrder.ZOrder" xml:space="preserve">
<value>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>
<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">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>750, 375</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>260, 205</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Record a Macro</value>
</data>
<data name="&gt;&gt;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>

View File

@ -63,6 +63,18 @@
this.cBPressRelease = new System.Windows.Forms.ComboBox();
this.btnSetUTriggerKeys = new System.Windows.Forms.Button();
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();
this.pnlProgram.SuspendLayout();
this.pnlMacro.SuspendLayout();
@ -70,6 +82,9 @@
this.pnlDisconnectBT.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nUDDCBT)).BeginInit();
this.pnlKeys.SuspendLayout();
this.pnlBatteryCheck.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pBGraident)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.nUDDCBatt)).BeginInit();
this.SuspendLayout();
//
// lVTrigger
@ -115,7 +130,11 @@
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items29"))),
((System.Windows.Forms.ListViewItem)(resources.GetObject("lVTrigger.Items30"))),
((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.Name = "lVTrigger";
this.lVTrigger.ShowGroups = false;
@ -144,9 +163,9 @@
//
// cBProfiles
//
resources.ApplyResources(this.cBProfiles, "cBProfiles");
this.cBProfiles.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cBProfiles.FormattingEnabled = true;
resources.ApplyResources(this.cBProfiles, "cBProfiles");
this.cBProfiles.Name = "cBProfiles";
this.cBProfiles.SelectedIndexChanged += new System.EventHandler(this.lVUnloadTrigger_SelectedIndexChanged);
//
@ -177,7 +196,6 @@
//
// cBActions
//
resources.ApplyResources(this.cBActions, "cBActions");
this.cBActions.Cursor = System.Windows.Forms.Cursors.Default;
this.cBActions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cBActions.FormattingEnabled = true;
@ -187,14 +205,12 @@
resources.GetString("cBActions.Items2"),
resources.GetString("cBActions.Items3"),
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.SelectedIndexChanged += new System.EventHandler(this.cBActions_SelectedIndexChanged);
//
// openFileDialog1
//
resources.ApplyResources(this.openFileDialog1, "openFileDialog1");
//
// imageList1
//
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.Items30"))),
((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.Name = "lVUnloadTrigger";
this.lVUnloadTrigger.ShowGroups = false;
@ -285,18 +305,18 @@
//
// pnlProgram
//
resources.ApplyResources(this.pnlProgram, "pnlProgram");
this.pnlProgram.Controls.Add(this.btnBrowse);
this.pnlProgram.Controls.Add(this.lbProgram);
this.pnlProgram.Controls.Add(this.pBProgram);
resources.ApplyResources(this.pnlProgram, "pnlProgram");
this.pnlProgram.Name = "pnlProgram";
//
// pnlMacro
//
resources.ApplyResources(this.pnlMacro, "pnlMacro");
this.pnlMacro.Controls.Add(this.cBMacroScanCode);
this.pnlMacro.Controls.Add(this.btnRecordMacro);
this.pnlMacro.Controls.Add(this.lbMacroRecorded);
resources.ApplyResources(this.pnlMacro, "pnlMacro");
this.pnlMacro.Name = "pnlMacro";
//
// cBMacroScanCode
@ -312,10 +332,10 @@
//
// pnlProfile
//
resources.ApplyResources(this.pnlProfile, "pnlProfile");
this.pnlProfile.Controls.Add(this.lbUnloadTipProfile);
this.pnlProfile.Controls.Add(this.cBProfiles);
this.pnlProfile.Controls.Add(this.btnSetUTriggerProfile);
resources.ApplyResources(this.pnlProfile, "pnlProfile");
this.pnlProfile.Name = "pnlProfile";
//
// lbUnloadTipProfile
@ -325,16 +345,16 @@
//
// pnlDisconnectBT
//
resources.ApplyResources(this.pnlDisconnectBT, "pnlDisconnectBT");
this.pnlDisconnectBT.Controls.Add(this.nUDDCBT);
this.pnlDisconnectBT.Controls.Add(this.lbHoldFor);
this.pnlDisconnectBT.Controls.Add(this.lbSecs);
resources.ApplyResources(this.pnlDisconnectBT, "pnlDisconnectBT");
this.pnlDisconnectBT.Name = "pnlDisconnectBT";
//
// nUDDCBT
//
resources.ApplyResources(this.nUDDCBT, "nUDDCBT");
this.nUDDCBT.DecimalPlaces = 1;
resources.ApplyResources(this.nUDDCBT, "nUDDCBT");
this.nUDDCBT.Maximum = new decimal(new int[] {
10,
0,
@ -354,11 +374,11 @@
//
// pnlKeys
//
resources.ApplyResources(this.pnlKeys, "pnlKeys");
this.pnlKeys.Controls.Add(this.btnSelectKey);
this.pnlKeys.Controls.Add(this.cBPressRelease);
this.pnlKeys.Controls.Add(this.btnSetUTriggerKeys);
this.pnlKeys.Controls.Add(this.lbUnloadTipKey);
resources.ApplyResources(this.pnlKeys, "pnlKeys");
this.pnlKeys.Name = "pnlKeys";
//
// btnSelectKey
@ -371,12 +391,12 @@
//
// cBPressRelease
//
resources.ApplyResources(this.cBPressRelease, "cBPressRelease");
this.cBPressRelease.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cBPressRelease.FormattingEnabled = true;
this.cBPressRelease.Items.AddRange(new object[] {
resources.GetString("cBPressRelease.Items"),
resources.GetString("cBPressRelease.Items1")});
resources.ApplyResources(this.cBPressRelease, "cBPressRelease");
this.cBPressRelease.Name = "cBPressRelease";
//
// btnSetUTriggerKeys
@ -391,11 +411,103 @@
resources.ApplyResources(this.lbUnloadTipKey, "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
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Control;
this.Controls.Add(this.pnlBatteryCheck);
this.Controls.Add(this.tBName);
this.Controls.Add(this.cBActions);
this.Controls.Add(this.btnCancel);
@ -419,6 +531,10 @@
this.pnlDisconnectBT.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.nUDDCBT)).EndInit();
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.PerformLayout();
@ -459,5 +575,17 @@
private System.Windows.Forms.Button btnSetUTriggerKeys;
private System.Windows.Forms.Button btnSelectKey;
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;
RecordBox rb;
int device;
public List<string> macros = new List<string>();
public List<string> controls = new List<string>();
public List<string> ucontrols = new List<string>();
@ -29,6 +30,9 @@ namespace DS4Windows
{
InitializeComponent();
this.opt = opt;
lbHoldForBatt.Text = lbHoldFor.Text;
lbSecsBatt.Text = lbSecsBatt.Text;
device = opt.device;
cBProfiles.Items.Add(Properties.Resources.noneProfile);
cBProfiles.SelectedIndex = 0;
//cBPressToggleKeys.SelectedIndex = 0;
@ -102,6 +106,17 @@ namespace DS4Windows
decimal.TryParse(act.details, out d);
nUDDCBT.Value = d;
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.SaveAction(tBName.Text, String.Join("/", controls), cBActions.SelectedIndex, Math.Round(nUDDCBT.Value, 1).ToString(), edit);
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)
{
@ -259,6 +292,7 @@ namespace DS4Windows
pnlProfile.Visible = i == 3;
pnlKeys.Visible = i == 4;
pnlDisconnectBT.Visible = i == 5;
pnlBatteryCheck.Visible = i == 6;
btnSave.Enabled = i > 0;
}
@ -312,5 +346,64 @@ namespace DS4Windows
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">
<value>Entfernungsauslöser setzen</value>
</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">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
@ -1341,9 +1344,6 @@
AAgDAAAAAwAAAAs=
</value>
</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" />
<data name="lbUnloadTipProfile.Size" type="System.Drawing.Size, System.Drawing">
<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
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.4.231")]
[assembly: AssemblyFileVersion("1.4.231")]
[assembly: AssemblyVersion("1.4.24")]
[assembly: AssemblyFileVersion("1.4.24")]

View File

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

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>
/// Looks up a localized string similar to Close DS4Windows?.
/// </summary>