From a53869f2a4a7f64a877825f12d68c302f902f555 Mon Sep 17 00:00:00 2001 From: jays2kings Date: Fri, 25 Jul 2014 19:17:45 -0400 Subject: [PATCH] Option to start a program when loading a (auto-)profile/connecting a controller Reworked mouse movement with analog sticks, still needs more fine tuning Option to add a different color for when in shift modifier mode Added default to regular controller mapping, which goes back to it's original 360 mapped action if any Big fixes: such as controller being disconnected when hiding the DS4 with D/C when stopping is on Spelling fixes --- DS4Control/Control.cs | 22 +- DS4Control/DS4LightBar.cs | 192 +++--- DS4Control/Mapping.cs | 38 +- DS4Control/ScpUtil.cs | 63 +- DS4Tool/KBM360.Designer.cs | 5 +- DS4Tool/KBM360.cs | 5 +- DS4Tool/Options.Designer.cs | 918 +++++++++++++++----------- DS4Tool/Options.cs | 195 ++++-- DS4Tool/Options.resx | 3 + DS4Tool/Properties/AssemblyInfo.cs | 4 +- DS4Tool/ScpForm.cs | 24 +- DS4Tool/ScpForm.resx | 992 +++++++++++++++++++---------- 12 files changed, 1598 insertions(+), 863 deletions(-) diff --git a/DS4Control/Control.cs b/DS4Control/Control.cs index 553af73..ac970b6 100644 --- a/DS4Control/Control.cs +++ b/DS4Control/Control.cs @@ -5,6 +5,7 @@ using System.Text; using DS4Library; using System.IO; using System.Reflection; +using System.Diagnostics; namespace DS4Control { public class Control @@ -78,16 +79,13 @@ namespace DS4Control device.Removal -= DS4Devices.On_Removal; device.Removal += this.On_DS4Removal; device.Removal += DS4Devices.On_Removal; - //TPadModeSwitcher m_switcher = new TPadModeSwitcher(device, ind); - //m_switcher.Debug += OnDebug; - //modeSwitcher[ind] = m_switcher; touchPad[ind] = new Mouse(ind, device); DS4Color color = Global.loadColor(ind); device.LightBarColor = color; x360Bus.Plugin(ind); device.Report += this.On_Report; - //m_switcher.setMode(Global.getInitialMode(ind)); TouchPadOn(ind, device); + LaunchProgram(ind); string filename = Path.GetFileName(Global.getAProfile(ind)); ind++; if (showlog) @@ -133,7 +131,7 @@ namespace DS4Control else { DS4LightBar.defualtLight = true; - DS4LightBar.updateLightBar(DS4Controllers[i], i); + DS4LightBar.updateLightBar(DS4Controllers[i], i, CurrentState[i], ExposedState[i]); System.Threading.Thread.Sleep(50); } CurrentState[i].Battery = PreviousState[i].Battery = 0; // Reset for the next connection's initial status change. @@ -188,6 +186,7 @@ namespace DS4Control device.Report += this.On_Report; x360Bus.Plugin(Index); TouchPadOn(Index, device); + LaunchProgram(Index); string filename = Path.GetFileName(Global.getAProfile(Index)); if (System.IO.File.Exists(Global.appdatapath + "\\Profiles\\" + filename)) { @@ -207,6 +206,13 @@ namespace DS4Control return true; } + public void LaunchProgram(int ind) + { + if (Global.getLaunchProgram(ind) != string.Empty) + { + Process.Start(Global.getLaunchProgram(ind)); + } + } public void TouchPadOn(int ind, DS4Device device) { ITouchpadBehaviour tPad = touchPad[ind]; @@ -218,7 +224,7 @@ namespace DS4Control device.Touchpad.TouchUnchanged += tPad.touchUnchanged; //LogDebug("Touchpad mode for " + device.MacAddress + " is now " + tmode.ToString()); //Log.LogToTray("Touchpad mode for " + device.MacAddress + " is now " + tmode.ToString()); - Global.ControllerStatusChanged(this); + //Global.ControllerStatusChanged(this); } public void TimeoutConnection(DS4Device d) @@ -379,7 +385,6 @@ namespace DS4Control Log.LogToTray("Controller " + device.MacAddress + " was removed or lost connection"); System.Threading.Thread.Sleep(XINPUT_UNPLUG_SETTLE_TIME); DS4Controllers[ind] = null; - //modeSwitcher[ind] = null; touchPad[ind] = null; Global.ControllerStatusChanged(this); } @@ -414,8 +419,7 @@ namespace DS4Control } // Update the GUI/whatever. - DS4LightBar.updateLightBar(device, ind); - //DS4LightBar.defualtLight(device, ind); + DS4LightBar.updateLightBar(device, ind, cState, ExposedState[ind]); x360Bus.Parse(cState, processingData[ind].Report, ind); // We push the translated Xinput state, and simultaneously we diff --git a/DS4Control/DS4LightBar.cs b/DS4Control/DS4LightBar.cs index 4f30b17..4a1ddf4 100644 --- a/DS4Control/DS4LightBar.cs +++ b/DS4Control/DS4LightBar.cs @@ -24,92 +24,99 @@ namespace DS4Control public static double[] fadetimer = new double[4] { 0, 0, 0, 0 }; static bool[] fadedirection = new bool[4] { false, false, false, false }; static DateTime oldnow = DateTime.UtcNow; - public static void updateLightBar(DS4Device device, int deviceNum) + public static void updateLightBar(DS4Device device, int deviceNum, DS4State cState, DS4StateExposed eState) { DS4Color color; if (!defualtLight) { - if (Global.getRainbow(deviceNum) > 0) - {// Display rainbow - DateTime now = DateTime.UtcNow; - if (now >= oldnow + TimeSpan.FromMilliseconds(10)) //update by the millisecond that way it's a smooth transtion - { - oldnow = now; - if (device.Charging) - counters[deviceNum] -= 1.5 * 3 / Global.getRainbow(deviceNum); - else - counters[deviceNum] += 1.5 * 3 / Global.getRainbow(deviceNum); - } - if (counters[deviceNum] < 0) - counters[deviceNum] = 180000; - if (Global.getLedAsBatteryIndicator(deviceNum)) - color = HuetoRGB((float)counters[deviceNum] % 360, (byte)(2.55 * device.Battery)); - else - color = HuetoRGB((float)counters[deviceNum] % 360, 255); - - } - else if (Global.getLedAsBatteryIndicator(deviceNum)) + if (Global.getShiftColorOn(deviceNum) && Global.getShiftModifier(deviceNum) > 0 && shiftMod(device, deviceNum, cState, eState)) { - //if (device.Charging == false || device.Battery >= 100) // when charged, don't show the charging animation - { - DS4Color fullColor = new DS4Color - { - red = Global.loadColor(deviceNum).red, - green = Global.loadColor(deviceNum).green, - blue = Global.loadColor(deviceNum).blue - }; - - color = Global.loadLowColor(deviceNum); - DS4Color lowColor = new DS4Color - { - red = color.red, - green = color.green, - blue = color.blue - }; - - color = Global.getTransitionedColor(lowColor, fullColor, (uint)device.Battery); - } + color = Global.loadShiftColor(deviceNum); } else { - color = Global.loadColor(deviceNum); - } - - if (Global.getIdleDisconnectTimeout(deviceNum) > 0 && Global.getLedAsBatteryIndicator(deviceNum) && (!device.Charging || device.Battery >= 100)) - {//Fade lightbar by idle time - TimeSpan timeratio = new TimeSpan(DateTime.UtcNow.Ticks - device.lastActive.Ticks); - double botratio = timeratio.TotalMilliseconds; - double topratio = TimeSpan.FromSeconds(Global.getIdleDisconnectTimeout(deviceNum)).TotalMilliseconds; - double ratio = ((botratio / topratio) * 100); - if (ratio >= 50 && ratio <= 100) - color = Global.getTransitionedColor(color, new DS4Color { red = 0, green = 0, blue = 0 }, (uint)((ratio - 50) * 2)); - else if (ratio >= 100) - color = Global.getTransitionedColor(color, new DS4Color { red = 0, green = 0, blue = 0 }, 100); - } - if (device.Charging && device.Battery < 100) - switch (Global.getChargingType(deviceNum)) - { - case 1: - if (fadetimer[deviceNum] <= 0) - fadedirection[deviceNum] = true; - else if (fadetimer[deviceNum] >= 105) - fadedirection[deviceNum] = false; - if (fadedirection[deviceNum]) - fadetimer[deviceNum]+= .1; + if (Global.getRainbow(deviceNum) > 0) + {// Display rainbow + DateTime now = DateTime.UtcNow; + if (now >= oldnow + TimeSpan.FromMilliseconds(10)) //update by the millisecond that way it's a smooth transtion + { + oldnow = now; + if (device.Charging) + counters[deviceNum] -= 1.5 * 3 / Global.getRainbow(deviceNum); else - fadetimer[deviceNum] -= .1; - color = Global.getTransitionedColor(color, new DS4Color { red = 0, green = 0, blue = 0 }, fadetimer[deviceNum]); - break; - case 2: - counters[deviceNum] += .167; + counters[deviceNum] += 1.5 * 3 / Global.getRainbow(deviceNum); + } + if (counters[deviceNum] < 0) + counters[deviceNum] = 180000; + if (Global.getLedAsBatteryIndicator(deviceNum)) + color = HuetoRGB((float)counters[deviceNum] % 360, (byte)(2.55 * device.Battery)); + else color = HuetoRGB((float)counters[deviceNum] % 360, 255); - break; - case 3: - color = Global.loadChargingColor(deviceNum); - break; - default: - break; + } + else if (Global.getLedAsBatteryIndicator(deviceNum)) + { + //if (device.Charging == false || device.Battery >= 100) // when charged, don't show the charging animation + { + DS4Color fullColor = new DS4Color + { + red = Global.loadColor(deviceNum).red, + green = Global.loadColor(deviceNum).green, + blue = Global.loadColor(deviceNum).blue + }; + + color = Global.loadLowColor(deviceNum); + DS4Color lowColor = new DS4Color + { + red = color.red, + green = color.green, + blue = color.blue + }; + + color = Global.getTransitionedColor(lowColor, fullColor, (uint)device.Battery); + } + } + else + { + color = Global.loadColor(deviceNum); + } + + if (Global.getIdleDisconnectTimeout(deviceNum) > 0 && Global.getLedAsBatteryIndicator(deviceNum) && (!device.Charging || device.Battery >= 100)) + {//Fade lightbar by idle time + TimeSpan timeratio = new TimeSpan(DateTime.UtcNow.Ticks - device.lastActive.Ticks); + double botratio = timeratio.TotalMilliseconds; + double topratio = TimeSpan.FromSeconds(Global.getIdleDisconnectTimeout(deviceNum)).TotalMilliseconds; + double ratio = ((botratio / topratio) * 100); + if (ratio >= 50 && ratio <= 100) + color = Global.getTransitionedColor(color, new DS4Color { red = 0, green = 0, blue = 0 }, (uint)((ratio - 50) * 2)); + else if (ratio >= 100) + color = Global.getTransitionedColor(color, new DS4Color { red = 0, green = 0, blue = 0 }, 100); + } + if (device.Charging && device.Battery < 100) + switch (Global.getChargingType(deviceNum)) + { + case 1: + if (fadetimer[deviceNum] <= 0) + fadedirection[deviceNum] = true; + else if (fadetimer[deviceNum] >= 105) + fadedirection[deviceNum] = false; + if (fadedirection[deviceNum]) + fadetimer[deviceNum] += .1; + else + fadetimer[deviceNum] -= .1; + color = Global.getTransitionedColor(color, new DS4Color { red = 0, green = 0, blue = 0 }, fadetimer[deviceNum]); + break; + case 2: + counters[deviceNum] += .167; + color = HuetoRGB((float)counters[deviceNum] % 360, 255); + break; + case 3: + color = Global.loadChargingColor(deviceNum); + break; + default: + break; + } + } } else if (shuttingdown) color = new DS4Color { red = 0, green = 0, blue = 0}; @@ -144,6 +151,41 @@ namespace DS4Control } public static bool defualtLight = false, shuttingdown = false; + public static bool shiftMod(DS4Device device, int deviceNum, DS4State cState, DS4StateExposed eState) + { + bool shift;; + switch (Global.getShiftModifier(deviceNum)) + { + case 1: shift = Mapping.getBoolMapping(DS4Controls.Cross, cState, eState); break; + case 2: shift = Mapping.getBoolMapping(DS4Controls.Circle, cState, eState); break; + case 3: shift = Mapping.getBoolMapping(DS4Controls.Square, cState, eState); break; + case 4: shift = Mapping.getBoolMapping(DS4Controls.Triangle, cState, eState); break; + case 5: shift = Mapping.getBoolMapping(DS4Controls.Options, cState, eState); break; + case 6: shift = Mapping.getBoolMapping(DS4Controls.Share, cState, eState); break; + case 7: shift = Mapping.getBoolMapping(DS4Controls.DpadUp, cState, eState); break; + case 8: shift = Mapping.getBoolMapping(DS4Controls.DpadDown, cState, eState); break; + case 9: shift = Mapping.getBoolMapping(DS4Controls.DpadLeft, cState, eState); break; + case 10: shift = Mapping.getBoolMapping(DS4Controls.DpadRight, cState, eState); break; + case 11: shift = Mapping.getBoolMapping(DS4Controls.PS, cState, eState); break; + case 12: shift = Mapping.getBoolMapping(DS4Controls.L1, cState, eState); break; + case 13: shift = Mapping.getBoolMapping(DS4Controls.R1, cState, eState); break; + case 14: shift = Mapping.getBoolMapping(DS4Controls.L2, cState, eState); break; + case 15: shift = Mapping.getBoolMapping(DS4Controls.R2, cState, eState); break; + case 16: shift = Mapping.getBoolMapping(DS4Controls.L3, cState, eState); break; + case 17: shift = Mapping.getBoolMapping(DS4Controls.R3, cState, eState); break; + case 18: shift = Mapping.getBoolMapping(DS4Controls.TouchLeft, cState, eState); break; + case 19: shift = Mapping.getBoolMapping(DS4Controls.TouchUpper, cState, eState); break; + case 20: shift = Mapping.getBoolMapping(DS4Controls.TouchMulti, cState, eState); break; + case 21: shift = Mapping.getBoolMapping(DS4Controls.TouchRight, cState, eState); break; + case 22: shift = Mapping.getBoolMapping(DS4Controls.GyroZNeg, cState, eState); break; + case 23: shift = Mapping.getBoolMapping(DS4Controls.GyroZPos, cState, eState); break; + case 24: shift = Mapping.getBoolMapping(DS4Controls.GyroXPos, cState, eState); break; + case 25: shift = Mapping.getBoolMapping(DS4Controls.GyroXNeg, cState, eState); break; + case 26: shift = device.getCurrentState().Touch1; break; + default: shift = false; break; + } + return shift; + } public static DS4Color HuetoRGB(float hue, byte sat) { byte C = sat; diff --git a/DS4Control/Mapping.cs b/DS4Control/Mapping.cs index 84e677b..f27bee2 100644 --- a/DS4Control/Mapping.cs +++ b/DS4Control/Mapping.cs @@ -1246,13 +1246,47 @@ namespace DS4Control double SZD = Global.getSZDeadzone(device); int deadzone = 10; double value = 0; - int speed = Global.getButtonMouseSensitivity(device); + int speed = Global.getButtonMouseSensitivity(device)+15; double root = 1.002; double divide = 10000d; DateTime now = mousenow[mnum]; + bool leftsitcklive = ((cState.LX < 127 - deadzone || 127 + deadzone < cState.LX) || (cState.LY < 127 - deadzone || 127 + deadzone < cState.LY)); + bool rightsitcklive = ((cState.RX < 127 - deadzone || 127 + deadzone < cState.RX) || (cState.RY < 127 - deadzone || 127 + deadzone < cState.RY)); switch (control) { case DS4Controls.LXNeg: + if (leftsitcklive) + value = -(cState.LX - 127) / 2550d * speed; + break; + case DS4Controls.LXPos: + if (leftsitcklive) + value = (cState.LX - 127) / 2550d * speed; + break; + case DS4Controls.RXNeg: + if (rightsitcklive) + value = -(cState.RX - 127) / 2550d * speed; + break; + case DS4Controls.RXPos: + if (rightsitcklive) + value = (cState.RX - 127) / 2550d * speed; + break; + case DS4Controls.LYNeg: + if (leftsitcklive) + value = -(cState.LY - 127) / 2550d * speed; + break; + case DS4Controls.LYPos: + if (leftsitcklive) + value = (cState.LY - 127) / 2550d * speed; + break; + case DS4Controls.RYNeg: + if (rightsitcklive) + value = -(cState.RY - 127) / 2550d * speed; + break; + case DS4Controls.RYPos: + if (rightsitcklive) + value = (cState.RY - 127) / 2550d * speed; + break; + /*case DS4Controls.LXNeg: if (cState.LX < 127 - deadzone) value = Math.Pow(root + speed / divide, -(cState.LX - 127)) - 1; break; @@ -1283,7 +1317,7 @@ namespace DS4Control case DS4Controls.RYPos: if (cState.RY > 127 + deadzone) value = Math.Pow(root + speed / divide, (cState.RY - 127)) - 1; - break; + break;*/ case DS4Controls.Share: value = (cState.Share ? Math.Pow(root + speed / divide, 100) - 1 : 0); break; case DS4Controls.Options: value = (cState.Options ? Math.Pow(root + speed / divide, 100) - 1 : 0); break; case DS4Controls.L1: value = (cState.L1 ? Math.Pow(root + speed / divide, 100) - 1 : 0); break; diff --git a/DS4Control/ScpUtil.cs b/DS4Control/ScpUtil.cs index c29b202..717a8f1 100644 --- a/DS4Control/ScpUtil.cs +++ b/DS4Control/ScpUtil.cs @@ -318,6 +318,28 @@ namespace DS4Control color.blue = m_Config.m_ChargingLeds[device][2]; return color; } + public static void saveShiftColor(int device, byte red, byte green, byte blue) + { + m_Config.m_ShiftLeds[device][0] = red; + m_Config.m_ShiftLeds[device][1] = green; + m_Config.m_ShiftLeds[device][2] = blue; + } + public static DS4Color loadShiftColor(int device) + { + DS4Color color = new DS4Color(); + color.red = m_Config.m_ShiftLeds[device][0]; + color.green = m_Config.m_ShiftLeds[device][1]; + color.blue = m_Config.m_ShiftLeds[device][2]; + return color; + } + public static void setShiftColorOn(int device, bool on) + { + m_Config.shiftColorOn[device] = on; + } + public static bool getShiftColorOn(int device) + { + return m_Config.shiftColorOn[device]; + } public static void setTapSensitivity(int device, byte sen) { m_Config.tapSensitivity[device] = sen; @@ -454,6 +476,14 @@ namespace DS4Control { m_Config.shiftModifier[device] = value; } + public static string getLaunchProgram(int device) + { + return m_Config.launchProgram[device]; + } + public static void setLaunchProgram(int device, string value) + { + m_Config.launchProgram[device] = value; + } public static void setAProfile(int device, string filepath) { m_Config.profilePath[device] = appdatapath + @"\Profiles\" + filepath + ".xml"; @@ -685,9 +715,19 @@ namespace DS4Control new Byte[] {0,0,0}, new Byte[] {0,0,0} }; + public Byte[][] m_ShiftLeds = new Byte[][] + { + new Byte[] {0,0,0}, + new Byte[] {0,0,0}, + new Byte[] {0,0,0}, + new Byte[] {0,0,0}, + new Byte[] {0,0,0} + }; + public bool[] shiftColorOn = { false, false, false, false, false }; public int[] chargingType = { 0, 0, 0, 0, 0 }; public bool[] flushHIDQueue = { true, true, true, true, true }; public int[] idleDisconnectTimeout = { 0, 0, 0, 0, 0 }; + public string[] launchProgram = { string.Empty, string.Empty, string.Empty, string.Empty, string.Empty }; public Boolean useExclusiveMode = false; public Int32 formWidth = 782; @@ -820,6 +860,10 @@ namespace DS4Control XmlNode xmlChargingColor = m_Xdoc.CreateNode(XmlNodeType.Element, "ChargingColor", null); xmlChargingColor.InnerText = m_ChargingLeds[device][0].ToString() + "," + m_ChargingLeds[device][1].ToString() + "," + m_ChargingLeds[device][2].ToString(); Node.AppendChild(xmlChargingColor); + XmlNode xmlShiftColor = m_Xdoc.CreateNode(XmlNodeType.Element, "ShiftColor", null); + xmlShiftColor.InnerText = m_ShiftLeds[device][0].ToString() + "," + m_ShiftLeds[device][1].ToString() + "," + m_ShiftLeds[device][2].ToString(); + Node.AppendChild(xmlShiftColor); + XmlNode xmlShiftColorOn = m_Xdoc.CreateNode(XmlNodeType.Element, "ShiftColorOn", null); xmlShiftColorOn.InnerText = shiftColorOn[device].ToString(); Node.AppendChild(xmlShiftColorOn); XmlNode xmlTouchpadJitterCompensation = m_Xdoc.CreateNode(XmlNodeType.Element, "touchpadJitterCompensation", null); xmlTouchpadJitterCompensation.InnerText = touchpadJitterCompensation[device].ToString(); Node.AppendChild(xmlTouchpadJitterCompensation); XmlNode xmlLowerRCOn = m_Xdoc.CreateNode(XmlNodeType.Element, "lowerRCOn", null); xmlLowerRCOn.InnerText = lowerRCOn[device].ToString(); Node.AppendChild(xmlLowerRCOn); XmlNode xmlTapSensitivity = m_Xdoc.CreateNode(XmlNodeType.Element, "tapSensitivity", null); xmlTapSensitivity.InnerText = tapSensitivity[device].ToString(); Node.AppendChild(xmlTapSensitivity); @@ -835,7 +879,8 @@ namespace DS4Control XmlNode xmlSZD = m_Xdoc.CreateNode(XmlNodeType.Element, "SZDeadZone", null); xmlSZD.InnerText = SZDeadzone[device].ToString(); Node.AppendChild(xmlSZD); XmlNode xmlChargingType = m_Xdoc.CreateNode(XmlNodeType.Element, "ChargingType", null); xmlChargingType.InnerText = chargingType[device].ToString(); Node.AppendChild(xmlChargingType); XmlNode xmlMouseAccel = m_Xdoc.CreateNode(XmlNodeType.Element, "MouseAcceleration", null); xmlMouseAccel.InnerText = mouseAccel[device].ToString(); Node.AppendChild(xmlMouseAccel); - XmlNode xmlShiftMod = m_Xdoc.CreateNode(XmlNodeType.Element, "ShiftModifier", null); xmlShiftMod.InnerText = shiftModifier[device].ToString(); Node.AppendChild(xmlShiftMod); + XmlNode xmlShiftMod = m_Xdoc.CreateNode(XmlNodeType.Element, "ShiftModifier", null); xmlShiftMod.InnerText = shiftModifier[device].ToString(); Node.AppendChild(xmlShiftMod); + XmlNode xmlLaunchProgram = m_Xdoc.CreateNode(XmlNodeType.Element, "LaunchProgram", null); xmlLaunchProgram.InnerText = launchProgram[device].ToString(); Node.AppendChild(xmlLaunchProgram); XmlNode NodeControl = m_Xdoc.CreateNode(XmlNodeType.Element, "Control", null); XmlNode Key = m_Xdoc.CreateNode(XmlNodeType.Element, "Key", null); @@ -1210,6 +1255,20 @@ namespace DS4Control try { Item = m_Xdoc.SelectSingleNode("/ScpControl/ChargingBlue"); Byte.TryParse(Item.InnerText, out m_ChargingLeds[device][2]); } catch { missingSetting = true; } } + try + { + Item = m_Xdoc.SelectSingleNode("/ScpControl/ShiftColor"); + string[] colors; + if (!string.IsNullOrEmpty(Item.InnerText)) + colors = Item.InnerText.Split(','); + else + colors = new string[0]; + for (int i = 0; i < colors.Length; i++) + m_ShiftLeds[device][i] = byte.Parse(colors[i]); + } + catch { m_ShiftLeds[device] = m_Leds[device]; missingSetting = true; } + try { Item = m_Xdoc.SelectSingleNode("/ScpControl/ShiftColorOn"); Boolean.TryParse(Item.InnerText, out shiftColorOn[device]); } + catch { shiftColorOn[device] = false; missingSetting = true; } try { Item = m_Xdoc.SelectSingleNode("/ScpControl/touchpadJitterCompensation"); Boolean.TryParse(Item.InnerText, out touchpadJitterCompensation[device]); } catch { missingSetting = true; } try { Item = m_Xdoc.SelectSingleNode("/ScpControl/lowerRCOn"); Boolean.TryParse(Item.InnerText, out lowerRCOn[device]); } @@ -1242,6 +1301,8 @@ namespace DS4Control catch { missingSetting = true; } try { Item = m_Xdoc.SelectSingleNode("/ScpControl/ShiftModifier"); Int32.TryParse(Item.InnerText, out shiftModifier[device]); } catch { shiftModifier[device] = 0; missingSetting = true; } + try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LaunchProgram"); launchProgram[device] = Item.InnerText; } + catch { launchProgram[device] = string.Empty; missingSetting = true; } DS4KeyType keyType; UInt16 wvk; if (buttons == null) diff --git a/DS4Tool/KBM360.Designer.cs b/DS4Tool/KBM360.Designer.cs index a41b433..ee61fc2 100644 --- a/DS4Tool/KBM360.Designer.cs +++ b/DS4Tool/KBM360.Designer.cs @@ -1694,7 +1694,7 @@ // // btnUNBOUND2 // - this.btnUNBOUND2.Location = new System.Drawing.Point(396, 379); + this.btnUNBOUND2.Location = new System.Drawing.Point(440, 379); this.btnUNBOUND2.Name = "btnUNBOUND2"; this.btnUNBOUND2.Size = new System.Drawing.Size(75, 23); this.btnUNBOUND2.TabIndex = 317; @@ -2034,9 +2034,8 @@ this.btnFallBack.Size = new System.Drawing.Size(75, 23); this.btnFallBack.TabIndex = 323; this.btnFallBack.TabStop = false; - this.btnFallBack.Text = "Fall Back"; + this.btnFallBack.Text = "Default"; this.btnFallBack.UseVisualStyleBackColor = true; - this.btnFallBack.Visible = false; // // KBM360 // diff --git a/DS4Tool/KBM360.cs b/DS4Tool/KBM360.cs index 2ca4ad9..7e1794c 100644 --- a/DS4Tool/KBM360.cs +++ b/DS4Tool/KBM360.cs @@ -34,8 +34,7 @@ namespace ScpServer else if (button.Name.StartsWith("sbn")) { Text = "Select an action for " + button.Name.Substring(3); - btnFallBack.Visible = true; - btnUNBOUND2.Location = new Point(btnUNBOUND2.Location.X + 35, btnUNBOUND2.Location.Y); + btnFallBack.Text = "Fall Back"; } foreach (System.Windows.Forms.Control control in this.Controls) if (control is Button) @@ -72,7 +71,7 @@ namespace ScpServer keyname = "How did you get here?"; } else if (((Button)sender).Tag == null) - keyname = "Fall back"; + keyname = ((Button)sender).Text; else if (((Button)sender).Tag.ToString().Contains("X360")) keyname = ((Button)sender).Tag.ToString().Substring(4); else diff --git a/DS4Tool/Options.Designer.cs b/DS4Tool/Options.Designer.cs index b233803..30bc08c 100644 --- a/DS4Tool/Options.Designer.cs +++ b/DS4Tool/Options.Designer.cs @@ -66,7 +66,7 @@ this.bnRSLeft = new System.Windows.Forms.Button(); this.bnLSDown = new System.Windows.Forms.Button(); this.bnR3 = new System.Windows.Forms.Button(); - this.lBControlTip = new System.Windows.Forms.Label(); + this.lbControlTip = new System.Windows.Forms.Label(); this.lBControls = new System.Windows.Forms.ListBox(); this.lowColorChooserButton = new System.Windows.Forms.Button(); this.nUDRainbow = new System.Windows.Forms.NumericUpDown(); @@ -75,10 +75,10 @@ this.greenBar = new System.Windows.Forms.TrackBar(); this.redBar = new System.Windows.Forms.TrackBar(); this.cBLightbyBattery = new System.Windows.Forms.CheckBox(); - this.lBBlue = new System.Windows.Forms.Label(); - this.lBGreen = new System.Windows.Forms.Label(); - this.lBspc = new System.Windows.Forms.Label(); - this.lBRed = new System.Windows.Forms.Label(); + this.lbBlue = new System.Windows.Forms.Label(); + this.lbGreen = new System.Windows.Forms.Label(); + this.lbspc = new System.Windows.Forms.Label(); + this.lbRed = new System.Windows.Forms.Label(); this.cBDoubleTap = new System.Windows.Forms.CheckBox(); this.cBTap = new System.Windows.Forms.CheckBox(); this.nUDTap = new System.Windows.Forms.NumericUpDown(); @@ -86,12 +86,12 @@ this.cBSlide = new System.Windows.Forms.CheckBox(); this.nUDScroll = new System.Windows.Forms.NumericUpDown(); this.nUDTouch = new System.Windows.Forms.NumericUpDown(); - this.lBButtonMouseSens = new System.Windows.Forms.Label(); + this.lbButtonMouseSens = new System.Windows.Forms.Label(); this.cBlowerRCOn = new System.Windows.Forms.CheckBox(); this.cBTouchpadJitterCompensation = new System.Windows.Forms.CheckBox(); - this.lBL2 = new System.Windows.Forms.Label(); - this.lBR2 = new System.Windows.Forms.Label(); - this.lBIdleMinutes = new System.Windows.Forms.Label(); + this.lbL2 = new System.Windows.Forms.Label(); + this.lbR2 = new System.Windows.Forms.Label(); + this.lbIdleMinutes = new System.Windows.Forms.Label(); this.nUDIdleDisconnect = new System.Windows.Forms.NumericUpDown(); this.nUDR2 = new System.Windows.Forms.NumericUpDown(); this.tBsixaxisAccelZ = new System.Windows.Forms.TrackBar(); @@ -102,19 +102,19 @@ this.tBsixaxisGyroY = new System.Windows.Forms.TrackBar(); this.tBsixaxisGyroX = new System.Windows.Forms.TrackBar(); this.nUDRumbleBoost = new System.Windows.Forms.NumericUpDown(); - this.lB6Accel = new System.Windows.Forms.Label(); + this.lb6Accel = new System.Windows.Forms.Label(); this.btnRumbleTest = new System.Windows.Forms.Button(); this.lbFull = new System.Windows.Forms.Label(); - this.lBLowRed = new System.Windows.Forms.Label(); - this.lBLowGreen = new System.Windows.Forms.Label(); - this.lBLowBlue = new System.Windows.Forms.Label(); + this.lbLowRed = new System.Windows.Forms.Label(); + this.lbLowGreen = new System.Windows.Forms.Label(); + this.lbLowBlue = new System.Windows.Forms.Label(); this.lowRedBar = new System.Windows.Forms.TrackBar(); this.lowGreenBar = new System.Windows.Forms.TrackBar(); this.lowBlueBar = new System.Windows.Forms.TrackBar(); - this.lBEmpty = new System.Windows.Forms.Label(); + this.lbEmpty = new System.Windows.Forms.Label(); this.FullPanel = new System.Windows.Forms.Panel(); this.lowBatteryPanel = new System.Windows.Forms.Panel(); - this.lB6Gryo = new System.Windows.Forms.Label(); + this.lb6Gryo = new System.Windows.Forms.Label(); this.lbRS = new System.Windows.Forms.Label(); this.lbLS = new System.Windows.Forms.Label(); this.nUDRS = new System.Windows.Forms.NumericUpDown(); @@ -123,8 +123,9 @@ this.nUDL2 = new System.Windows.Forms.NumericUpDown(); this.gBTouchpad = new System.Windows.Forms.GroupBox(); this.gBOther = new System.Windows.Forms.GroupBox(); - this.lBforMandR = new System.Windows.Forms.Label(); - this.lBUseController = new System.Windows.Forms.Label(); + this.cBLaunchProgram = new System.Windows.Forms.CheckBox(); + this.btnBrowse = new System.Windows.Forms.Button(); + this.lbUseController = new System.Windows.Forms.Label(); this.cBMouseAccel = new System.Windows.Forms.CheckBox(); this.nUDSixaxis = new System.Windows.Forms.NumericUpDown(); this.cBControllerInput = new System.Windows.Forms.CheckBox(); @@ -136,11 +137,20 @@ this.rBNormal = new System.Windows.Forms.RadioButton(); this.rBRainbow = new System.Windows.Forms.RadioButton(); this.lbWhileCharging = new System.Windows.Forms.Label(); - this.lBPercentFlashBar = new System.Windows.Forms.Label(); - this.lBFlashAt = new System.Windows.Forms.Label(); + this.lbPercentFlashBar = new System.Windows.Forms.Label(); + this.lbFlashAt = new System.Windows.Forms.Label(); this.nUDflashLED = new System.Windows.Forms.NumericUpDown(); + this.ShiftPanel = new System.Windows.Forms.Panel(); + this.cBShiftLight = new System.Windows.Forms.CheckBox(); + this.lbShift = new System.Windows.Forms.Label(); + this.lbShiftRed = new System.Windows.Forms.Label(); + this.lbShiftGreen = new System.Windows.Forms.Label(); + this.lbShiftBlue = new System.Windows.Forms.Label(); + this.shiftRedBar = new System.Windows.Forms.TrackBar(); + this.shiftGreenBar = new System.Windows.Forms.TrackBar(); + this.shiftBlueBar = new System.Windows.Forms.TrackBar(); this.gBRumble = new System.Windows.Forms.GroupBox(); - this.lBPercentRumble = new System.Windows.Forms.Label(); + this.lbPercentRumble = new System.Windows.Forms.Label(); this.gBDeadzone = new System.Windows.Forms.GroupBox(); this.lbSixaxisX = new System.Windows.Forms.Label(); this.lbSixaxisZ = new System.Windows.Forms.Label(); @@ -148,14 +158,14 @@ this.nUDSX = new System.Windows.Forms.NumericUpDown(); this.tabControls = new System.Windows.Forms.TabControl(); this.tPControls = new System.Windows.Forms.TabPage(); - this.lBGryo = new System.Windows.Forms.Label(); + this.lbGryo = new System.Windows.Forms.Label(); this.fLPTiltControls = new System.Windows.Forms.FlowLayoutPanel(); this.bnGyroZN = new System.Windows.Forms.Button(); this.bnGyroZP = new System.Windows.Forms.Button(); this.bnGyroXP = new System.Windows.Forms.Button(); this.bnGyroXN = new System.Windows.Forms.Button(); this.tPShiftMod = new System.Windows.Forms.TabPage(); - this.slBGryo = new System.Windows.Forms.Label(); + this.slbGryo = new System.Windows.Forms.Label(); this.sfLPTiltControls = new System.Windows.Forms.FlowLayoutPanel(); this.sbnGyroZN = new System.Windows.Forms.Button(); this.sbnGyroZP = new System.Windows.Forms.Button(); @@ -163,8 +173,8 @@ this.sbnGyroXN = new System.Windows.Forms.Button(); this.cBShiftControl = new System.Windows.Forms.ComboBox(); this.lBShiftControls = new System.Windows.Forms.ListBox(); - this.lBHold = new System.Windows.Forms.Label(); - this.lBtoUse = new System.Windows.Forms.Label(); + this.lbHold = new System.Windows.Forms.Label(); + this.lbtoUse = new System.Windows.Forms.Label(); this.ShiftMainPanel = new System.Windows.Forms.Panel(); this.spBController = new System.Windows.Forms.PictureBox(); this.sbnTouchUpper = new System.Windows.Forms.Button(); @@ -203,25 +213,27 @@ this.sbnLSDown = new System.Windows.Forms.Button(); this.sbnR3 = new System.Windows.Forms.Button(); this.tPController = new System.Windows.Forms.TabPage(); - this.lBL2Track = new System.Windows.Forms.Label(); + this.SixaxisPanel = new System.Windows.Forms.Panel(); + this.lbL2Track = new System.Windows.Forms.Label(); this.pBDelayTracker = new System.Windows.Forms.PictureBox(); this.btnSATrack = new System.Windows.Forms.Button(); this.btnRSTrack = new System.Windows.Forms.Button(); - this.lBRSTip = new System.Windows.Forms.Label(); - this.lBInputDelay = new System.Windows.Forms.Label(); - this.lBR2Track = new System.Windows.Forms.Label(); - this.lBLSTip = new System.Windows.Forms.Label(); - this.lBSATip = new System.Windows.Forms.Label(); + this.lbRSTip = new System.Windows.Forms.Label(); + this.lbInputDelay = new System.Windows.Forms.Label(); + this.lbR2Track = new System.Windows.Forms.Label(); + this.lbLSTip = new System.Windows.Forms.Label(); + this.lbSATip = new System.Windows.Forms.Label(); this.btnLSTrack = new System.Windows.Forms.Button(); this.pBSADeadzone = new System.Windows.Forms.PictureBox(); - this.lBSATrack = new System.Windows.Forms.Label(); this.pBRSDeadzone = new System.Windows.Forms.PictureBox(); - this.lBRSTrack = new System.Windows.Forms.Label(); + this.lbRSTrack = new System.Windows.Forms.Label(); this.pBLSDeadzone = new System.Windows.Forms.PictureBox(); - this.lBLSTrack = new System.Windows.Forms.Label(); + this.lbLSTrack = new System.Windows.Forms.Label(); this.tBR2 = new System.Windows.Forms.TrackBar(); this.tBL2 = new System.Windows.Forms.TrackBar(); - this.SixaxisPanel = new System.Windows.Forms.Panel(); + this.lbSATrack = new System.Windows.Forms.Label(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); + this.pBProgram = new System.Windows.Forms.PictureBox(); this.advColorDialog = new ScpServer.AdvancedColorDialog(); this.MainPanel.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pBController)).BeginInit(); @@ -258,6 +270,10 @@ ((System.ComponentModel.ISupportInitialize)(this.nUDSixaxis)).BeginInit(); this.gBLightbar.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.nUDflashLED)).BeginInit(); + this.ShiftPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.shiftRedBar)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.shiftGreenBar)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.shiftBlueBar)).BeginInit(); this.gBRumble.SuspendLayout(); this.gBDeadzone.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.nUDSZ)).BeginInit(); @@ -272,13 +288,14 @@ this.ShiftSticksPanel.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.spBSticks)).BeginInit(); this.tPController.SuspendLayout(); + this.SixaxisPanel.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pBDelayTracker)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pBSADeadzone)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pBRSDeadzone)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.pBLSDeadzone)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.tBR2)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.tBL2)).BeginInit(); - this.SixaxisPanel.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pBProgram)).BeginInit(); this.SuspendLayout(); // // bnTouchUpper @@ -406,8 +423,6 @@ this.pBController.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pBController.TabIndex = 1; this.pBController.TabStop = false; - this.pBController.BackColorChanged += new System.EventHandler(this.pBController_BackColorChanged); - this.pBController.BackgroundImageChanged += new System.EventHandler(this.pBController_BackgroundImageChanged); // // bnR1 // @@ -983,16 +998,16 @@ this.bnR3.UseVisualStyleBackColor = false; this.bnR3.Click += new System.EventHandler(this.Show_ControlsBn); // - // lBControlTip + // lbControlTip // - this.lBControlTip.AutoSize = true; - this.lBControlTip.Location = new System.Drawing.Point(24, 5); - this.lBControlTip.Name = "lBControlTip"; - this.lBControlTip.Size = new System.Drawing.Size(219, 26); - this.lBControlTip.TabIndex = 181; - this.lBControlTip.Text = "Click a part of the controller to change action\r\nClick the lightbar for color pic" + + this.lbControlTip.AutoSize = true; + this.lbControlTip.Location = new System.Drawing.Point(24, 5); + this.lbControlTip.Name = "lbControlTip"; + this.lbControlTip.Size = new System.Drawing.Size(219, 26); + this.lbControlTip.TabIndex = 181; + this.lbControlTip.Text = "Click a part of the controller to change action\r\nClick the lightbar for color pic" + "ker"; - this.lBControlTip.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbControlTip.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // lBControls // @@ -1000,7 +1015,7 @@ this.lBControls.Items.AddRange(new object[] { "Cross :", "Circle :", - "Sqaure :", + "Square :", "Triangle :", "Options :", "Share :", @@ -1132,41 +1147,41 @@ this.cBLightbyBattery.UseVisualStyleBackColor = true; this.cBLightbyBattery.CheckedChanged += new System.EventHandler(this.ledAsBatteryIndicator_CheckedChanged); // - // lBBlue + // lbBlue // - this.lBBlue.AutoSize = true; - this.lBBlue.Location = new System.Drawing.Point(308, 7); - this.lBBlue.Name = "lBBlue"; - this.lBBlue.Size = new System.Drawing.Size(14, 13); - this.lBBlue.TabIndex = 160; - this.lBBlue.Text = "B"; + this.lbBlue.AutoSize = true; + this.lbBlue.Location = new System.Drawing.Point(308, 7); + this.lbBlue.Name = "lbBlue"; + this.lbBlue.Size = new System.Drawing.Size(14, 13); + this.lbBlue.TabIndex = 160; + this.lbBlue.Text = "B"; // - // lBGreen + // lbGreen // - this.lBGreen.AutoSize = true; - this.lBGreen.Location = new System.Drawing.Point(180, 7); - this.lBGreen.Name = "lBGreen"; - this.lBGreen.Size = new System.Drawing.Size(15, 13); - this.lBGreen.TabIndex = 159; - this.lBGreen.Text = "G"; + this.lbGreen.AutoSize = true; + this.lbGreen.Location = new System.Drawing.Point(180, 7); + this.lbGreen.Name = "lbGreen"; + this.lbGreen.Size = new System.Drawing.Size(15, 13); + this.lbGreen.TabIndex = 159; + this.lbGreen.Text = "G"; // - // lBspc + // lbspc // - this.lBspc.AutoSize = true; - this.lBspc.Location = new System.Drawing.Point(223, 19); - this.lBspc.Name = "lBspc"; - this.lBspc.Size = new System.Drawing.Size(59, 13); - this.lBspc.TabIndex = 157; - this.lBspc.Text = "secs/cycle"; + this.lbspc.AutoSize = true; + this.lbspc.Location = new System.Drawing.Point(223, 19); + this.lbspc.Name = "lbspc"; + this.lbspc.Size = new System.Drawing.Size(59, 13); + this.lbspc.TabIndex = 157; + this.lbspc.Text = "secs/cycle"; // - // lBRed + // lbRed // - this.lBRed.AutoSize = true; - this.lBRed.Location = new System.Drawing.Point(58, 7); - this.lBRed.Name = "lBRed"; - this.lBRed.Size = new System.Drawing.Size(15, 13); - this.lBRed.TabIndex = 158; - this.lBRed.Text = "R"; + this.lbRed.AutoSize = true; + this.lbRed.Location = new System.Drawing.Point(58, 7); + this.lbRed.Name = "lbRed"; + this.lbRed.Size = new System.Drawing.Size(15, 13); + this.lbRed.TabIndex = 158; + this.lbRed.Text = "R"; // // cBDoubleTap // @@ -1283,15 +1298,15 @@ 0}); this.nUDTouch.ValueChanged += new System.EventHandler(this.numUDTouch_ValueChanged); // - // lBButtonMouseSens + // lbButtonMouseSens // - this.lBButtonMouseSens.AutoSize = true; - this.lBButtonMouseSens.Location = new System.Drawing.Point(5, 18); - this.lBButtonMouseSens.Name = "lBButtonMouseSens"; - this.lBButtonMouseSens.Size = new System.Drawing.Size(92, 13); - this.lBButtonMouseSens.TabIndex = 206; - this.lBButtonMouseSens.Text = "Mouse Sensitivity:"; - this.lBButtonMouseSens.TextAlign = System.Drawing.ContentAlignment.TopRight; + this.lbButtonMouseSens.AutoSize = true; + this.lbButtonMouseSens.Location = new System.Drawing.Point(5, 18); + this.lbButtonMouseSens.Name = "lbButtonMouseSens"; + this.lbButtonMouseSens.Size = new System.Drawing.Size(92, 13); + this.lbButtonMouseSens.TabIndex = 206; + this.lbButtonMouseSens.Text = "Mouse Sensitivity:"; + this.lbButtonMouseSens.TextAlign = System.Drawing.ContentAlignment.TopRight; // // cBlowerRCOn // @@ -1319,37 +1334,37 @@ this.cBTouchpadJitterCompensation.UseVisualStyleBackColor = true; this.cBTouchpadJitterCompensation.CheckedChanged += new System.EventHandler(this.touchpadJitterCompensation_CheckedChanged); // - // lBL2 + // lbL2 // - this.lBL2.AutoSize = true; - this.lBL2.Location = new System.Drawing.Point(7, 17); - this.lBL2.Name = "lBL2"; - this.lBL2.Size = new System.Drawing.Size(19, 13); - this.lBL2.TabIndex = 196; - this.lBL2.Text = "L2"; + this.lbL2.AutoSize = true; + this.lbL2.Location = new System.Drawing.Point(7, 17); + this.lbL2.Name = "lbL2"; + this.lbL2.Size = new System.Drawing.Size(19, 13); + this.lbL2.TabIndex = 196; + this.lbL2.Text = "L2"; // - // lBR2 + // lbR2 // - this.lBR2.AutoSize = true; - this.lBR2.Location = new System.Drawing.Point(88, 17); - this.lBR2.Name = "lBR2"; - this.lBR2.Size = new System.Drawing.Size(21, 13); - this.lBR2.TabIndex = 197; - this.lBR2.Text = "R2"; + this.lbR2.AutoSize = true; + this.lbR2.Location = new System.Drawing.Point(88, 17); + this.lbR2.Name = "lbR2"; + this.lbR2.Size = new System.Drawing.Size(21, 13); + this.lbR2.TabIndex = 197; + this.lbR2.Text = "R2"; // - // lBIdleMinutes + // lbIdleMinutes // - this.lBIdleMinutes.AutoSize = true; - this.lBIdleMinutes.Location = new System.Drawing.Point(163, 48); - this.lBIdleMinutes.Name = "lBIdleMinutes"; - this.lBIdleMinutes.Size = new System.Drawing.Size(28, 13); - this.lBIdleMinutes.TabIndex = 200; - this.lBIdleMinutes.Text = "mins"; + this.lbIdleMinutes.AutoSize = true; + this.lbIdleMinutes.Location = new System.Drawing.Point(163, 46); + this.lbIdleMinutes.Name = "lbIdleMinutes"; + this.lbIdleMinutes.Size = new System.Drawing.Size(28, 13); + this.lbIdleMinutes.TabIndex = 200; + this.lbIdleMinutes.Text = "mins"; // // nUDIdleDisconnect // this.nUDIdleDisconnect.DecimalPlaces = 1; - this.nUDIdleDisconnect.Location = new System.Drawing.Point(109, 46); + this.nUDIdleDisconnect.Location = new System.Drawing.Point(109, 44); this.nUDIdleDisconnect.Maximum = new decimal(new int[] { 60, 0, @@ -1482,14 +1497,14 @@ 0}); this.nUDRumbleBoost.ValueChanged += new System.EventHandler(this.rumbleBoostBar_ValueChanged); // - // lB6Accel + // lb6Accel // - this.lB6Accel.AutoSize = true; - this.lB6Accel.Location = new System.Drawing.Point(81, 4); - this.lB6Accel.Name = "lB6Accel"; - this.lB6Accel.Size = new System.Drawing.Size(34, 13); - this.lB6Accel.TabIndex = 215; - this.lB6Accel.Text = "Accel"; + this.lb6Accel.AutoSize = true; + this.lb6Accel.Location = new System.Drawing.Point(81, 4); + this.lb6Accel.Name = "lb6Accel"; + this.lb6Accel.Size = new System.Drawing.Size(34, 13); + this.lb6Accel.TabIndex = 215; + this.lb6Accel.Text = "Accel"; // // btnRumbleTest // @@ -1510,32 +1525,32 @@ this.lbFull.TabIndex = 225; this.lbFull.Text = "Full:"; // - // lBLowRed + // lbLowRed // - this.lBLowRed.AutoSize = true; - this.lBLowRed.Location = new System.Drawing.Point(58, 9); - this.lBLowRed.Name = "lBLowRed"; - this.lBLowRed.Size = new System.Drawing.Size(15, 13); - this.lBLowRed.TabIndex = 158; - this.lBLowRed.Text = "R"; + this.lbLowRed.AutoSize = true; + this.lbLowRed.Location = new System.Drawing.Point(58, 9); + this.lbLowRed.Name = "lbLowRed"; + this.lbLowRed.Size = new System.Drawing.Size(15, 13); + this.lbLowRed.TabIndex = 158; + this.lbLowRed.Text = "R"; // - // lBLowGreen + // lbLowGreen // - this.lBLowGreen.AutoSize = true; - this.lBLowGreen.Location = new System.Drawing.Point(180, 9); - this.lBLowGreen.Name = "lBLowGreen"; - this.lBLowGreen.Size = new System.Drawing.Size(15, 13); - this.lBLowGreen.TabIndex = 159; - this.lBLowGreen.Text = "G"; + this.lbLowGreen.AutoSize = true; + this.lbLowGreen.Location = new System.Drawing.Point(180, 9); + this.lbLowGreen.Name = "lbLowGreen"; + this.lbLowGreen.Size = new System.Drawing.Size(15, 13); + this.lbLowGreen.TabIndex = 159; + this.lbLowGreen.Text = "G"; // - // lBLowBlue + // lbLowBlue // - this.lBLowBlue.AutoSize = true; - this.lBLowBlue.Location = new System.Drawing.Point(308, 9); - this.lBLowBlue.Name = "lBLowBlue"; - this.lBLowBlue.Size = new System.Drawing.Size(14, 13); - this.lBLowBlue.TabIndex = 160; - this.lBLowBlue.Text = "B"; + this.lbLowBlue.AutoSize = true; + this.lbLowBlue.Location = new System.Drawing.Point(308, 9); + this.lbLowBlue.Name = "lbLowBlue"; + this.lbLowBlue.Size = new System.Drawing.Size(14, 13); + this.lbLowBlue.TabIndex = 160; + this.lbLowBlue.Text = "B"; // // lowRedBar // @@ -1585,22 +1600,22 @@ this.lowBlueBar.MouseDown += new System.Windows.Forms.MouseEventHandler(this.LightBar_MouseDown); this.lowBlueBar.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Lightbar_MouseUp); // - // lBEmpty + // lbEmpty // - this.lBEmpty.AutoSize = true; - this.lBEmpty.Location = new System.Drawing.Point(7, 9); - this.lBEmpty.Name = "lBEmpty"; - this.lBEmpty.Size = new System.Drawing.Size(39, 13); - this.lBEmpty.TabIndex = 225; - this.lBEmpty.Text = "Empty:"; - this.lBEmpty.Click += new System.EventHandler(this.lBEmpty_Click); + this.lbEmpty.AutoSize = true; + this.lbEmpty.Location = new System.Drawing.Point(7, 9); + this.lbEmpty.Name = "lbEmpty"; + this.lbEmpty.Size = new System.Drawing.Size(39, 13); + this.lbEmpty.TabIndex = 225; + this.lbEmpty.Text = "Empty:"; + this.lbEmpty.Click += new System.EventHandler(this.lbEmpty_Click); // // FullPanel // this.FullPanel.Controls.Add(this.lbFull); - this.FullPanel.Controls.Add(this.lBRed); - this.FullPanel.Controls.Add(this.lBGreen); - this.FullPanel.Controls.Add(this.lBBlue); + this.FullPanel.Controls.Add(this.lbRed); + this.FullPanel.Controls.Add(this.lbGreen); + this.FullPanel.Controls.Add(this.lbBlue); this.FullPanel.Controls.Add(this.redBar); this.FullPanel.Controls.Add(this.greenBar); this.FullPanel.Controls.Add(this.blueBar); @@ -1612,26 +1627,26 @@ // lowBatteryPanel // this.lowBatteryPanel.Controls.Add(this.lowColorChooserButton); - this.lowBatteryPanel.Controls.Add(this.lBLowRed); - this.lowBatteryPanel.Controls.Add(this.lBLowGreen); - this.lowBatteryPanel.Controls.Add(this.lBLowBlue); + this.lowBatteryPanel.Controls.Add(this.lbLowRed); + this.lowBatteryPanel.Controls.Add(this.lbLowGreen); + this.lowBatteryPanel.Controls.Add(this.lbLowBlue); this.lowBatteryPanel.Controls.Add(this.lowRedBar); this.lowBatteryPanel.Controls.Add(this.lowGreenBar); this.lowBatteryPanel.Controls.Add(this.lowBlueBar); - this.lowBatteryPanel.Controls.Add(this.lBEmpty); + this.lowBatteryPanel.Controls.Add(this.lbEmpty); this.lowBatteryPanel.Location = new System.Drawing.Point(2, 72); this.lowBatteryPanel.Name = "lowBatteryPanel"; this.lowBatteryPanel.Size = new System.Drawing.Size(435, 29); this.lowBatteryPanel.TabIndex = 234; // - // lB6Gryo + // lb6Gryo // - this.lB6Gryo.AutoSize = true; - this.lB6Gryo.Location = new System.Drawing.Point(13, 5); - this.lB6Gryo.Name = "lB6Gryo"; - this.lB6Gryo.Size = new System.Drawing.Size(29, 13); - this.lB6Gryo.TabIndex = 216; - this.lB6Gryo.Text = "Gyro"; + this.lb6Gryo.AutoSize = true; + this.lb6Gryo.Location = new System.Drawing.Point(13, 5); + this.lb6Gryo.Name = "lb6Gryo"; + this.lb6Gryo.Size = new System.Drawing.Size(29, 13); + this.lb6Gryo.TabIndex = 216; + this.lb6Gryo.Text = "Gyro"; // // lbRS // @@ -1749,17 +1764,19 @@ // // gBOther // - this.gBOther.Controls.Add(this.lBforMandR); - this.gBOther.Controls.Add(this.lBUseController); + this.gBOther.Controls.Add(this.pBProgram); + this.gBOther.Controls.Add(this.cBLaunchProgram); + this.gBOther.Controls.Add(this.btnBrowse); + this.gBOther.Controls.Add(this.lbUseController); this.gBOther.Controls.Add(this.cBMouseAccel); this.gBOther.Controls.Add(this.nUDSixaxis); this.gBOther.Controls.Add(this.cBControllerInput); this.gBOther.Controls.Add(this.nUDIdleDisconnect); this.gBOther.Controls.Add(this.cBIdleDisconnect); - this.gBOther.Controls.Add(this.lBButtonMouseSens); + this.gBOther.Controls.Add(this.lbButtonMouseSens); this.gBOther.Controls.Add(this.numUDMouseSens); this.gBOther.Controls.Add(this.cBFlushHIDQueue); - this.gBOther.Controls.Add(this.lBIdleMinutes); + this.gBOther.Controls.Add(this.lbIdleMinutes); this.gBOther.Location = new System.Drawing.Point(445, 226); this.gBOther.Name = "gBOther"; this.gBOther.Size = new System.Drawing.Size(436, 95); @@ -1767,23 +1784,38 @@ this.gBOther.TabStop = false; this.gBOther.Text = "Other"; // - // lBforMandR + // cBLaunchProgram // - this.lBforMandR.AutoSize = true; - this.lBforMandR.Location = new System.Drawing.Point(307, 74); - this.lBforMandR.Name = "lBforMandR"; - this.lBforMandR.Size = new System.Drawing.Size(123, 13); - this.lBforMandR.TabIndex = 252; - this.lBforMandR.Text = "for Mapping and readout"; + this.cBLaunchProgram.AutoSize = true; + this.cBLaunchProgram.Location = new System.Drawing.Point(224, 39); + this.cBLaunchProgram.Name = "cBLaunchProgram"; + this.cBLaunchProgram.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.cBLaunchProgram.Size = new System.Drawing.Size(136, 30); + this.cBLaunchProgram.TabIndex = 254; + this.cBLaunchProgram.Text = "Launch Program when \r\nstarting profile"; + this.cBLaunchProgram.UseVisualStyleBackColor = true; + this.cBLaunchProgram.CheckedChanged += new System.EventHandler(this.cBLaunchProgram_CheckedChanged); // - // lBUseController + // btnBrowse // - this.lBUseController.AutoSize = true; - this.lBUseController.Location = new System.Drawing.Point(195, 74); - this.lBUseController.Name = "lBUseController"; - this.lBUseController.Size = new System.Drawing.Size(73, 13); - this.lBUseController.TabIndex = 252; - this.lBUseController.Text = "Use Controller"; + this.btnBrowse.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom; + this.btnBrowse.ImageAlign = System.Drawing.ContentAlignment.MiddleRight; + this.btnBrowse.Location = new System.Drawing.Point(363, 41); + this.btnBrowse.Name = "btnBrowse"; + this.btnBrowse.Size = new System.Drawing.Size(67, 23); + this.btnBrowse.TabIndex = 253; + this.btnBrowse.Text = "Browse..."; + this.btnBrowse.UseVisualStyleBackColor = true; + this.btnBrowse.Click += new System.EventHandler(this.btnBrowse_Click); + // + // lbUseController + // + this.lbUseController.AutoSize = true; + this.lbUseController.Location = new System.Drawing.Point(7, 75); + this.lbUseController.Name = "lbUseController"; + this.lbUseController.Size = new System.Drawing.Size(73, 13); + this.lbUseController.TabIndex = 252; + this.lbUseController.Text = "Use Controller"; // // cBMouseAccel // @@ -1798,7 +1830,7 @@ // // nUDSixaxis // - this.nUDSixaxis.Location = new System.Drawing.Point(272, 71); + this.nUDSixaxis.Location = new System.Drawing.Point(82, 73); this.nUDSixaxis.Maximum = new decimal(new int[] { 4, 0, @@ -1823,12 +1855,12 @@ this.cBControllerInput.AutoSize = true; this.cBControllerInput.Checked = true; this.cBControllerInput.CheckState = System.Windows.Forms.CheckState.Checked; - this.cBControllerInput.Location = new System.Drawing.Point(6, 72); + this.cBControllerInput.Location = new System.Drawing.Point(117, 74); this.cBControllerInput.Name = "cBControllerInput"; this.cBControllerInput.RightToLeft = System.Windows.Forms.RightToLeft.Yes; - this.cBControllerInput.Size = new System.Drawing.Size(113, 17); + this.cBControllerInput.Size = new System.Drawing.Size(142, 17); this.cBControllerInput.TabIndex = 242; - this.cBControllerInput.Text = "Use a DS4 to map"; + this.cBControllerInput.Text = "for Mapping and readout"; this.cBControllerInput.UseVisualStyleBackColor = true; // // cBIdleDisconnect @@ -1836,7 +1868,7 @@ this.cBIdleDisconnect.AutoSize = true; this.cBIdleDisconnect.Checked = true; this.cBIdleDisconnect.CheckState = System.Windows.Forms.CheckState.Checked; - this.cBIdleDisconnect.Location = new System.Drawing.Point(6, 47); + this.cBIdleDisconnect.Location = new System.Drawing.Point(6, 45); this.cBIdleDisconnect.Name = "cBIdleDisconnect"; this.cBIdleDisconnect.RightToLeft = System.Windows.Forms.RightToLeft.Yes; this.cBIdleDisconnect.Size = new System.Drawing.Size(100, 17); @@ -1853,15 +1885,16 @@ this.gBLightbar.Controls.Add(this.rBNormal); this.gBLightbar.Controls.Add(this.rBRainbow); this.gBLightbar.Controls.Add(this.lbWhileCharging); - this.gBLightbar.Controls.Add(this.lBPercentFlashBar); - this.gBLightbar.Controls.Add(this.lBFlashAt); + this.gBLightbar.Controls.Add(this.lbPercentFlashBar); + this.gBLightbar.Controls.Add(this.lbFlashAt); this.gBLightbar.Controls.Add(this.pBRainbow); - this.gBLightbar.Controls.Add(this.lowBatteryPanel); this.gBLightbar.Controls.Add(this.nUDflashLED); this.gBLightbar.Controls.Add(this.nUDRainbow); - this.gBLightbar.Controls.Add(this.FullPanel); - this.gBLightbar.Controls.Add(this.lBspc); + this.gBLightbar.Controls.Add(this.lbspc); this.gBLightbar.Controls.Add(this.cBLightbyBattery); + this.gBLightbar.Controls.Add(this.ShiftPanel); + this.gBLightbar.Controls.Add(this.lowBatteryPanel); + this.gBLightbar.Controls.Add(this.FullPanel); this.gBLightbar.Location = new System.Drawing.Point(443, 85); this.gBLightbar.Name = "gBLightbar"; this.gBLightbar.Size = new System.Drawing.Size(438, 129); @@ -1937,23 +1970,23 @@ this.lbWhileCharging.TabIndex = 236; this.lbWhileCharging.Text = "While Charging:"; // - // lBPercentFlashBar + // lbPercentFlashBar // - this.lBPercentFlashBar.AutoSize = true; - this.lBPercentFlashBar.Location = new System.Drawing.Point(98, 18); - this.lBPercentFlashBar.Name = "lBPercentFlashBar"; - this.lBPercentFlashBar.Size = new System.Drawing.Size(15, 13); - this.lBPercentFlashBar.TabIndex = 207; - this.lBPercentFlashBar.Text = "%"; + this.lbPercentFlashBar.AutoSize = true; + this.lbPercentFlashBar.Location = new System.Drawing.Point(98, 18); + this.lbPercentFlashBar.Name = "lbPercentFlashBar"; + this.lbPercentFlashBar.Size = new System.Drawing.Size(15, 13); + this.lbPercentFlashBar.TabIndex = 207; + this.lbPercentFlashBar.Text = "%"; // - // lBFlashAt + // lbFlashAt // - this.lBFlashAt.AutoSize = true; - this.lBFlashAt.Location = new System.Drawing.Point(9, 18); - this.lBFlashAt.Name = "lBFlashAt"; - this.lBFlashAt.Size = new System.Drawing.Size(44, 13); - this.lBFlashAt.TabIndex = 207; - this.lBFlashAt.Text = "Flash at"; + this.lbFlashAt.AutoSize = true; + this.lbFlashAt.Location = new System.Drawing.Point(9, 18); + this.lbFlashAt.Name = "lbFlashAt"; + this.lbFlashAt.Size = new System.Drawing.Size(44, 13); + this.lbFlashAt.TabIndex = 207; + this.lbFlashAt.Text = "Flash at"; // // nUDflashLED // @@ -1968,9 +2001,123 @@ this.nUDflashLED.TabIndex = 167; this.nUDflashLED.ValueChanged += new System.EventHandler(this.nUDflashLED_ValueChanged); // + // ShiftPanel + // + this.ShiftPanel.Controls.Add(this.cBShiftLight); + this.ShiftPanel.Controls.Add(this.lbShift); + this.ShiftPanel.Controls.Add(this.lbShiftRed); + this.ShiftPanel.Controls.Add(this.lbShiftGreen); + this.ShiftPanel.Controls.Add(this.lbShiftBlue); + this.ShiftPanel.Controls.Add(this.shiftRedBar); + this.ShiftPanel.Controls.Add(this.shiftGreenBar); + this.ShiftPanel.Controls.Add(this.shiftBlueBar); + this.ShiftPanel.Location = new System.Drawing.Point(2, 42); + this.ShiftPanel.Name = "ShiftPanel"; + this.ShiftPanel.Size = new System.Drawing.Size(435, 60); + this.ShiftPanel.TabIndex = 235; + this.ShiftPanel.Visible = false; + // + // cBShiftLight + // + this.cBShiftLight.AutoSize = true; + this.cBShiftLight.Checked = true; + this.cBShiftLight.CheckState = System.Windows.Forms.CheckState.Checked; + this.cBShiftLight.Location = new System.Drawing.Point(8, 8); + this.cBShiftLight.Name = "cBShiftLight"; + this.cBShiftLight.Size = new System.Drawing.Size(176, 17); + this.cBShiftLight.TabIndex = 226; + this.cBShiftLight.Text = "Use another color for shift mode"; + this.cBShiftLight.UseVisualStyleBackColor = true; + this.cBShiftLight.CheckedChanged += new System.EventHandler(this.cBShiftLight_CheckedChanged); + // + // lbShift + // + this.lbShift.AutoSize = true; + this.lbShift.Location = new System.Drawing.Point(7, 33); + this.lbShift.Name = "lbShift"; + this.lbShift.Size = new System.Drawing.Size(31, 13); + this.lbShift.TabIndex = 225; + this.lbShift.Text = "Shift:"; + this.lbShift.Click += new System.EventHandler(this.lbShift_Click); + // + // lbShiftRed + // + this.lbShiftRed.AutoSize = true; + this.lbShiftRed.Location = new System.Drawing.Point(58, 33); + this.lbShiftRed.Name = "lbShiftRed"; + this.lbShiftRed.Size = new System.Drawing.Size(15, 13); + this.lbShiftRed.TabIndex = 158; + this.lbShiftRed.Text = "R"; + // + // lbShiftGreen + // + this.lbShiftGreen.AutoSize = true; + this.lbShiftGreen.Location = new System.Drawing.Point(180, 33); + this.lbShiftGreen.Name = "lbShiftGreen"; + this.lbShiftGreen.Size = new System.Drawing.Size(15, 13); + this.lbShiftGreen.TabIndex = 159; + this.lbShiftGreen.Text = "G"; + // + // lbShiftBlue + // + this.lbShiftBlue.AutoSize = true; + this.lbShiftBlue.Location = new System.Drawing.Point(308, 33); + this.lbShiftBlue.Name = "lbShiftBlue"; + this.lbShiftBlue.Size = new System.Drawing.Size(14, 13); + this.lbShiftBlue.TabIndex = 160; + this.lbShiftBlue.Text = "B"; + // + // shiftRedBar + // + this.shiftRedBar.AutoSize = false; + this.shiftRedBar.BackColor = System.Drawing.Color.Red; + this.shiftRedBar.Location = new System.Drawing.Point(73, 30); + this.shiftRedBar.Maximum = 255; + this.shiftRedBar.Name = "shiftRedBar"; + this.shiftRedBar.Size = new System.Drawing.Size(100, 20); + this.shiftRedBar.TabIndex = 10; + this.shiftRedBar.TickFrequency = 25; + this.shiftRedBar.TickStyle = System.Windows.Forms.TickStyle.None; + this.shiftRedBar.Value = 255; + this.shiftRedBar.ValueChanged += new System.EventHandler(this.shiftRedBar_ValueChanged); + this.shiftRedBar.MouseDown += new System.Windows.Forms.MouseEventHandler(this.LightBar_MouseDown); + this.shiftRedBar.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Lightbar_MouseUp); + // + // shiftGreenBar + // + this.shiftGreenBar.AutoSize = false; + this.shiftGreenBar.BackColor = System.Drawing.Color.Green; + this.shiftGreenBar.Location = new System.Drawing.Point(196, 30); + this.shiftGreenBar.Maximum = 255; + this.shiftGreenBar.Name = "shiftGreenBar"; + this.shiftGreenBar.Size = new System.Drawing.Size(100, 20); + this.shiftGreenBar.TabIndex = 11; + this.shiftGreenBar.TickFrequency = 25; + this.shiftGreenBar.TickStyle = System.Windows.Forms.TickStyle.None; + this.shiftGreenBar.Value = 255; + this.shiftGreenBar.ValueChanged += new System.EventHandler(this.shiftGreenBar_ValueChanged); + this.shiftGreenBar.MouseDown += new System.Windows.Forms.MouseEventHandler(this.LightBar_MouseDown); + this.shiftGreenBar.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Lightbar_MouseUp); + // + // shiftBlueBar + // + this.shiftBlueBar.AutoSize = false; + this.shiftBlueBar.BackColor = System.Drawing.Color.Blue; + this.shiftBlueBar.Location = new System.Drawing.Point(325, 30); + this.shiftBlueBar.Maximum = 255; + this.shiftBlueBar.Name = "shiftBlueBar"; + this.shiftBlueBar.Size = new System.Drawing.Size(100, 20); + this.shiftBlueBar.TabIndex = 12; + this.shiftBlueBar.TickFrequency = 25; + this.shiftBlueBar.TickStyle = System.Windows.Forms.TickStyle.None; + this.shiftBlueBar.Value = 255; + this.shiftBlueBar.ValueChanged += new System.EventHandler(this.shiftBlueBar_ValueChanged); + this.shiftBlueBar.MouseDown += new System.Windows.Forms.MouseEventHandler(this.LightBar_MouseDown); + this.shiftBlueBar.MouseUp += new System.Windows.Forms.MouseEventHandler(this.Lightbar_MouseUp); + // // gBRumble // - this.gBRumble.Controls.Add(this.lBPercentRumble); + this.gBRumble.Controls.Add(this.lbPercentRumble); this.gBRumble.Controls.Add(this.btnRumbleTest); this.gBRumble.Controls.Add(this.nUDRumbleBoost); this.gBRumble.Location = new System.Drawing.Point(445, 12); @@ -1980,22 +2127,22 @@ this.gBRumble.TabStop = false; this.gBRumble.Text = "Rumble"; // - // lBPercentRumble + // lbPercentRumble // - this.lBPercentRumble.AutoSize = true; - this.lBPercentRumble.Location = new System.Drawing.Point(63, 17); - this.lBPercentRumble.Name = "lBPercentRumble"; - this.lBPercentRumble.Size = new System.Drawing.Size(15, 13); - this.lBPercentRumble.TabIndex = 207; - this.lBPercentRumble.Text = "%"; + this.lbPercentRumble.AutoSize = true; + this.lbPercentRumble.Location = new System.Drawing.Point(63, 17); + this.lbPercentRumble.Name = "lbPercentRumble"; + this.lbPercentRumble.Size = new System.Drawing.Size(15, 13); + this.lbPercentRumble.TabIndex = 207; + this.lbPercentRumble.Text = "%"; // // gBDeadzone // - this.gBDeadzone.Controls.Add(this.lBL2); + this.gBDeadzone.Controls.Add(this.lbL2); this.gBDeadzone.Controls.Add(this.nUDL2); this.gBDeadzone.Controls.Add(this.lbSixaxisX); this.gBDeadzone.Controls.Add(this.lbSixaxisZ); - this.gBDeadzone.Controls.Add(this.lBR2); + this.gBDeadzone.Controls.Add(this.lbR2); this.gBDeadzone.Controls.Add(this.lbRS); this.gBDeadzone.Controls.Add(this.nUDSZ); this.gBDeadzone.Controls.Add(this.lbLS); @@ -2091,11 +2238,11 @@ // // tPControls // - this.tPControls.Controls.Add(this.lBGryo); + this.tPControls.Controls.Add(this.lbGryo); this.tPControls.Controls.Add(this.fLPTiltControls); this.tPControls.Controls.Add(this.MainPanel); this.tPControls.Controls.Add(this.lBControls); - this.tPControls.Controls.Add(this.lBControlTip); + this.tPControls.Controls.Add(this.lbControlTip); this.tPControls.Controls.Add(this.SticksPanel); this.tPControls.Location = new System.Drawing.Point(4, 22); this.tPControls.Name = "tPControls"; @@ -2105,14 +2252,14 @@ this.tPControls.Text = "Controls"; this.tPControls.UseVisualStyleBackColor = true; // - // lBGryo + // lbGryo // - this.lBGryo.AutoSize = true; - this.lBGryo.Location = new System.Drawing.Point(5, 192); - this.lBGryo.Name = "lBGryo"; - this.lBGryo.Size = new System.Drawing.Size(67, 13); - this.lBGryo.TabIndex = 253; - this.lBGryo.Text = "Sixaxis Gyro:"; + this.lbGryo.AutoSize = true; + this.lbGryo.Location = new System.Drawing.Point(5, 192); + this.lbGryo.Name = "lbGryo"; + this.lbGryo.Size = new System.Drawing.Size(67, 13); + this.lbGryo.TabIndex = 253; + this.lbGryo.Text = "Sixaxis Gyro:"; // // fLPTiltControls // @@ -2167,12 +2314,12 @@ // // tPShiftMod // - this.tPShiftMod.Controls.Add(this.slBGryo); + this.tPShiftMod.Controls.Add(this.slbGryo); this.tPShiftMod.Controls.Add(this.sfLPTiltControls); this.tPShiftMod.Controls.Add(this.cBShiftControl); this.tPShiftMod.Controls.Add(this.lBShiftControls); - this.tPShiftMod.Controls.Add(this.lBHold); - this.tPShiftMod.Controls.Add(this.lBtoUse); + this.tPShiftMod.Controls.Add(this.lbHold); + this.tPShiftMod.Controls.Add(this.lbtoUse); this.tPShiftMod.Controls.Add(this.ShiftMainPanel); this.tPShiftMod.Controls.Add(this.ShiftSticksPanel); this.tPShiftMod.Location = new System.Drawing.Point(4, 22); @@ -2183,14 +2330,14 @@ this.tPShiftMod.Text = "Shift Modifier"; this.tPShiftMod.UseVisualStyleBackColor = true; // - // slBGryo + // slbGryo // - this.slBGryo.AutoSize = true; - this.slBGryo.Location = new System.Drawing.Point(5, 192); - this.slBGryo.Name = "slBGryo"; - this.slBGryo.Size = new System.Drawing.Size(67, 13); - this.slBGryo.TabIndex = 255; - this.slBGryo.Text = "Sixaxis Gyro:"; + this.slbGryo.AutoSize = true; + this.slbGryo.Location = new System.Drawing.Point(5, 192); + this.slbGryo.Name = "slbGryo"; + this.slbGryo.Size = new System.Drawing.Size(67, 13); + this.slbGryo.TabIndex = 255; + this.slbGryo.Text = "Sixaxis Gyro:"; // // sfLPTiltControls // @@ -2325,25 +2472,25 @@ this.lBShiftControls.KeyDown += new System.Windows.Forms.KeyEventHandler(this.List_KeyDown); this.lBShiftControls.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.List_MouseDoubleClick); // - // lBHold + // lbHold // - this.lBHold.AutoSize = true; - this.lBHold.Location = new System.Drawing.Point(44, 6); - this.lBHold.Name = "lBHold"; - this.lBHold.Size = new System.Drawing.Size(29, 13); - this.lBHold.TabIndex = 189; - this.lBHold.Text = "Hold"; - this.lBHold.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbHold.AutoSize = true; + this.lbHold.Location = new System.Drawing.Point(44, 6); + this.lbHold.Name = "lbHold"; + this.lbHold.Size = new System.Drawing.Size(29, 13); + this.lbHold.TabIndex = 189; + this.lbHold.Text = "Hold"; + this.lbHold.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // - // lBtoUse + // lbtoUse // - this.lBtoUse.AutoSize = true; - this.lBtoUse.Location = new System.Drawing.Point(84, 24); - this.lBtoUse.Name = "lBtoUse"; - this.lBtoUse.Size = new System.Drawing.Size(105, 13); - this.lBtoUse.TabIndex = 189; - this.lBtoUse.Text = "to use these controls"; - this.lBtoUse.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbtoUse.AutoSize = true; + this.lbtoUse.Location = new System.Drawing.Point(84, 24); + this.lbtoUse.Name = "lbtoUse"; + this.lbtoUse.Size = new System.Drawing.Size(105, 13); + this.lbtoUse.TabIndex = 189; + this.lbtoUse.Text = "to use these controls"; + this.lbtoUse.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // ShiftMainPanel // @@ -3038,24 +3185,24 @@ // tPController // this.tPController.Controls.Add(this.SixaxisPanel); - this.tPController.Controls.Add(this.lBL2Track); + this.tPController.Controls.Add(this.lbL2Track); this.tPController.Controls.Add(this.pBDelayTracker); this.tPController.Controls.Add(this.btnSATrack); this.tPController.Controls.Add(this.btnRSTrack); - this.tPController.Controls.Add(this.lBRSTip); - this.tPController.Controls.Add(this.lBInputDelay); - this.tPController.Controls.Add(this.lBR2Track); - this.tPController.Controls.Add(this.lBLSTip); - this.tPController.Controls.Add(this.lBSATip); + this.tPController.Controls.Add(this.lbRSTip); + this.tPController.Controls.Add(this.lbInputDelay); + this.tPController.Controls.Add(this.lbR2Track); + this.tPController.Controls.Add(this.lbLSTip); + this.tPController.Controls.Add(this.lbSATip); this.tPController.Controls.Add(this.btnLSTrack); this.tPController.Controls.Add(this.pBSADeadzone); this.tPController.Controls.Add(this.pBRSDeadzone); - this.tPController.Controls.Add(this.lBRSTrack); + this.tPController.Controls.Add(this.lbRSTrack); this.tPController.Controls.Add(this.pBLSDeadzone); - this.tPController.Controls.Add(this.lBLSTrack); + this.tPController.Controls.Add(this.lbLSTrack); this.tPController.Controls.Add(this.tBR2); this.tPController.Controls.Add(this.tBL2); - this.tPController.Controls.Add(this.lBSATrack); + this.tPController.Controls.Add(this.lbSATrack); this.tPController.Location = new System.Drawing.Point(4, 22); this.tPController.Name = "tPController"; this.tPController.Padding = new System.Windows.Forms.Padding(3); @@ -3064,15 +3211,32 @@ this.tPController.Text = "Controller Readings"; this.tPController.UseVisualStyleBackColor = true; // - // lBL2Track + // SixaxisPanel // - this.lBL2Track.AutoSize = true; - this.lBL2Track.Location = new System.Drawing.Point(316, 33); - this.lBL2Track.Name = "lBL2Track"; - this.lBL2Track.Size = new System.Drawing.Size(19, 13); - this.lBL2Track.TabIndex = 216; - this.lBL2Track.Text = "L2"; - this.lBL2Track.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.SixaxisPanel.Controls.Add(this.tBsixaxisAccelX); + this.SixaxisPanel.Controls.Add(this.lb6Accel); + this.SixaxisPanel.Controls.Add(this.tBsixaxisGyroX); + this.SixaxisPanel.Controls.Add(this.lb6Gryo); + this.SixaxisPanel.Controls.Add(this.tBsixaxisGyroY); + this.SixaxisPanel.Controls.Add(this.tBsixaxisGyroZ); + this.SixaxisPanel.Controls.Add(this.tBsixaxisAccelY); + this.SixaxisPanel.Controls.Add(this.tBsixaxisAccelZ); + this.SixaxisPanel.Location = new System.Drawing.Point(300, 88); + this.SixaxisPanel.Name = "SixaxisPanel"; + this.SixaxisPanel.Size = new System.Drawing.Size(125, 125); + this.SixaxisPanel.TabIndex = 236; + this.SixaxisPanel.Visible = false; + this.SixaxisPanel.Click += new System.EventHandler(this.SixaxisPanel_Click); + // + // lbL2Track + // + this.lbL2Track.AutoSize = true; + this.lbL2Track.Location = new System.Drawing.Point(316, 33); + this.lbL2Track.Name = "lbL2Track"; + this.lbL2Track.Size = new System.Drawing.Size(19, 13); + this.lbL2Track.TabIndex = 216; + this.lbL2Track.Text = "L2"; + this.lbL2Track.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // // pBDelayTracker // @@ -3106,53 +3270,53 @@ this.btnRSTrack.Text = "button1"; this.btnRSTrack.UseVisualStyleBackColor = false; // - // lBRSTip + // lbRSTip // - this.lBRSTip.Location = new System.Drawing.Point(150, 56); - this.lBRSTip.Name = "lBRSTip"; - this.lBRSTip.Size = new System.Drawing.Size(125, 30); - this.lBRSTip.TabIndex = 216; - this.lBRSTip.Text = "Right Stick"; - this.lBRSTip.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbRSTip.Location = new System.Drawing.Point(150, 56); + this.lbRSTip.Name = "lbRSTip"; + this.lbRSTip.Size = new System.Drawing.Size(125, 30); + this.lbRSTip.TabIndex = 216; + this.lbRSTip.Text = "Right Stick"; + this.lbRSTip.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // - // lBInputDelay + // lbInputDelay // - this.lBInputDelay.AutoSize = true; - this.lBInputDelay.Location = new System.Drawing.Point(6, 7); - this.lBInputDelay.Name = "lBInputDelay"; - this.lBInputDelay.Size = new System.Drawing.Size(100, 13); - this.lBInputDelay.TabIndex = 216; - this.lBInputDelay.Text = "Input Delay: N/Ams"; - this.lBInputDelay.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbInputDelay.AutoSize = true; + this.lbInputDelay.Location = new System.Drawing.Point(6, 7); + this.lbInputDelay.Name = "lbInputDelay"; + this.lbInputDelay.Size = new System.Drawing.Size(100, 13); + this.lbInputDelay.TabIndex = 216; + this.lbInputDelay.Text = "Input Delay: N/Ams"; + this.lbInputDelay.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // - // lBR2Track + // lbR2Track // - this.lBR2Track.AutoSize = true; - this.lBR2Track.Location = new System.Drawing.Point(385, 33); - this.lBR2Track.Name = "lBR2Track"; - this.lBR2Track.Size = new System.Drawing.Size(21, 13); - this.lBR2Track.TabIndex = 216; - this.lBR2Track.Text = "R2"; - this.lBR2Track.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbR2Track.AutoSize = true; + this.lbR2Track.Location = new System.Drawing.Point(385, 33); + this.lbR2Track.Name = "lbR2Track"; + this.lbR2Track.Size = new System.Drawing.Size(21, 13); + this.lbR2Track.TabIndex = 216; + this.lbR2Track.Text = "R2"; + this.lbR2Track.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // - // lBLSTip + // lbLSTip // - this.lBLSTip.Location = new System.Drawing.Point(6, 56); - this.lBLSTip.Name = "lBLSTip"; - this.lBLSTip.Size = new System.Drawing.Size(125, 30); - this.lBLSTip.TabIndex = 216; - this.lBLSTip.Text = "Left Stick"; - this.lBLSTip.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbLSTip.Location = new System.Drawing.Point(6, 56); + this.lbLSTip.Name = "lbLSTip"; + this.lbLSTip.Size = new System.Drawing.Size(125, 30); + this.lbLSTip.TabIndex = 216; + this.lbLSTip.Text = "Left Stick"; + this.lbLSTip.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; // - // lBSATip + // lbSATip // - this.lBSATip.Location = new System.Drawing.Point(300, 56); - this.lBSATip.Name = "lBSATip"; - this.lBSATip.Size = new System.Drawing.Size(125, 30); - this.lBSATip.TabIndex = 216; - this.lBSATip.Text = "Sixaxis: X axis is flipped for easier reading"; - this.lBSATip.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.lBSATip.Click += new System.EventHandler(this.lBSATip_Click); + this.lbSATip.Location = new System.Drawing.Point(300, 56); + this.lbSATip.Name = "lbSATip"; + this.lbSATip.Size = new System.Drawing.Size(125, 30); + this.lbSATip.TabIndex = 216; + this.lbSATip.Text = "Sixaxis: X axis is flipped for easier reading"; + this.lbSATip.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lbSATip.Click += new System.EventHandler(this.lbSATip_Click); // // btnLSTrack // @@ -3178,16 +3342,6 @@ this.pBSADeadzone.TabStop = false; this.pBSADeadzone.Paint += new System.Windows.Forms.PaintEventHandler(this.DrawCircle); // - // lBSATrack - // - this.lBSATrack.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.lBSATrack.Location = new System.Drawing.Point(300, 88); - this.lBSATrack.Name = "lBSATrack"; - this.lBSATrack.Size = new System.Drawing.Size(125, 125); - this.lBSATrack.TabIndex = 239; - this.lBSATrack.TextAlign = System.Drawing.ContentAlignment.TopCenter; - this.lBSATrack.Click += new System.EventHandler(this.lBSATrack_Click); - // // pBRSDeadzone // this.pBRSDeadzone.BackColor = System.Drawing.Color.Transparent; @@ -3200,14 +3354,14 @@ this.pBRSDeadzone.TabStop = false; this.pBRSDeadzone.Visible = false; // - // lBRSTrack + // lbRSTrack // - this.lBRSTrack.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.lBRSTrack.Location = new System.Drawing.Point(150, 88); - this.lBRSTrack.Name = "lBRSTrack"; - this.lBRSTrack.Size = new System.Drawing.Size(125, 125); - this.lBRSTrack.TabIndex = 239; - this.lBRSTrack.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.lbRSTrack.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.lbRSTrack.Location = new System.Drawing.Point(150, 88); + this.lbRSTrack.Name = "lbRSTrack"; + this.lbRSTrack.Size = new System.Drawing.Size(125, 125); + this.lbRSTrack.TabIndex = 239; + this.lbRSTrack.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // pBLSDeadzone // @@ -3221,14 +3375,14 @@ this.pBLSDeadzone.TabStop = false; this.pBLSDeadzone.Visible = false; // - // lBLSTrack + // lbLSTrack // - this.lBLSTrack.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.lBLSTrack.Location = new System.Drawing.Point(5, 88); - this.lBLSTrack.Name = "lBLSTrack"; - this.lBLSTrack.Size = new System.Drawing.Size(125, 125); - this.lBLSTrack.TabIndex = 239; - this.lBLSTrack.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.lbLSTrack.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.lbLSTrack.Location = new System.Drawing.Point(5, 88); + this.lbLSTrack.Name = "lbLSTrack"; + this.lbLSTrack.Size = new System.Drawing.Size(125, 125); + this.lbLSTrack.TabIndex = 239; + this.lbLSTrack.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // tBR2 // @@ -3261,22 +3415,28 @@ this.tBL2.TickFrequency = 127; this.tBL2.TickStyle = System.Windows.Forms.TickStyle.None; // - // SixaxisPanel + // lbSATrack // - this.SixaxisPanel.Controls.Add(this.tBsixaxisAccelX); - this.SixaxisPanel.Controls.Add(this.lB6Accel); - this.SixaxisPanel.Controls.Add(this.tBsixaxisGyroX); - this.SixaxisPanel.Controls.Add(this.lB6Gryo); - this.SixaxisPanel.Controls.Add(this.tBsixaxisGyroY); - this.SixaxisPanel.Controls.Add(this.tBsixaxisGyroZ); - this.SixaxisPanel.Controls.Add(this.tBsixaxisAccelY); - this.SixaxisPanel.Controls.Add(this.tBsixaxisAccelZ); - this.SixaxisPanel.Location = new System.Drawing.Point(300, 88); - this.SixaxisPanel.Name = "SixaxisPanel"; - this.SixaxisPanel.Size = new System.Drawing.Size(125, 125); - this.SixaxisPanel.TabIndex = 236; - this.SixaxisPanel.Visible = false; - this.SixaxisPanel.Click += new System.EventHandler(this.SixaxisPanel_Click); + this.lbSATrack.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.lbSATrack.Location = new System.Drawing.Point(300, 88); + this.lbSATrack.Name = "lbSATrack"; + this.lbSATrack.Size = new System.Drawing.Size(125, 125); + this.lbSATrack.TabIndex = 239; + this.lbSATrack.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.lbSATrack.Click += new System.EventHandler(this.lbSATrack_Click); + // + // openFileDialog1 + // + this.openFileDialog1.FileName = "openFileDialog1"; + // + // pBProgram + // + this.pBProgram.Location = new System.Drawing.Point(406, 70); + this.pBProgram.Name = "pBProgram"; + this.pBProgram.Size = new System.Drawing.Size(23, 23); + this.pBProgram.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; + this.pBProgram.TabIndex = 255; + this.pBProgram.TabStop = false; // // advColorDialog // @@ -3344,6 +3504,11 @@ this.gBLightbar.ResumeLayout(false); this.gBLightbar.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.nUDflashLED)).EndInit(); + this.ShiftPanel.ResumeLayout(false); + this.ShiftPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.shiftRedBar)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.shiftGreenBar)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.shiftBlueBar)).EndInit(); this.gBRumble.ResumeLayout(false); this.gBRumble.PerformLayout(); this.gBDeadzone.ResumeLayout(false); @@ -3363,14 +3528,15 @@ ((System.ComponentModel.ISupportInitialize)(this.spBSticks)).EndInit(); this.tPController.ResumeLayout(false); this.tPController.PerformLayout(); + this.SixaxisPanel.ResumeLayout(false); + this.SixaxisPanel.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pBDelayTracker)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pBSADeadzone)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pBRSDeadzone)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.pBLSDeadzone)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.tBR2)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.tBL2)).EndInit(); - this.SixaxisPanel.ResumeLayout(false); - this.SixaxisPanel.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pBProgram)).EndInit(); this.ResumeLayout(false); } @@ -3425,10 +3591,10 @@ private System.Windows.Forms.TrackBar greenBar; private System.Windows.Forms.TrackBar redBar; private System.Windows.Forms.CheckBox cBLightbyBattery; - private System.Windows.Forms.Label lBBlue; - private System.Windows.Forms.Label lBGreen; - private System.Windows.Forms.Label lBspc; - private System.Windows.Forms.Label lBRed; + private System.Windows.Forms.Label lbBlue; + private System.Windows.Forms.Label lbGreen; + private System.Windows.Forms.Label lbspc; + private System.Windows.Forms.Label lbRed; private System.Windows.Forms.CheckBox cBDoubleTap; private System.Windows.Forms.CheckBox cBTap; private System.Windows.Forms.NumericUpDown nUDTap; @@ -3436,12 +3602,12 @@ private System.Windows.Forms.CheckBox cBSlide; private System.Windows.Forms.NumericUpDown nUDScroll; private System.Windows.Forms.NumericUpDown nUDTouch; - private System.Windows.Forms.Label lBButtonMouseSens; + private System.Windows.Forms.Label lbButtonMouseSens; private System.Windows.Forms.CheckBox cBlowerRCOn; private System.Windows.Forms.CheckBox cBTouchpadJitterCompensation; - private System.Windows.Forms.Label lBL2; - private System.Windows.Forms.Label lBR2; - private System.Windows.Forms.Label lBIdleMinutes; + private System.Windows.Forms.Label lbL2; + private System.Windows.Forms.Label lbR2; + private System.Windows.Forms.Label lbIdleMinutes; private System.Windows.Forms.NumericUpDown nUDIdleDisconnect; private System.Windows.Forms.NumericUpDown nUDR2; private System.Windows.Forms.TrackBar tBsixaxisAccelZ; @@ -3452,19 +3618,19 @@ private System.Windows.Forms.TrackBar tBsixaxisGyroY; private System.Windows.Forms.TrackBar tBsixaxisGyroX; private System.Windows.Forms.NumericUpDown nUDRumbleBoost; - private System.Windows.Forms.Label lB6Accel; + private System.Windows.Forms.Label lb6Accel; private System.Windows.Forms.Button btnRumbleTest; private System.Windows.Forms.Label lbFull; - private System.Windows.Forms.Label lBLowRed; - private System.Windows.Forms.Label lBLowGreen; - private System.Windows.Forms.Label lBLowBlue; + private System.Windows.Forms.Label lbLowRed; + private System.Windows.Forms.Label lbLowGreen; + private System.Windows.Forms.Label lbLowBlue; private System.Windows.Forms.TrackBar lowRedBar; private System.Windows.Forms.TrackBar lowGreenBar; private System.Windows.Forms.TrackBar lowBlueBar; - private System.Windows.Forms.Label lBEmpty; + private System.Windows.Forms.Label lbEmpty; private System.Windows.Forms.Panel lowBatteryPanel; private System.Windows.Forms.Panel FullPanel; - private System.Windows.Forms.Label lBControlTip; + private System.Windows.Forms.Label lbControlTip; private System.Windows.Forms.Label lbRS; private System.Windows.Forms.Label lbLS; private System.Windows.Forms.NumericUpDown nUDRS; @@ -3479,8 +3645,8 @@ private System.Windows.Forms.CheckBox cBControllerInput; private System.Windows.Forms.NumericUpDown nUDSixaxis; private System.Windows.Forms.NumericUpDown nUDflashLED; - private System.Windows.Forms.Label lBPercentFlashBar; - private System.Windows.Forms.Label lBFlashAt; + private System.Windows.Forms.Label lbPercentFlashBar; + private System.Windows.Forms.Label lbFlashAt; private System.Windows.Forms.RadioButton rBFade; private System.Windows.Forms.RadioButton rBNormal; private System.Windows.Forms.RadioButton rBRainbow; @@ -3492,7 +3658,7 @@ private System.Windows.Forms.Label lbSixaxisZ; private System.Windows.Forms.NumericUpDown nUDSZ; private System.Windows.Forms.NumericUpDown nUDSX; - private System.Windows.Forms.Label lBPercentRumble; + private System.Windows.Forms.Label lbPercentRumble; private System.Windows.Forms.CheckBox cBMouseAccel; private System.Windows.Forms.TabControl tabControls; private System.Windows.Forms.TabPage tPShiftMod; @@ -3535,44 +3701,56 @@ private System.Windows.Forms.Button sbnLSDown; private System.Windows.Forms.Button sbnR3; public System.Windows.Forms.ListBox lBShiftControls; - private System.Windows.Forms.Label lBtoUse; + private System.Windows.Forms.Label lbtoUse; private System.Windows.Forms.TabPage tPControls; - private System.Windows.Forms.Label lB6Gryo; - private System.Windows.Forms.Label lBGryo; + private System.Windows.Forms.Label lb6Gryo; + private System.Windows.Forms.Label lbGryo; private System.Windows.Forms.FlowLayoutPanel fLPTiltControls; private System.Windows.Forms.Button bnGyroZN; private System.Windows.Forms.Button bnGyroZP; private System.Windows.Forms.Button bnGyroXP; private System.Windows.Forms.Button bnGyroXN; - private System.Windows.Forms.Label slBGryo; + private System.Windows.Forms.Label slbGryo; private System.Windows.Forms.FlowLayoutPanel sfLPTiltControls; private System.Windows.Forms.Button sbnGyroZN; private System.Windows.Forms.Button sbnGyroZP; private System.Windows.Forms.Button sbnGyroXP; private System.Windows.Forms.Button sbnGyroXN; - private System.Windows.Forms.Label lBHold; + private System.Windows.Forms.Label lbHold; private System.Windows.Forms.TabPage tPController; private System.Windows.Forms.Button btnLSTrack; private System.Windows.Forms.Button btnSATrack; private System.Windows.Forms.Button btnRSTrack; - private System.Windows.Forms.Label lBSATrack; - private System.Windows.Forms.Label lBRSTrack; - private System.Windows.Forms.Label lBLSTrack; - private System.Windows.Forms.Label lBSATip; + private System.Windows.Forms.Label lbSATrack; + private System.Windows.Forms.Label lbRSTrack; + private System.Windows.Forms.Label lbLSTrack; + private System.Windows.Forms.Label lbSATip; private System.Windows.Forms.PictureBox pBLSDeadzone; private System.Windows.Forms.PictureBox pBSADeadzone; private System.Windows.Forms.PictureBox pBRSDeadzone; - private System.Windows.Forms.Label lBforMandR; - private System.Windows.Forms.Label lBUseController; - private System.Windows.Forms.Label lBRSTip; - private System.Windows.Forms.Label lBLSTip; + private System.Windows.Forms.Label lbUseController; + private System.Windows.Forms.Label lbRSTip; + private System.Windows.Forms.Label lbLSTip; private System.Windows.Forms.PictureBox pBDelayTracker; - private System.Windows.Forms.Label lBInputDelay; + private System.Windows.Forms.Label lbInputDelay; private System.Windows.Forms.TrackBar tBL2; private System.Windows.Forms.TrackBar tBR2; - private System.Windows.Forms.Label lBR2Track; - private System.Windows.Forms.Label lBL2Track; + private System.Windows.Forms.Label lbR2Track; + private System.Windows.Forms.Label lbL2Track; private System.Windows.Forms.Panel SixaxisPanel; + private System.Windows.Forms.Panel ShiftPanel; + private System.Windows.Forms.Label lbShift; + private System.Windows.Forms.Label lbShiftRed; + private System.Windows.Forms.Label lbShiftGreen; + private System.Windows.Forms.Label lbShiftBlue; + private System.Windows.Forms.TrackBar shiftRedBar; + private System.Windows.Forms.TrackBar shiftGreenBar; + private System.Windows.Forms.TrackBar shiftBlueBar; + private System.Windows.Forms.CheckBox cBShiftLight; + private System.Windows.Forms.CheckBox cBLaunchProgram; + private System.Windows.Forms.Button btnBrowse; + private System.Windows.Forms.OpenFileDialog openFileDialog1; + private System.Windows.Forms.PictureBox pBProgram; } }  \ No newline at end of file diff --git a/DS4Tool/Options.cs b/DS4Tool/Options.cs index 6e0fc19..d88e070 100644 --- a/DS4Tool/Options.cs +++ b/DS4Tool/Options.cs @@ -62,9 +62,7 @@ namespace ScpServer if (filename != "") { if (device == 4) - { Global.setAProfile(4, name); - } Global.LoadProfile(device, buttons.ToArray(), subbuttons.ToArray()); DS4Color color = Global.loadColor(device); redBar.Value = color.red; @@ -82,6 +80,12 @@ namespace ScpServer lowGreenBar.Value = lowColor.green; lowBlueBar.Value = lowColor.blue; + DS4Color shiftColor = Global.loadShiftColor(device); + shiftRedBar.Value = shiftColor.red; + shiftGreenBar.Value = shiftColor.green; + shiftBlueBar.Value = shiftColor.blue; + cBShiftLight.Checked = Global.getShiftColorOn(device); + DS4Color cColor = Global.loadChargingColor(device); btnChargingColor.BackColor = Color.FromArgb(cColor.red, cColor.green, cColor.blue); nUDRumbleBoost.Value = Global.loadRumbleBoost(device); @@ -133,6 +137,12 @@ namespace ScpServer nUDSX.Value = (decimal)Global.getSXDeadzone(device); nUDSZ.Value = (decimal)Global.getSZDeadzone(device); cBShiftControl.SelectedIndex = Global.getShiftModifier(device); + if (Global.getLaunchProgram(device) != string.Empty) + { + cBLaunchProgram.Checked = true; + pBProgram.Image = Icon.ExtractAssociatedIcon(Global.getLaunchProgram(device)).ToBitmap(); + btnBrowse.Text = Path.GetFileNameWithoutExtension(Global.getLaunchProgram(device)); + } } else Set(); @@ -143,20 +153,21 @@ namespace ScpServer tp.SetToolTip(cBlowerRCOn, "Best used with right side as a mouse function"); tp.SetToolTip(cBDoubleTap, "Tap and hold to drag, slight delay with single taps"); - tp.SetToolTip(lBControlTip, "You can also use your controller to change controls"); + tp.SetToolTip(lbControlTip, "You can also use your controller to change controls"); tp.SetToolTip(cBTouchpadJitterCompensation, "Use Sixaxis to help calculate touchpad movement"); tp.SetToolTip(pBRainbow, "Always on Rainbow Mode"); tp.SetToolTip(cBFlushHIDQueue, "Flush HID Queue after each reading"); tp.SetToolTip(cBLightbyBattery, "Also dim light by idle timeout if on"); - tp.SetToolTip(lBGryo, "Click to see readout of Sixaxis Gyro"); + tp.SetToolTip(lbGryo, "Click to see readout of Sixaxis Gyro"); tp.SetToolTip(tBsixaxisGyroX, "GyroX, Left and Right Tilt"); tp.SetToolTip(tBsixaxisGyroY, "GyroY, Forward and Back Tilt"); tp.SetToolTip(tBsixaxisGyroZ, "GyroZ, Up and Down Tilt"); tp.SetToolTip(tBsixaxisAccelX, "AccelX"); tp.SetToolTip(tBsixaxisAccelY, "AccelY"); tp.SetToolTip(tBsixaxisAccelZ, "AccelZ"); - tp.SetToolTip(lBEmpty, "Click to copy the full color"); - tp.SetToolTip(lBSATip, "Click for advanced Sixaxis reading"); + tp.SetToolTip(lbEmpty, "Click to copy the full color"); + tp.SetToolTip(lbShift, "Click to copy the full color"); + tp.SetToolTip(lbSATip, "Click for advanced Sixaxis reading"); advColorDialog.OnUpdateColor += advColorDialog_OnUpdateColor; btnLeftStick.Enter += btnSticks_Enter; btnRightStick.Enter += btnSticks_Enter; @@ -178,7 +189,7 @@ namespace ScpServer if (scpDevice.DS4Controllers[(int)nUDSixaxis.Value - 1] == null) { tPController.Enabled = false; - lBInputDelay.Text = "Input Delay: N/Ams"; + lbInputDelay.Text = "Input Delay: N/Ams"; pBDelayTracker.BackColor = Color.Transparent; } else @@ -192,31 +203,31 @@ namespace ScpServer SetDynamicTrackBarValue(tBsixaxisAccelZ, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].AccelZ + tBsixaxisAccelZ.Value * 2) / 3); int x = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).LX; int y = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).LY; - btnLSTrack.Location = new Point((int)(x / 2.09 + lBLSTrack.Location.X), (int)(y / 2.09 + lBLSTrack.Location.Y)); + btnLSTrack.Location = new Point((int)(x / 2.09 + lbLSTrack.Location.X), (int)(y / 2.09 + lbLSTrack.Location.Y)); x = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).RX; y = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).RY; - btnRSTrack.Location = new Point((int)(x / 2.09 + lBRSTrack.Location.X), (int)(y / 2.09 + lBRSTrack.Location.Y)); + btnRSTrack.Location = new Point((int)(x / 2.09 + lbRSTrack.Location.X), (int)(y / 2.09 + lbRSTrack.Location.Y)); x = -scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].GyroX / 62 + 127; y = scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].GyroZ / 62 + 127; - btnSATrack.Location = new Point((int)(x / 2.09 + lBSATrack.Location.X), (int)(y / 2.09 + lBSATrack.Location.Y)); + btnSATrack.Location = new Point((int)(x / 2.09 + lbSATrack.Location.X), (int)(y / 2.09 + lbSATrack.Location.Y)); tBL2.Value = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).L2; - lBL2Track.Location = new Point(tBL2.Location.X - 15, (int)(24 - tBL2.Value / 10.625) + 10); + lbL2Track.Location = new Point(tBL2.Location.X - 15, (int)(24 - tBL2.Value / 10.625) + 10); if (tBL2.Value == 255) - lBL2Track.ForeColor = Color.Green; + lbL2Track.ForeColor = Color.Green; else if (tBL2.Value < (double)nUDL2.Value * 255) - lBL2Track.ForeColor = Color.Red; + lbL2Track.ForeColor = Color.Red; else - lBL2Track.ForeColor = Color.Black; + lbL2Track.ForeColor = Color.Black; tBR2.Value = scpDevice.getDS4State((int)nUDSixaxis.Value - 1).R2; - lBR2Track.Location = new Point(tBR2.Location.X + 20, (int)(24 - tBR2.Value / 10.625) + 10); + lbR2Track.Location = new Point(tBR2.Location.X + 20, (int)(24 - tBR2.Value / 10.625) + 10); if (tBR2.Value == 255) - lBR2Track.ForeColor = Color.Green; + lbR2Track.ForeColor = Color.Green; else if (tBR2.Value < (double)nUDR2.Value * 255) - lBR2Track.ForeColor = Color.Red; + lbR2Track.ForeColor = Color.Red; else - lBR2Track.ForeColor = Color.Black; + lbR2Track.ForeColor = Color.Black; double latency = scpDevice.DS4Controllers[(int)nUDSixaxis.Value - 1].Latency; - lBInputDelay.Text = "Input Delay: " + latency + "ms"; + lbInputDelay.Text = "Input Delay: " + latency + "ms"; if (latency > 10) pBDelayTracker.BackColor = Color.Red; else if (latency > 5) @@ -359,6 +370,7 @@ namespace ScpServer FullPanel.Location = (cBLightbyBattery.Checked ? new Point(FullPanel.Location.X, 42) : new Point(FullPanel.Location.X, 48)); Global.saveColor(device, (byte)redBar.Value, (byte)greenBar.Value, (byte)blueBar.Value); Global.saveLowColor(device, (byte)lowRedBar.Value, (byte)lowGreenBar.Value, (byte)lowBlueBar.Value); + Global.saveShiftColor(device, (byte)shiftRedBar.Value, (byte)shiftGreenBar.Value, (byte)shiftBlueBar.Value); Global.setLeftTriggerMiddle(device, (byte)Math.Round((nUDL2.Value * 255), 0)); Global.setRightTriggerMiddle(device, (byte)Math.Round((nUDR2.Value * 255), 0)); Global.saveRumbleBoost(device, (byte)nUDRumbleBoost.Value); @@ -618,6 +630,57 @@ namespace ScpServer tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000); } + private void shiftRedBar_ValueChanged(object sender, EventArgs e) + { + int value = ((TrackBar)sender).Value; + int sat = bgc - (value < bgc ? value : bgc); + int som = bgc + 11 * (int)(value * 0.0039215); + ((TrackBar)sender).BackColor = Color.FromArgb(som, sat, sat); + alphacolor = Math.Max(shiftRedBar.Value, Math.Max(shiftGreenBar.Value, shiftBlueBar.Value)); + reg = Color.FromArgb(shiftRedBar.Value, shiftGreenBar.Value, shiftBlueBar.Value); + full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg); + spBController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full); + Global.saveShiftColor(device, (byte)shiftRedBar.Value, (byte)shiftGreenBar.Value, (byte)shiftBlueBar.Value); + if (g.DpiX == 120) + tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000); + else + tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000); + } + + private void shiftGreenBar_ValueChanged(object sender, EventArgs e) + { + int value = ((TrackBar)sender).Value; + int sat = bgc - (value < bgc ? value : bgc); + int som = bgc + 11 * (int)(value * 0.0039215); + ((TrackBar)sender).BackColor = Color.FromArgb(sat, som, sat); + alphacolor = Math.Max(shiftRedBar.Value, Math.Max(shiftGreenBar.Value, shiftBlueBar.Value)); + reg = Color.FromArgb(shiftRedBar.Value, shiftGreenBar.Value, shiftBlueBar.Value); + full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg); + spBController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full); + Global.saveShiftColor(device, (byte)shiftRedBar.Value, (byte)shiftGreenBar.Value, (byte)shiftBlueBar.Value); + if (g.DpiX == 120) + tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000); + else + tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000); + } + + private void shiftBlueBar_ValueChanged(object sender, EventArgs e) + { + int value = ((TrackBar)sender).Value; + int sat = bgc - (value < bgc ? value : bgc); + int som = bgc + 11 * (int)(value * 0.0039215); + ((TrackBar)sender).BackColor = Color.FromArgb(sat, sat, som); + alphacolor = Math.Max(shiftRedBar.Value, Math.Max(shiftGreenBar.Value, shiftBlueBar.Value)); + reg = Color.FromArgb(shiftRedBar.Value, shiftGreenBar.Value, shiftBlueBar.Value); + full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg); + spBController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full); + Global.saveShiftColor(device, (byte)shiftRedBar.Value, (byte)shiftGreenBar.Value, (byte)shiftBlueBar.Value); + if (g.DpiX == 120) + tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 125, 0, 2000); + else + tp.Show(((TrackBar)sender).Value.ToString(), ((TrackBar)sender), 100, 0, 2000); + } + public Color HuetoRGB(float hue, float light, Color rgb) { float L = (float)Math.Max(.5, light); @@ -754,7 +817,7 @@ namespace ScpServer { lBControls.Items[0] = "Cross : " + bnCross.Text; lBControls.Items[1] = "Circle : " + bnCircle.Text; - lBControls.Items[2] = "Sqaure : " + bnSquare.Text; + lBControls.Items[2] = "Square : " + bnSquare.Text; lBControls.Items[3] = "Triangle : " + bnTriangle.Text; lBControls.Items[4] = "Options : " + bnOptions.Text; lBControls.Items[5] = "Share : " + bnShare.Text; @@ -795,7 +858,7 @@ namespace ScpServer b.Text = "Fall Back to " + buttons[subbuttons.IndexOf(b)].Text; lBShiftControls.Items[0] = "Cross : " + sbnCross.Text; lBShiftControls.Items[1] = "Circle : " + sbnCircle.Text; - lBShiftControls.Items[2] = "Sqaure : " + sbnSquare.Text; + lBShiftControls.Items[2] = "Square : " + sbnSquare.Text; lBShiftControls.Items[3] = "Triangle : " + sbnTriangle.Text; lBShiftControls.Items[4] = "Options : " + sbnOptions.Text; lBShiftControls.Items[5] = "Share : " + sbnShare.Text; @@ -989,7 +1052,7 @@ namespace ScpServer pBController.BackgroundImage = null; cBLightbyBattery.Text = "Color by Battery %"; } - lBspc.Enabled = on; + lbspc.Enabled = on; lowBatteryPanel.Enabled = !on; FullPanel.Enabled = !on; } @@ -1031,7 +1094,7 @@ namespace ScpServer { pBSADeadzone.Visible = true; pBSADeadzone.Size = new Size((int)(nUDSX.Value * 125), (int)(nUDSZ.Value * 125)); - pBSADeadzone.Location = new Point(lBSATrack.Location.X + 63 - pBSADeadzone.Size.Width / 2, lBSATrack.Location.Y + 63 - pBSADeadzone.Size.Height / 2); + pBSADeadzone.Location = new Point(lbSATrack.Location.X + 63 - pBSADeadzone.Size.Width / 2, lbSATrack.Location.Y + 63 - pBSADeadzone.Size.Height / 2); } } @@ -1044,7 +1107,7 @@ namespace ScpServer { pBSADeadzone.Visible = true; pBSADeadzone.Size = new Size((int)(nUDSX.Value * 125), (int)(nUDSZ.Value * 125)); - pBSADeadzone.Location = new Point(lBSATrack.Location.X + 63 - pBSADeadzone.Size.Width / 2, lBSATrack.Location.Y + 63 - pBSADeadzone.Size.Height / 2); + pBSADeadzone.Location = new Point(lbSATrack.Location.X + 63 - pBSADeadzone.Size.Width / 2, lbSATrack.Location.Y + 63 - pBSADeadzone.Size.Height / 2); } } @@ -1086,7 +1149,7 @@ namespace ScpServer { pBRSDeadzone.Visible = true; pBRSDeadzone.Size = new Size((int)(nUDRS.Value * 125), (int)(nUDRS.Value * 125)); - pBRSDeadzone.Location = new Point(lBRSTrack.Location.X + 63 - pBRSDeadzone.Size.Width / 2, lBRSTrack.Location.Y + 63 - pBRSDeadzone.Size.Width / 2); + pBRSDeadzone.Location = new Point(lbRSTrack.Location.X + 63 - pBRSDeadzone.Size.Width / 2, lbRSTrack.Location.Y + 63 - pBRSDeadzone.Size.Width / 2); } } @@ -1099,7 +1162,7 @@ namespace ScpServer { pBLSDeadzone.Visible = true; pBLSDeadzone.Size = new Size((int)(nUDLS.Value*125), (int)(nUDLS.Value*125)); - pBLSDeadzone.Location = new Point(lBLSTrack.Location.X + 63 - pBLSDeadzone.Size.Width / 2, lBLSTrack.Location.Y + 63 - pBLSDeadzone.Size.Width / 2); + pBLSDeadzone.Location = new Point(lbLSTrack.Location.X + 63 - pBLSDeadzone.Size.Width / 2, lbLSTrack.Location.Y + 63 - pBLSDeadzone.Size.Width / 2); } } @@ -1165,16 +1228,8 @@ namespace ScpServer private void cBShiftControl_SelectedIndexChanged(object sender, EventArgs e) { Global.setShiftModifier(device, cBShiftControl.SelectedIndex); - } - - private void pBController_BackColorChanged(object sender, EventArgs e) - { - spBController.BackColor = pBController.BackColor; - } - - private void pBController_BackgroundImageChanged(object sender, EventArgs e) - { - spBController.BackgroundImage = pBController.BackgroundImage; + if (cBShiftControl.SelectedIndex < 1) + cBShiftLight.Checked = false; } private void tabControls_SelectedIndexChanged(object sender, EventArgs e) @@ -1183,6 +1238,10 @@ namespace ScpServer sixaxisTimer.Start(); else sixaxisTimer.Stop(); + if (tabControls.SelectedIndex == 1) + ShiftPanel.Visible = true; + else + ShiftPanel.Visible = false; } private void DrawCircle(object sender, PaintEventArgs e) @@ -1197,14 +1256,21 @@ namespace ScpServer e.Graphics.DrawEllipse(blackPen, rect); } - private void lBEmpty_Click(object sender, EventArgs e) + private void lbEmpty_Click(object sender, EventArgs e) { lowRedBar.Value = redBar.Value; lowGreenBar.Value = greenBar.Value; lowBlueBar.Value = blueBar.Value; } - private void lBSATip_Click(object sender, EventArgs e) + private void lbShift_Click(object sender, EventArgs e) + { + shiftRedBar.Value = redBar.Value; + shiftGreenBar.Value = greenBar.Value; + shiftBlueBar.Value = blueBar.Value; + } + + private void lbSATip_Click(object sender, EventArgs e) { SixaxisPanel.Visible = !SixaxisPanel.Visible; pBSADeadzone.Visible = !pBSADeadzone.Visible; @@ -1213,12 +1279,59 @@ namespace ScpServer private void SixaxisPanel_Click(object sender, EventArgs e) { - lBSATip_Click(sender, e); + lbSATip_Click(sender, e); } - private void lBSATrack_Click(object sender, EventArgs e) + private void lbSATrack_Click(object sender, EventArgs e) { - lBSATip_Click(sender, e); + lbSATip_Click(sender, e); + } + + private void cBShiftLight_CheckedChanged(object sender, EventArgs e) + { + if (Global.getShiftModifier(device) < 1) + cBShiftLight.Checked = false; + if (!cBShiftLight.Checked) + { + spBController.BackColor = pBController.BackColor; + spBController.BackgroundImage = pBController.BackgroundImage; + } + else + { + alphacolor = Math.Max(shiftRedBar.Value, Math.Max(shiftGreenBar.Value, shiftBlueBar.Value)); + reg = Color.FromArgb(shiftRedBar.Value, shiftGreenBar.Value, shiftBlueBar.Value); + full = HuetoRGB(reg.GetHue(), reg.GetBrightness(), reg); + spBController.BackColor = Color.FromArgb((alphacolor > 205 ? 255 : (alphacolor + 50)), full); + } + Global.setShiftColorOn(device, cBShiftLight.Checked); + lbShift.Enabled = cBShiftLight.Checked; + lbShiftRed.Enabled = cBShiftLight.Checked; + lbShiftGreen.Enabled = cBShiftLight.Checked; + lbShiftBlue.Enabled = cBShiftLight.Checked; + shiftRedBar.Enabled = cBShiftLight.Checked; + shiftGreenBar.Enabled = cBShiftLight.Checked; + shiftBlueBar.Enabled = cBShiftLight.Checked; + } + + private void btnBrowse_Click(object sender, EventArgs e) + { + if( openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) + { + cBLaunchProgram.Checked = true; + Global.setLaunchProgram(device, openFileDialog1.FileName); + pBProgram.Image = Icon.ExtractAssociatedIcon(openFileDialog1.FileName).ToBitmap(); + btnBrowse.Text = Path.GetFileNameWithoutExtension(openFileDialog1.FileName); + } + } + + private void cBLaunchProgram_CheckedChanged(object sender, EventArgs e) + { + if (!cBLaunchProgram.Checked) + { + Global.setLaunchProgram(device, string.Empty); + pBProgram.Image = null; + btnBrowse.Text = "Browse..."; + } } } } diff --git a/DS4Tool/Options.resx b/DS4Tool/Options.resx index 570dd5c..1f609da 100644 --- a/DS4Tool/Options.resx +++ b/DS4Tool/Options.resx @@ -382,6 +382,9 @@ AElFTkSuQmCC + + 153, 17 + 17, 17 diff --git a/DS4Tool/Properties/AssemblyInfo.cs b/DS4Tool/Properties/AssemblyInfo.cs index 457071d..3efdd04 100644 --- a/DS4Tool/Properties/AssemblyInfo.cs +++ b/DS4Tool/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.4.0.11")] -[assembly: AssemblyFileVersion("1.4.0.11")] +[assembly: AssemblyVersion("1.4.0.2")] +[assembly: AssemblyFileVersion("1.4.0.2")] diff --git a/DS4Tool/ScpForm.cs b/DS4Tool/ScpForm.cs index 861a1bb..10740c5 100644 --- a/DS4Tool/ScpForm.cs +++ b/DS4Tool/ScpForm.cs @@ -212,10 +212,12 @@ namespace ScpServer Form_Resize(sender, e); RefreshProfiles(); for (int i = 0; i < 4; i++) + { Global.LoadProfile(i); + } LoadP(); Global.ControllerStatusChange += ControllerStatusChange; - ControllerStatusChanged(); + ControllerStatusChanged(false); if (btnStartStop.Enabled) btnStartStop_Clicked(); cBNotifications.Checked = Global.getNotifications(); @@ -290,7 +292,10 @@ namespace ScpServer { for (int j = 0; j < 4; j++) if (proprofiles[j][i] != "(none)") + { Global.LoadTempProfile(j, proprofiles[j][i]); //j is controller index, i is filename + if (Global.getLaunchProgram(j) != string.Empty) Process.Start(Global.getLaunchProgram(j)); + } tempprofile = name; } } @@ -554,18 +559,18 @@ namespace ScpServer { btnStartStop_Clicked(); } - protected void btnStartStop_Clicked() + protected void btnStartStop_Clicked(bool log = true) { if (btnStartStop.Text == Properties.Resources.StartText) { - rootHub.Start(); + rootHub.Start(log); hotkeystimer.Start(); btnStartStop.Text = Properties.Resources.StopText; } else if (btnStartStop.Text == Properties.Resources.StopText) { - rootHub.Stop(); + rootHub.Stop(log); hotkeystimer.Stop(); btnStartStop.Text = Properties.Resources.StartText; } @@ -608,7 +613,7 @@ namespace ScpServer else ControllerStatusChanged(); } - protected void ControllerStatusChanged() + protected void ControllerStatusChanged(bool program = true) { String tooltip = "DS4Windows v" + FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location).FileVersion; for (Int32 Index = 0; Index < Pads.Length; Index++) @@ -627,6 +632,8 @@ namespace ScpServer if (Pads[Index].Text != "Connecting...") { Enable_Controls(Index, true); + //Console.WriteLine(opt == null); + //if (program && Global.getLaunchProgram(Index) != string.Empty) Process.Start(Global.getLaunchProgram(Index)); if (opt != null) opt.inputtimer.Start(); //MinimumSize = new Size(MinimumSize.Width, 137 + 29 * Index); @@ -882,8 +889,8 @@ namespace ScpServer module.Dispose(); Global.setUseExclusiveMode(hideDS4CheckBox.Checked); - btnStartStop_Clicked(); - btnStartStop_Clicked(); + btnStartStop_Clicked(false); + btnStartStop_Clicked(false); Global.Save(); } @@ -915,6 +922,7 @@ namespace ScpServer Global.setAProfile(tdevice, cb.Items[cb.SelectedIndex].ToString()); Global.Save(); Global.LoadProfile(tdevice); + if (Global.getLaunchProgram(tdevice) != string.Empty) Process.Start(Global.getLaunchProgram(tdevice)); } else if (cb.SelectedIndex == cb.Items.Count - 1 && cb.Items.Count > 1) //if +New Profile selected ShowOptions(tdevice, ""); @@ -923,7 +931,7 @@ namespace ScpServer else ebns[tdevice].Text = "Edit"; } - ControllerStatusChanged(); //to update profile name in notify icon + ControllerStatusChanged(false); //to update profile name in notify icon } private void Profile_Changed_Menu(object sender, ToolStripItemClickedEventArgs e) diff --git a/DS4Tool/ScpForm.resx b/DS4Tool/ScpForm.resx index c8b9e57..692bbcf 100644 --- a/DS4Tool/ScpForm.resx +++ b/DS4Tool/ScpForm.resx @@ -117,19 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Time - - - - 167 - - - Data - - - 84 - Fill @@ -144,6 +131,7 @@ 891, 330 + 0 @@ -159,9 +147,93 @@ 0 + + Time + + + 167 + + + Data + + + 84 + 17, 17 + + lBTest + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlButton + + + 0 + + + btnStartStop + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlButton + + + 1 + + + lbLastMessage + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlButton + + + 2 + + + llbHelp + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlButton + + + 3 + + + Bottom + + + 0, 385 + + + 905, 30 + + + 10 + + + pnlButton + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + Bottom, Right @@ -276,30 +348,6 @@ 3 - - Bottom - - - 0, 385 - - - 905, 30 - - - 10 - - - pnlButton - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 3 - Bottom @@ -339,48 +387,6 @@ 339, 17 - - 214, 22 - - - Edit Profile for Controller 1 - - - 214, 22 - - - Edit Profile for Controller 2 - - - 214, 22 - - - Edit Profile for Controller 3 - - - 214, 22 - - - Edit Profile for Controller 4 - - - 211, 6 - - - Segoe UI, 9pt, style=Bold - - - 214, 22 - - - Open - - - 214, 22 - - - Exit (Middle Mouse) - 215, 142 @@ -6568,6 +6574,48 @@ True + + 214, 22 + + + Edit Profile for Controller 1 + + + 214, 22 + + + Edit Profile for Controller 2 + + + 214, 22 + + + Edit Profile for Controller 3 + + + 214, 22 + + + Edit Profile for Controller 4 + + + 211, 6 + + + Segoe UI, 9pt, style=Bold + + + 214, 22 + + + Open + + + 214, 22 + + + Exit (Middle Mouse) + 211, 6 @@ -7566,9 +7614,231 @@ 0 + + 891, 17 + + + 568, 17 + + + lBProfiles + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabProfiles + + + 0 + + + tSOptions + + + System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabProfiles + + + 1 + + + toolStrip1 + + + System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabProfiles + + + 2 + + + 4, 22 + + + 3, 3, 3, 3 + + + 897, 359 + + + 0 + + + Profiles + + + tabProfiles + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabMain + + + 1 + + + 4, 22 + + + 897, 359 + + + 2 + + + Auto Profiles + + + tabAutoProfiles + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabMain + + + 2 + + + flowLayoutPanel1 + + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabSettings + + + 0 + + + 4, 22 + + + 3, 3, 3, 3 + + + 897, 359 + + + 4 + + + Settings + + + tabSettings + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabMain + + + 3 + + + 4, 22 + + + 3, 3, 3, 3 + + + 897, 359 + + + 1 + + + Log + + + tabLog + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabMain + + + 4 + + + Fill + + + 0, 0 + + + 905, 385 + + + 12 + + + tabMain + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + 788, 17 + + 189, 224 + + + cMProfile + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fill + + + Microsoft Sans Serif, 9.75pt + + + 16 + + + 3, 53 + + + 891, 303 + + + 0 + + + lBProfiles + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabProfiles + + + 0 + Segoe UI, 9pt, style=Bold @@ -7632,48 +7902,33 @@ Export - - 189, 224 - - - cMProfile - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - Fill - - - Microsoft Sans Serif, 9.75pt - - - 16 - - - 3, 53 - - - 891, 303 - - - 0 - - - lBProfiles - - - System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabProfiles - - - 0 - 891, 17 + + 3, 28 + + + 891, 25 + + + 2 + + + toolStrip2 + + + tSOptions + + + System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabProfiles + + + 1 + 82, 22 @@ -7716,33 +7971,33 @@ Keep this window size after closing - - 3, 28 - - - 891, 25 - - - 2 - - - toolStrip2 - - - tSOptions - - - System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabProfiles - - - 1 - 568, 17 + + 3, 3 + + + 891, 25 + + + 1 + + + toolStrip1 + + + toolStrip1 + + + System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabProfiles + + + 2 + Magenta @@ -7862,84 +8117,195 @@ Export Selected Profile - - 3, 3 - - - 891, 25 - - - 1 - - - toolStrip1 - - - toolStrip1 - - - System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabProfiles - - - 2 - - - 4, 22 - - - 3, 3, 3, 3 - - - 897, 359 - - - 0 - - - Profiles - - - tabProfiles - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabMain - - - 1 - - - 4, 22 - - - 897, 359 - - - 2 - - - Auto Profiles - - - tabAutoProfiles - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabMain - - - 2 - True + + hideDS4CheckBox + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 0 + + + cBSwipeProfiles + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 1 + + + StartWindowsCheckBox + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 2 + + + startMinimizedCheckBox + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 3 + + + cBUpdate + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 4 + + + pNUpdate + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 5 + + + cBNotifications + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 6 + + + cBDisconnectBT + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 7 + + + linkProfiles + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 8 + + + lLBUpdate + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 9 + + + linkSetup + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 10 + + + linkUninstall + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 11 + + + lnkControllers + + + System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 12 + + + Fill + + + TopDown + + + 3, 3 + + + 7, 7, 0, 9 + + + 891, 353 + + + 0 + + + flowLayoutPanel1 + + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabSettings + + + 0 + True @@ -8090,6 +8456,66 @@ 4 + + cBUpdateTime + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pNUpdate + + + 0 + + + lBCheckEvery + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pNUpdate + + + 1 + + + nUDUpdateTime + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pNUpdate + + + 2 + + + False + + + 10, 125 + + + 189, 22 + + + 43 + + + pNUpdate + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + flowLayoutPanel1 + + + 5 + hours @@ -8174,30 +8600,6 @@ 2 - - False - - - 10, 125 - - - 189, 22 - - - 43 - - - pNUpdate - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - flowLayoutPanel1 - - - 5 - True @@ -8399,114 +8801,6 @@ 12 - - Fill - - - TopDown - - - 3, 3 - - - 7, 7, 0, 9 - - - 891, 353 - - - 0 - - - flowLayoutPanel1 - - - System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabSettings - - - 0 - - - 4, 22 - - - 3, 3, 3, 3 - - - 897, 359 - - - 4 - - - Settings - - - tabSettings - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabMain - - - 3 - - - 4, 22 - - - 3, 3, 3, 3 - - - 897, 359 - - - 1 - - - Log - - - tabLog - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabMain - - - 4 - - - Fill - - - 0, 0 - - - 905, 385 - - - 12 - - - tabMain - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 2 - 673, 17