From 66d03c3fb9eaee9114705d75fa5cc743c9e27b97 Mon Sep 17 00:00:00 2001 From: jays2kings Date: Fri, 30 May 2014 16:39:39 -0400 Subject: [PATCH] Revamped UI - Options are now in the same window as the main tool, Can edit profiles without it being selected, Organized Info of controllers, minimum size changes by number of controllers connected You can now duplicate profiles Cycle through profiles by holding L1+R1 and swiping left and right on the touchpad Check for updates options in Hotkeys/About Small mouse movements with analog fixes Mouse movement with triggers fixed Alpha of Auto Profiles implemented, not yet able to use Minor fixes --- DS4Control/Control.cs | 150 ++- DS4Control/Mapping.cs | 26 +- DS4Control/Mouse.cs | 7 +- DS4Control/ScpUtil.cs | 48 +- DS4Tool/DS4Tool.csproj | 30 +- DS4Tool/Hotkeys.Designer.cs | 361 ++++++-- DS4Tool/Hotkeys.cs | 42 + DS4Tool/Hotkeys.resx | 6 - DS4Tool/MessageTextBox.Designer.cs | 99 ++ DS4Tool/MessageTextBox.cs | 62 ++ DS4Tool/MessageTextBox.resx | 120 +++ DS4Tool/Options.Designer.cs | 79 +- DS4Tool/Options.cs | 77 +- DS4Tool/Options.resx | 458 ---------- DS4Tool/Properties/Resources.resx | 21 + DS4Tool/Properties/Resources1.Designer.cs | 70 ++ DS4Tool/Resource.es.Designer.cs | 0 DS4Tool/Resources/1401402547_menu-24.png | Bin 0 -> 3458 bytes DS4Tool/Resources/BT.png | Bin 0 -> 3851 bytes DS4Tool/Resources/DS4 Controller.png | Bin 29095 -> 29025 bytes DS4Tool/Resources/LeftTouch.png | Bin 29193 -> 29004 bytes DS4Tool/Resources/MultiTouch.png | Bin 30190 -> 30175 bytes DS4Tool/Resources/RightTouch.png | Bin 29204 -> 28999 bytes DS4Tool/Resources/USB.png | Bin 0 -> 3177 bytes DS4Tool/Resources/UpperTouch.png | Bin 29773 -> 29648 bytes DS4Tool/Resources/delete.png | Bin 0 -> 3718 bytes DS4Tool/Resources/imageres_new.png | Bin 0 -> 3670 bytes DS4Tool/Resources/none.png | Bin 0 -> 3176 bytes DS4Tool/Resources/shell32 delete.png | Bin 0 -> 4838 bytes DS4Tool/Resources/shell32_copy.png | Bin 0 -> 3699 bytes DS4Tool/Resources/shell32_new.png | Bin 0 -> 3741 bytes DS4Tool/ScpForm.Designer.cs | 1012 ++++++++++++--------- DS4Tool/ScpForm.cs | 413 +++++++-- DS4Tool/ScpForm.resx | 251 +++++ DS4Tool/WinProgs.Designer.cs | 31 +- DS4Tool/WinProgs.cs | 112 +-- 36 files changed, 2273 insertions(+), 1202 deletions(-) create mode 100644 DS4Tool/MessageTextBox.Designer.cs create mode 100644 DS4Tool/MessageTextBox.cs create mode 100644 DS4Tool/MessageTextBox.resx create mode 100644 DS4Tool/Resource.es.Designer.cs create mode 100644 DS4Tool/Resources/1401402547_menu-24.png create mode 100644 DS4Tool/Resources/BT.png create mode 100644 DS4Tool/Resources/USB.png create mode 100644 DS4Tool/Resources/delete.png create mode 100644 DS4Tool/Resources/imageres_new.png create mode 100644 DS4Tool/Resources/none.png create mode 100644 DS4Tool/Resources/shell32 delete.png create mode 100644 DS4Tool/Resources/shell32_copy.png create mode 100644 DS4Tool/Resources/shell32_new.png diff --git a/DS4Control/Control.cs b/DS4Control/Control.cs index 183f0d2..3852930 100644 --- a/DS4Control/Control.cs +++ b/DS4Control/Control.cs @@ -288,6 +288,26 @@ namespace DS4Control return String.Empty; } + public string getDS4MacAddress(int index) + { + if (DS4Controllers[index] != null) + { + DS4Device d = DS4Controllers[index]; + if (!d.IsAlive()) + //return "Connecting..."; // awaiting the first battery charge indication + { + var TimeoutThread = new System.Threading.Thread(() => TimeoutConnection(d)); + TimeoutThread.IsBackground = true; + TimeoutThread.Name = "TimeoutFor" + d.MacAddress.ToString(); + TimeoutThread.Start(); + return "Connecting..."; + } + return d.MacAddress; + } + else + return String.Empty; + } + public string getShortDS4ControllerInfo(int index) { if (DS4Controllers[index] != null) @@ -307,7 +327,43 @@ namespace DS4Control { battery = d.Battery + "%"; } - return d.ConnectionType + " " + battery; + return d.ConnectionType + " " + battery + " (" + System.IO.Path.GetFileNameWithoutExtension(Global.getAProfile(index)) + ")"; + } + else + return "None"; + } + + public string getDS4Battery(int index) + { + if (DS4Controllers[index] != null) + { + DS4Device d = DS4Controllers[index]; + String battery; + if (!d.IsAlive()) + battery = "..."; + if (d.Charging) + { + if (d.Battery >= 100) + battery = "Full"; + else + battery = d.Battery + "%+"; + } + else + { + battery = d.Battery + "%"; + } + return battery; + } + else + return "N/A"; + } + + public string getDS4Status(int index) + { + if (DS4Controllers[index] != null) + { + DS4Device d = DS4Controllers[index]; + return d.ConnectionType+""; } else return "None"; @@ -391,39 +447,41 @@ namespace DS4Control public string GetInputkeys(int ind) { DS4State cState = CurrentState[ind]; - if (Mapping.getBoolMapping(DS4Controls.Cross, cState)) return "Cross"; - else if (Mapping.getBoolMapping(DS4Controls.Circle, cState)) return "Circle"; - else if (Mapping.getBoolMapping(DS4Controls.Triangle, cState)) return "Triangle"; - else if (Mapping.getBoolMapping(DS4Controls.Square, cState)) return "Square"; - else if (Mapping.getBoolMapping(DS4Controls.L1, cState)) return "L1"; - else if (Mapping.getBoolMapping(DS4Controls.R1, cState)) return "R1"; - else if (Mapping.getBoolMapping(DS4Controls.L2, cState)) return "L2"; - else if (Mapping.getBoolMapping(DS4Controls.R2, cState)) return "R2"; - else if (Mapping.getBoolMapping(DS4Controls.L3, cState)) return "L3"; - else if (Mapping.getBoolMapping(DS4Controls.R3, cState)) return "R3"; - else if (Mapping.getBoolMapping(DS4Controls.DpadUp, cState)) return "Up"; - else if (Mapping.getBoolMapping(DS4Controls.DpadDown, cState)) return "Down"; - else if (Mapping.getBoolMapping(DS4Controls.DpadLeft, cState)) return "Left"; - else if (Mapping.getBoolMapping(DS4Controls.DpadRight, cState)) return "Right"; - else if (Mapping.getBoolMapping(DS4Controls.Share, cState)) return "Share"; - else if (Mapping.getBoolMapping(DS4Controls.Options, cState)) return "Options"; - else if (Mapping.getBoolMapping(DS4Controls.PS, cState)) return "PS"; - else if (Mapping.getBoolMapping(DS4Controls.LXPos, cState)) return "LS Right"; - else if (Mapping.getBoolMapping(DS4Controls.LXNeg, cState)) return "LS Left"; - else if (Mapping.getBoolMapping(DS4Controls.LYPos, cState)) return "LS Down"; - else if (Mapping.getBoolMapping(DS4Controls.LYNeg, cState)) return "LS Up"; - else if (Mapping.getBoolMapping(DS4Controls.RXPos, cState)) return "RS Right"; - else if (Mapping.getBoolMapping(DS4Controls.RXNeg, cState)) return "RS Left"; - else if (Mapping.getBoolMapping(DS4Controls.RYPos, cState)) return "RS Down"; - else if (Mapping.getBoolMapping(DS4Controls.RYNeg, cState)) return "RS Up"; - else if (Mapping.getBoolMapping(DS4Controls.TouchLeft, cState)) return "Touch Left"; - else if (Mapping.getBoolMapping(DS4Controls.TouchRight, cState)) return "Touch Right"; - else if (Mapping.getBoolMapping(DS4Controls.TouchMulti, cState)) return "Touch Multi"; - else if (Mapping.getBoolMapping(DS4Controls.TouchUpper, cState)) return "Touch Upper"; + if (DS4Controllers[ind] != null) + if (Mapping.getBoolMapping(DS4Controls.Cross, cState)) return "Cross"; + else if (Mapping.getBoolMapping(DS4Controls.Circle, cState)) return "Circle"; + else if (Mapping.getBoolMapping(DS4Controls.Triangle, cState)) return "Triangle"; + else if (Mapping.getBoolMapping(DS4Controls.Square, cState)) return "Square"; + else if (Mapping.getBoolMapping(DS4Controls.L1, cState)) return "L1"; + else if (Mapping.getBoolMapping(DS4Controls.R1, cState)) return "R1"; + else if (Mapping.getBoolMapping(DS4Controls.L2, cState)) return "L2"; + else if (Mapping.getBoolMapping(DS4Controls.R2, cState)) return "R2"; + else if (Mapping.getBoolMapping(DS4Controls.L3, cState)) return "L3"; + else if (Mapping.getBoolMapping(DS4Controls.R3, cState)) return "R3"; + else if (Mapping.getBoolMapping(DS4Controls.DpadUp, cState)) return "Up"; + else if (Mapping.getBoolMapping(DS4Controls.DpadDown, cState)) return "Down"; + else if (Mapping.getBoolMapping(DS4Controls.DpadLeft, cState)) return "Left"; + else if (Mapping.getBoolMapping(DS4Controls.DpadRight, cState)) return "Right"; + else if (Mapping.getBoolMapping(DS4Controls.Share, cState)) return "Share"; + else if (Mapping.getBoolMapping(DS4Controls.Options, cState)) return "Options"; + else if (Mapping.getBoolMapping(DS4Controls.PS, cState)) return "PS"; + else if (Mapping.getBoolMapping(DS4Controls.LXPos, cState)) return "LS Right"; + else if (Mapping.getBoolMapping(DS4Controls.LXNeg, cState)) return "LS Left"; + else if (Mapping.getBoolMapping(DS4Controls.LYPos, cState)) return "LS Down"; + else if (Mapping.getBoolMapping(DS4Controls.LYNeg, cState)) return "LS Up"; + else if (Mapping.getBoolMapping(DS4Controls.RXPos, cState)) return "RS Right"; + else if (Mapping.getBoolMapping(DS4Controls.RXNeg, cState)) return "RS Left"; + else if (Mapping.getBoolMapping(DS4Controls.RYPos, cState)) return "RS Down"; + else if (Mapping.getBoolMapping(DS4Controls.RYNeg, cState)) return "RS Up"; + else if (Mapping.getBoolMapping(DS4Controls.TouchLeft, cState)) return "Touch Left"; + else if (Mapping.getBoolMapping(DS4Controls.TouchRight, cState)) return "Touch Right"; + else if (Mapping.getBoolMapping(DS4Controls.TouchMulti, cState)) return "Touch Multi"; + else if (Mapping.getBoolMapping(DS4Controls.TouchUpper, cState)) return "Touch Upper"; + else return "nothing"; else return "nothing"; } - bool touchreleased = true; + bool touchreleased = true, touchslid = false; byte[] oldtouchvalue = { 0, 0, 0, 0 }; protected virtual void CheckForHotkeys(int deviceID, DS4State cState, DS4State pState) { @@ -450,7 +508,7 @@ namespace DS4Control } } } - if (cState.Touch1 && pState.PS) + if (cState.TouchButton && pState.PS) { if (Global.getTouchSensitivity(deviceID) > 0 && touchreleased) { @@ -469,9 +527,31 @@ namespace DS4Control } } else - touchreleased = true; + touchreleased = true; } + public virtual string TouchpadSlide(int ind) + { + DS4State cState = CurrentState[ind]; + string slidedir = "none"; + if (cState.L1 && cState.R1) + if (touchPad[ind].slideright && !touchslid) + { + slidedir = "right"; + touchslid = true; + } + else if (touchPad[ind].slideleft && !touchslid) + { + slidedir = "left"; + touchslid = true; + } + else if (!touchPad[ind].slideleft && !touchPad[ind].slideright) + { + slidedir = ""; + touchslid = false; + } + return slidedir; + } public virtual void LogDebug(String Data) { Console.WriteLine(System.DateTime.Now.ToString("G") + "> " + Data); @@ -498,7 +578,9 @@ namespace DS4Control uint heavyBoosted = ((uint)heavyMotor * (uint)boost) / 100; if (heavyBoosted > 255) heavyBoosted = 255; - DS4Controllers[deviceNum].setRumble((byte)lightBoosted, (byte)heavyBoosted); + if (deviceNum < 4) + if (DS4Controllers[deviceNum] != null) + DS4Controllers[deviceNum].setRumble((byte)lightBoosted, (byte)heavyBoosted); } public DS4State getDS4State(int ind) diff --git a/DS4Control/Mapping.cs b/DS4Control/Mapping.cs index 9ec98bf..72138db 100644 --- a/DS4Control/Mapping.cs +++ b/DS4Control/Mapping.cs @@ -705,28 +705,28 @@ namespace DS4Control case X360Controls.MouseUp: if (MouseDeltaY == 0) { - MouseDeltaY = getMouseMapping(device, customButton.Key, cState, pState); + MouseDeltaY = getMouseMapping(device, customButton.Key, cState, pState, 0); MouseDeltaY = -Math.Abs((MouseDeltaY == -2147483648 ? 0 : MouseDeltaY)); } break; case X360Controls.MouseDown: if (MouseDeltaY == 0) { - MouseDeltaY = getMouseMapping(device, customButton.Key, cState, pState); + MouseDeltaY = getMouseMapping(device, customButton.Key, cState, pState, 1); MouseDeltaY = Math.Abs((MouseDeltaY == -2147483648 ? 0 : MouseDeltaY)); } break; case X360Controls.MouseLeft: if (MouseDeltaX == 0) { - MouseDeltaX = getMouseMapping(device, customButton.Key, cState, pState); + MouseDeltaX = getMouseMapping(device, customButton.Key, cState, pState, 2); MouseDeltaX = -Math.Abs((MouseDeltaX == -2147483648 ? 0 : MouseDeltaX)); } break; case X360Controls.MouseRight: if (MouseDeltaX == 0) { - MouseDeltaX = getMouseMapping(device, customButton.Key, cState, pState); + MouseDeltaX = getMouseMapping(device, customButton.Key, cState, pState, 3); MouseDeltaX = Math.Abs((MouseDeltaX == -2147483648 ? 0 : MouseDeltaX)); } break; @@ -743,15 +743,15 @@ namespace DS4Control MappedState.RY = cState.RY; InputMethods.MoveCursorBy(MouseDeltaX, MouseDeltaY); } - public static DateTime mousenow = DateTime.UtcNow; + public static DateTime[] mousenow = { DateTime.UtcNow, DateTime.UtcNow, DateTime.UtcNow, DateTime.UtcNow }; public static double mvalue = 0; - private static int getMouseMapping(int device, DS4Controls control, DS4State cState, DS4State pState) + private static int getMouseMapping(int device, DS4Controls control, DS4State cState, DS4State pState, int mnum) { int deadzone = 10; double value = 0; int speed = Global.getButtonMouseSensitivity(device); - DateTime now = mousenow; + DateTime now = mousenow[mnum]; switch (control) { case DS4Controls.LXNeg: @@ -801,11 +801,11 @@ namespace DS4Control case DS4Controls.Square: value = (cState.Square ? Math.Pow(1.01 + speed / 10000d, 100) - 1 : 0); break; case DS4Controls.Triangle: value = (cState.Triangle ? Math.Pow(1.01 + speed / 10000d, 100) - 1 : 0); break; case DS4Controls.Circle: value = (cState.Circle ? Math.Pow(1.01 + speed / 10000d, 100) - 1 : 0); break; - case DS4Controls.L2: value = ((cState.L2 / 2d) / 127d) * Math.Pow(1.01 + speed / 10000d, 100) - 1; break; - case DS4Controls.R2: value = ((cState.R2 / 2d) / 127d) * Math.Pow(1.01 + speed / 10000d, 100) - 1; break; + case DS4Controls.L2: value = Math.Pow(1.01 + speed / 10000d, cState.L2 / 2d) - 1; break; + case DS4Controls.R2: value = Math.Pow(1.01 + speed / 10000d, cState.R2 / 2d) - 1; break; } - if (value != 0) - mvalue = value; + //if (value != 0) + //mvalue = value; bool LXChanged = (Math.Abs(127 - cState.LX) < deadzone); bool LYChanged = (Math.Abs(127 - cState.LY) < deadzone); @@ -815,9 +815,9 @@ namespace DS4Control now = DateTime.UtcNow; if (value <= 1) { - if (now >= mousenow + TimeSpan.FromMilliseconds((1 - value)*250)) + if (now >= mousenow[mnum] + TimeSpan.FromMilliseconds((1 - value) * 250)) { - mousenow = now; + mousenow[mnum] = now; return 1; } else diff --git a/DS4Control/Mouse.cs b/DS4Control/Mouse.cs index df74d43..d7d0614 100644 --- a/DS4Control/Mouse.cs +++ b/DS4Control/Mouse.cs @@ -29,12 +29,16 @@ namespace DS4Control { return "Standard Mode"; } - + public bool slideleft, slideright; public virtual void touchesMoved(object sender, TouchpadEventArgs arg) { cursor.touchesMoved(arg); if (Math.Abs(firstTouch.hwX - arg.touches[0].hwX) > 5 && Math.Abs(firstTouch.hwY - arg.touches[0].hwY) > 5) wheel.touchesMoved(arg); + if (arg.touches[0].hwX - firstTouch.hwX > 300 && !slideleft) + slideright = true; + else if (firstTouch.hwX - arg.touches[0].hwX > 300 && !slideright) + slideleft = true; dev.getCurrentState(s); synthesizeMouseButtons(); //Console.WriteLine(arg.timeStamp.ToString("O") + " " + "moved to " + arg.touches[0].hwX + "," + arg.touches[0].hwY); @@ -58,6 +62,7 @@ namespace DS4Control public virtual void touchesEnded(object sender, TouchpadEventArgs arg) { //Console.WriteLine(arg.timeStamp.ToString("O") + " " + "ended at " + arg.touches[0].hwX + "," + arg.touches[0].hwY); + slideright = slideleft = false; if (Global.getTapSensitivity(deviceNum) != 0) { diff --git a/DS4Control/ScpUtil.cs b/DS4Control/ScpUtil.cs index 9af7c02..2a1cce5 100644 --- a/DS4Control/ScpUtil.cs +++ b/DS4Control/ScpUtil.cs @@ -471,27 +471,28 @@ namespace DS4Control { protected String m_Profile = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool\\Profiles.xml"; protected XmlDocument m_Xdoc = new XmlDocument(); - - public int[] buttonMouseSensitivity = { 25, 25, 25, 25 }; - - public Boolean[] touchpadJitterCompensation = {true, true, true, true}; - public Boolean[] lowerRCOn = { false, false, false, false }; - public Boolean[] ledAsBattery = { false, false, false, false }; - public Boolean[] flashLedLowBattery = { false, false, false, false }; - public Byte[] m_LeftTriggerMiddle = { 0, 0, 0, 0 }, m_RightTriggerMiddle = { 0, 0, 0, 0 }; - public String[] profilePath = { String.Empty, String.Empty, String.Empty, String.Empty }; - public Byte[] m_Rumble = { 100, 100, 100, 100 }; - public Byte[] touchSensitivity = { 100, 100, 100, 100 }; - public Byte[] LSDeadzone = { 0, 0, 0, 0 }, RSDeadzone = { 0, 0, 0, 0 }; - public Byte[] tapSensitivity = { 0, 0, 0, 0 }; - public bool[] doubleTap = { false, false, false, false }; - public int[] scrollSensitivity = { 0, 0, 0, 0 }; - public double[] rainbow = { 0, 0, 0, 0 }; + //fifth value used to for options, not fifth controller + public int[] buttonMouseSensitivity = { 25, 25, 25, 25, 25 }; + + public Boolean[] touchpadJitterCompensation = {true, true, true, true, true}; + public Boolean[] lowerRCOn = { false, false, false, false, false }; + public Boolean[] ledAsBattery = { false, false, false, false, false }; + public Boolean[] flashLedLowBattery = { false, false, false, false, false }; + public Byte[] m_LeftTriggerMiddle = { 0, 0, 0, 0, 0}, m_RightTriggerMiddle = { 0, 0, 0, 0, 0}; + public String[] profilePath = { String.Empty, String.Empty, String.Empty, String.Empty, String.Empty }; + public Byte[] m_Rumble = { 100, 100, 100, 100, 100 }; + public Byte[] touchSensitivity = { 100, 100, 100, 100, 100 }; + public Byte[] LSDeadzone = { 0, 0, 0, 0, 0 }, RSDeadzone = { 0, 0, 0, 0, 0}; + public Byte[] tapSensitivity = { 0, 0, 0, 0, 0 }; + public bool[] doubleTap = { false, false, false, false, false }; + public int[] scrollSensitivity = { 0, 0, 0, 0, 0 }; + public double[] rainbow = { 0, 0, 0, 0, 0 }; public Byte[][] m_LowLeds = new Byte[][] { new Byte[] {0,0,0}, new Byte[] {0,0,0}, new Byte[] {0,0,0}, + new Byte[] {0,0,0}, new Byte[] {0,0,0} }; public Byte[][] m_Leds = new Byte[][] @@ -500,9 +501,10 @@ namespace DS4Control new Byte[] {255,0,0}, new Byte[] {0,255,0}, new Byte[] {255,0,255}, + new Byte[] {255,255,255} }; - public bool[] flushHIDQueue = { true, true, true, true }; - public int[] idleDisconnectTimeout = { 0, 0, 0, 0 }; + public bool[] flushHIDQueue = { true, true, true, true, true }; + public int[] idleDisconnectTimeout = { 0, 0, 0, 0, 0 }; public Boolean useExclusiveMode = false; public Int32 formWidth = 782; @@ -510,13 +512,13 @@ namespace DS4Control public Boolean startMinimized = false; public double version; public DateTime lastChecked; - public Dictionary[] customMapKeyTypes = {null, null, null, null}; - public Dictionary[] customMapKeys = { null, null, null, null }; - public Dictionary[] customMapMacros = { null, null, null, null }; - public Dictionary[] customMapButtons = { null, null, null, null }; + public Dictionary[] customMapKeyTypes = {null, null, null, null, null}; + public Dictionary[] customMapKeys = { null, null, null, null, null }; + public Dictionary[] customMapMacros = { null, null, null, null, null }; + public Dictionary[] customMapButtons = { null, null, null, null, null }; public BackingStore() { - for (int i = 0; i < 4; i++) + for (int i = 0; i < 5; i++) { customMapKeyTypes[i] = new Dictionary(); customMapKeys[i] = new Dictionary(); diff --git a/DS4Tool/DS4Tool.csproj b/DS4Tool/DS4Tool.csproj index 52a6839..3668b6a 100644 --- a/DS4Tool/DS4Tool.csproj +++ b/DS4Tool/DS4Tool.csproj @@ -102,6 +102,12 @@ KBM360.cs + + Form + + + MessageTextBox.cs + Form @@ -115,6 +121,11 @@ True Resources.resx + + True + True + Resource.es.resx + Form @@ -140,6 +151,9 @@ KBM360.cs + + MessageTextBox.cs + Options.cs @@ -148,7 +162,10 @@ Designer Resources1.Designer.cs - + + ResXFileCodeGenerator + Resource.es.Designer.cs + ScpForm.cs @@ -181,21 +198,30 @@ + + + + + + + + - + + diff --git a/DS4Tool/Hotkeys.Designer.cs b/DS4Tool/Hotkeys.Designer.cs index cc70344..1fa8734 100644 --- a/DS4Tool/Hotkeys.Designer.cs +++ b/DS4Tool/Hotkeys.Designer.cs @@ -28,7 +28,6 @@ /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Hotkeys)); this.label1 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); @@ -49,48 +48,68 @@ this.linkInhexSTER = new System.Windows.Forms.LinkLabel(); this.linkJhebbel = new System.Windows.Forms.LinkLabel(); this.linkUninstall = new System.Windows.Forms.LinkLabel(); + this.label6 = new System.Windows.Forms.Label(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.label24 = new System.Windows.Forms.Label(); + this.label20 = new System.Windows.Forms.Label(); + this.label22 = new System.Windows.Forms.Label(); + this.label17 = new System.Windows.Forms.Label(); + this.label18 = new System.Windows.Forms.Label(); + this.label11 = new System.Windows.Forms.Label(); + this.label19 = new System.Windows.Forms.Label(); + this.label12 = new System.Windows.Forms.Label(); + this.label21 = new System.Windows.Forms.Label(); + this.label16 = new System.Windows.Forms.Label(); + this.label28 = new System.Windows.Forms.Label(); + this.label29 = new System.Windows.Forms.Label(); + this.label25 = new System.Windows.Forms.Label(); + this.label27 = new System.Windows.Forms.Label(); + this.label26 = new System.Windows.Forms.Label(); + this.label23 = new System.Windows.Forms.Label(); + this.lLBUpdate = new System.Windows.Forms.LinkLabel(); + this.tableLayoutPanel1.SuspendLayout(); this.SuspendLayout(); // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(26, 31); + this.label1.Location = new System.Drawing.Point(3, 110); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(129, 13); + this.label1.Size = new System.Drawing.Size(108, 13); this.label1.TabIndex = 0; - this.label1.Text = "Finger on Touchpad + PS"; + this.label1.Text = "Click Touchpad + PS"; // // label3 // this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(26, 111); + this.label3.Location = new System.Drawing.Point(3, 176); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(176, 13); + this.label3.Size = new System.Drawing.Size(125, 13); this.label3.TabIndex = 2; - this.label3.Text = "Tap then hold touchpad (if enabled)"; + this.label3.Text = "Tap then hold touchpad*"; // // label4 // this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(26, 136); + this.label4.Location = new System.Drawing.Point(3, 132); this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(172, 13); + this.label4.Size = new System.Drawing.Size(121, 13); this.label4.TabIndex = 3; - this.label4.Text = "Pad click on lower right (if enabled)"; + this.label4.Text = "Pad click on lower right*"; // // label5 // this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(226, 31); + this.label5.Location = new System.Drawing.Point(193, 110); this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(138, 26); + this.label5.Size = new System.Drawing.Size(231, 13); this.label5.TabIndex = 4; - this.label5.Text = "Turn off touchpad movment\r\n(pressing still works)"; + this.label5.Text = "Turn off touchpad movment (clicking still works)"; // // label7 // this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(226, 111); + this.label7.Location = new System.Drawing.Point(193, 176); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(83, 13); this.label7.TabIndex = 6; @@ -99,27 +118,27 @@ // label8 // this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(226, 136); + this.label8.Location = new System.Drawing.Point(193, 132); this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(165, 26); + this.label8.Size = new System.Drawing.Size(313, 13); this.label8.TabIndex = 7; - this.label8.Text = "Right click (Best used when right \r\nside is used as a mouse button)"; + this.label8.Text = "Right click (Best used when right side is used as a mouse button)"; // // button1 // this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.button1.Location = new System.Drawing.Point(163, 332); + this.button1.Location = new System.Drawing.Point(215, 399); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(75, 23); this.button1.TabIndex = 8; - this.button1.Text = "Ok"; + this.button1.Text = "Done"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); // // label9 // this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(226, 87); + this.label9.Location = new System.Drawing.Point(193, 154); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(83, 13); this.label9.TabIndex = 10; @@ -128,34 +147,36 @@ // label10 // this.label10.AutoSize = true; - this.label10.Location = new System.Drawing.Point(26, 87); + this.label10.Location = new System.Drawing.Point(3, 154); this.label10.Name = "label10"; - this.label10.Size = new System.Drawing.Size(171, 13); + this.label10.Size = new System.Drawing.Size(175, 13); this.label10.TabIndex = 9; - this.label10.Text = "Two fingers up/down on touchpad"; + this.label10.Text = "Two fingers up/down on touchpad*"; // // label13 // - this.label13.Location = new System.Drawing.Point(2, 171); + this.label13.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(3, 224); this.label13.Name = "label13"; - this.label13.Size = new System.Drawing.Size(397, 57); + this.label13.Size = new System.Drawing.Size(184, 13); this.label13.TabIndex = 14; - this.label13.Text = resources.GetString("label13.Text"); + this.label13.Text = "When mapping keyboard and mouse:"; this.label13.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // label14 // this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(227, 63); + this.label14.Location = new System.Drawing.Point(193, 88); this.label14.Name = "label14"; - this.label14.Size = new System.Drawing.Size(131, 13); + this.label14.Size = new System.Drawing.Size(201, 13); this.label14.TabIndex = 16; - this.label14.Text = "Disconnect Controller (BT)"; + this.label14.Text = "Disconnect Controller (Only on Bluetooth)"; // // label15 // this.label15.AutoSize = true; - this.label15.Location = new System.Drawing.Point(27, 63); + this.label15.Location = new System.Drawing.Point(3, 88); this.label15.Name = "label15"; this.label15.Size = new System.Drawing.Size(103, 13); this.label15.TabIndex = 15; @@ -165,7 +186,7 @@ // this.linkProfiles.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.linkProfiles.AutoSize = true; - this.linkProfiles.Location = new System.Drawing.Point(292, 337); + this.linkProfiles.Location = new System.Drawing.Point(378, 404); this.linkProfiles.Name = "linkProfiles"; this.linkProfiles.Size = new System.Drawing.Size(94, 13); this.linkProfiles.TabIndex = 17; @@ -177,7 +198,7 @@ // this.linkElectro.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.linkElectro.AutoSize = true; - this.linkElectro.Location = new System.Drawing.Point(215, 273); + this.linkElectro.Location = new System.Drawing.Point(272, 374); this.linkElectro.Name = "linkElectro"; this.linkElectro.Size = new System.Drawing.Size(149, 13); this.linkElectro.TabIndex = 18; @@ -189,7 +210,7 @@ // this.linkJays2Kings.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.linkJays2Kings.AutoSize = true; - this.linkJays2Kings.Location = new System.Drawing.Point(95, 273); + this.linkJays2Kings.Location = new System.Drawing.Point(17, 374); this.linkJays2Kings.Name = "linkJays2Kings"; this.linkJays2Kings.Size = new System.Drawing.Size(60, 13); this.linkJays2Kings.TabIndex = 18; @@ -201,7 +222,7 @@ // this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(146, 251); + this.label2.Location = new System.Drawing.Point(203, 352); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(109, 13); this.label2.TabIndex = 13; @@ -209,19 +230,19 @@ // // lbAbout // - this.lbAbout.AutoSize = true; this.lbAbout.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbAbout.Location = new System.Drawing.Point(26, 9); + this.lbAbout.Location = new System.Drawing.Point(3, 9); this.lbAbout.Name = "lbAbout"; - this.lbAbout.Size = new System.Drawing.Size(243, 13); + this.lbAbout.Size = new System.Drawing.Size(515, 19); this.lbAbout.TabIndex = 0; this.lbAbout.Text = "DS4Windows - Jays2Kings Build (Version "; + this.lbAbout.TextAlign = System.Drawing.ContentAlignment.TopCenter; // // linkInhexSTER // this.linkInhexSTER.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.linkInhexSTER.AutoSize = true; - this.linkInhexSTER.Location = new System.Drawing.Point(38, 300); + this.linkInhexSTER.Location = new System.Drawing.Point(95, 374); this.linkInhexSTER.Name = "linkInhexSTER"; this.linkInhexSTER.Size = new System.Drawing.Size(159, 13); this.linkInhexSTER.TabIndex = 18; @@ -233,7 +254,7 @@ // this.linkJhebbel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.linkJhebbel.AutoSize = true; - this.linkJhebbel.Location = new System.Drawing.Point(268, 300); + this.linkJhebbel.Location = new System.Drawing.Point(450, 374); this.linkJhebbel.Name = "linkJhebbel"; this.linkJhebbel.Size = new System.Drawing.Size(41, 13); this.linkJhebbel.TabIndex = 18; @@ -245,7 +266,7 @@ // this.linkUninstall.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.linkUninstall.AutoSize = true; - this.linkUninstall.Location = new System.Drawing.Point(12, 337); + this.linkUninstall.Location = new System.Drawing.Point(35, 404); this.linkUninstall.Name = "linkUninstall"; this.linkUninstall.Size = new System.Drawing.Size(106, 13); this.linkUninstall.TabIndex = 17; @@ -253,36 +274,253 @@ this.linkUninstall.Text = "Uninstall VBus Driver"; this.linkUninstall.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkUninstall_LinkClicked); // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(193, 0); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(59, 13); + this.label6.TabIndex = 14; + this.label6.Text = "Left Touch"; + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 2; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel1.Controls.Add(this.label24, 0, 11); + this.tableLayoutPanel1.Controls.Add(this.label20, 0, 9); + this.tableLayoutPanel1.Controls.Add(this.label22, 1, 9); + this.tableLayoutPanel1.Controls.Add(this.label1, 0, 5); + this.tableLayoutPanel1.Controls.Add(this.label17, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.label5, 1, 5); + this.tableLayoutPanel1.Controls.Add(this.label6, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.label18, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.label11, 1, 1); + this.tableLayoutPanel1.Controls.Add(this.label10, 0, 7); + this.tableLayoutPanel1.Controls.Add(this.label19, 0, 2); + this.tableLayoutPanel1.Controls.Add(this.label9, 1, 7); + this.tableLayoutPanel1.Controls.Add(this.label12, 1, 2); + this.tableLayoutPanel1.Controls.Add(this.label3, 0, 8); + this.tableLayoutPanel1.Controls.Add(this.label13, 0, 10); + this.tableLayoutPanel1.Controls.Add(this.label21, 0, 3); + this.tableLayoutPanel1.Controls.Add(this.label7, 1, 8); + this.tableLayoutPanel1.Controls.Add(this.label4, 0, 6); + this.tableLayoutPanel1.Controls.Add(this.label15, 0, 4); + this.tableLayoutPanel1.Controls.Add(this.label16, 1, 3); + this.tableLayoutPanel1.Controls.Add(this.label8, 1, 6); + this.tableLayoutPanel1.Controls.Add(this.label14, 1, 4); + this.tableLayoutPanel1.Controls.Add(this.label28, 1, 12); + this.tableLayoutPanel1.Controls.Add(this.label29, 1, 11); + this.tableLayoutPanel1.Controls.Add(this.label25, 0, 12); + this.tableLayoutPanel1.Controls.Add(this.label27, 1, 13); + this.tableLayoutPanel1.Controls.Add(this.label26, 0, 13); + this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 31); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 14; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 7.142856F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(513, 318); + this.tableLayoutPanel1.TabIndex = 19; + // + // label24 + // + this.label24.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label24.AutoSize = true; + this.label24.Location = new System.Drawing.Point(3, 246); + this.label24.Name = "label24"; + this.label24.Size = new System.Drawing.Size(40, 13); + this.label24.TabIndex = 14; + this.label24.Text = "Toggle"; + // + // label20 + // + this.label20.AutoSize = true; + this.label20.Location = new System.Drawing.Point(3, 198); + this.label20.Name = "label20"; + this.label20.Size = new System.Drawing.Size(172, 13); + this.label20.TabIndex = 14; + this.label20.Text = "L1+R1+Touchpad Slide left or right"; + // + // label22 + // + this.label22.AutoSize = true; + this.label22.Location = new System.Drawing.Point(193, 198); + this.label22.Name = "label22"; + this.label22.Size = new System.Drawing.Size(108, 13); + this.label22.TabIndex = 14; + this.label22.Text = "Cycle through profiles"; + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(3, 0); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(129, 13); + this.label17.TabIndex = 14; + this.label17.Text = "Click left side of touchpad"; + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(3, 22); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(135, 13); + this.label18.TabIndex = 14; + this.label18.Text = "Click right side of touchpad"; + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(193, 22); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(66, 13); + this.label11.TabIndex = 14; + this.label11.Text = "Right Touch"; + // + // label19 + // + this.label19.AutoSize = true; + this.label19.Location = new System.Drawing.Point(3, 44); + this.label19.Name = "label19"; + this.label19.Size = new System.Drawing.Size(146, 13); + this.label19.TabIndex = 14; + this.label19.Text = "Click touchpad with 2 fingers "; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(193, 44); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(56, 13); + this.label12.TabIndex = 14; + this.label12.Text = "Multitouch"; + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(3, 66); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(141, 13); + this.label21.TabIndex = 14; + this.label21.Text = "Click upper part of touchpad"; + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(193, 66); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(70, 13); + this.label16.TabIndex = 14; + this.label16.Text = "Upper Touch"; + // + // label28 + // + this.label28.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label28.AutoSize = true; + this.label28.Location = new System.Drawing.Point(193, 268); + this.label28.Name = "label28"; + this.label28.Size = new System.Drawing.Size(160, 13); + this.label28.TabIndex = 14; + this.label28.Text = "Assign multiple keys to one input"; + // + // label29 + // + this.label29.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label29.AutoSize = true; + this.label29.Location = new System.Drawing.Point(193, 246); + this.label29.Name = "label29"; + this.label29.Size = new System.Drawing.Size(313, 13); + this.label29.TabIndex = 14; + this.label29.Text = "Keys are interperted differently. May be needed for certain games"; + // + // label25 + // + this.label25.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label25.AutoSize = true; + this.label25.Location = new System.Drawing.Point(3, 268); + this.label25.Name = "label25"; + this.label25.Size = new System.Drawing.Size(37, 13); + this.label25.TabIndex = 14; + this.label25.Text = "Macro"; + // + // label27 + // + this.label27.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label27.AutoSize = true; + this.label27.Location = new System.Drawing.Point(193, 295); + this.label27.Name = "label27"; + this.label27.Size = new System.Drawing.Size(296, 13); + this.label27.TabIndex = 14; + this.label27.Text = "The key will remain in a \"held down\" state until pressed again"; + // + // label26 + // + this.label26.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label26.AutoSize = true; + this.label26.Location = new System.Drawing.Point(3, 295); + this.label26.Name = "label26"; + this.label26.Size = new System.Drawing.Size(60, 13); + this.label26.TabIndex = 14; + this.label26.Text = "Scan Code"; + // + // label23 + // + this.label23.AutoSize = true; + this.label23.Location = new System.Drawing.Point(451, 9); + this.label23.Name = "label23"; + this.label23.Size = new System.Drawing.Size(58, 13); + this.label23.TabIndex = 3; + this.label23.Text = "*If enabled"; + // + // lLBUpdate + // + this.lLBUpdate.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.lLBUpdate.AutoSize = true; + this.lLBUpdate.Location = new System.Drawing.Point(-2, 9); + this.lLBUpdate.Name = "lLBUpdate"; + this.lLBUpdate.Size = new System.Drawing.Size(96, 13); + this.lLBUpdate.TabIndex = 48; + this.lLBUpdate.TabStop = true; + this.lLBUpdate.Text = "Check for Updates"; + this.lLBUpdate.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lLBUpdate_LinkClicked); + // // Hotkeys // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(399, 359); + this.ClientSize = new System.Drawing.Size(520, 426); + this.Controls.Add(this.lLBUpdate); + this.Controls.Add(this.tableLayoutPanel1); this.Controls.Add(this.linkJhebbel); this.Controls.Add(this.linkInhexSTER); this.Controls.Add(this.linkJays2Kings); this.Controls.Add(this.linkElectro); this.Controls.Add(this.linkUninstall); this.Controls.Add(this.linkProfiles); - this.Controls.Add(this.label14); - this.Controls.Add(this.label15); - this.Controls.Add(this.label13); + this.Controls.Add(this.label23); this.Controls.Add(this.label2); - this.Controls.Add(this.label9); - this.Controls.Add(this.label10); this.Controls.Add(this.button1); - this.Controls.Add(this.label8); - this.Controls.Add(this.label7); - this.Controls.Add(this.label5); - this.Controls.Add(this.label4); - this.Controls.Add(this.label3); this.Controls.Add(this.lbAbout); - this.Controls.Add(this.label1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.MaximizeBox = false; this.MinimizeBox = false; this.Name = "Hotkeys"; this.Text = "Help"; + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); this.ResumeLayout(false); this.PerformLayout(); @@ -310,5 +548,24 @@ private System.Windows.Forms.LinkLabel linkInhexSTER; private System.Windows.Forms.LinkLabel linkJhebbel; private System.Windows.Forms.LinkLabel linkUninstall; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.Label label16; + private System.Windows.Forms.Label label19; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.Label label20; + private System.Windows.Forms.Label label22; + private System.Windows.Forms.Label label23; + private System.Windows.Forms.Label label24; + private System.Windows.Forms.Label label25; + private System.Windows.Forms.Label label26; + private System.Windows.Forms.Label label27; + private System.Windows.Forms.Label label28; + private System.Windows.Forms.Label label29; + private System.Windows.Forms.LinkLabel lLBUpdate; } } \ No newline at end of file diff --git a/DS4Tool/Hotkeys.cs b/DS4Tool/Hotkeys.cs index ad84dd3..f1a1635 100644 --- a/DS4Tool/Hotkeys.cs +++ b/DS4Tool/Hotkeys.cs @@ -7,6 +7,8 @@ using System.Linq; using System.Text; using System.Windows.Forms; using DS4Control; +using System.Net; +using System.IO; namespace ScpServer { @@ -58,5 +60,45 @@ namespace ScpServer try { System.Diagnostics.Process.Start(Global.appdatapath + "\\Virtual Bus Driver\\ScpDriver.exe"); } catch { System.Diagnostics.Process.Start(Global.appdatapath + "\\Virtual Bus Driver"); } } + + private void lLBUpdate_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + Uri url = new Uri("https://dl.dropboxusercontent.com/u/16364552/DS4Tool/newest%20version.txt"); //Sorry other devs, gonna have to find your own server + WebClient wc = new WebClient(); + wc.DownloadFileAsync(url, Global.appdatapath + "\\version.txt"); + wc.DownloadFileCompleted += wc_DownloadFileCompleted; + } + + void wc_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e) + { + Global.setLastChecked(DateTime.Now); + double newversion; + try + { + if (double.TryParse(File.ReadAllText(Global.appdatapath + "\\version.txt"), out newversion)) + if (newversion > Global.getVersion()) + if (MessageBox.Show("Download now?", "DS4Windows Update Available!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) + { + if (!File.Exists("Updater.exe")) + { + Uri url2 = new Uri("https://dl.dropboxusercontent.com/u/16364552/DS4Tool/Updater.exe"); + WebClient wc2 = new WebClient(); + wc2.DownloadFile(url2, "Updater.exe"); + } + System.Diagnostics.Process.Start("Updater.exe"); + this.Close(); + } + else + File.Delete(Global.appdatapath + "\\version.txt"); + else + { + File.Delete(Global.appdatapath + "\\version.txt"); + MessageBox.Show("You are up to date", "DS4 Updater"); + } + else + File.Delete(Global.appdatapath + "\\version.txt"); + } + catch { }; + } } } diff --git a/DS4Tool/Hotkeys.resx b/DS4Tool/Hotkeys.resx index 3ef9132..1af7de1 100644 --- a/DS4Tool/Hotkeys.resx +++ b/DS4Tool/Hotkeys.resx @@ -117,10 +117,4 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - When mapping as keyboard and mouse: -Toggle - The key will remain in a "held down" state until pressed again -Macro - Assign multiple keys to one input -Scan Code - keys are interperted differently. May be needed for certain games. - \ No newline at end of file diff --git a/DS4Tool/MessageTextBox.Designer.cs b/DS4Tool/MessageTextBox.Designer.cs new file mode 100644 index 0000000..b465cfb --- /dev/null +++ b/DS4Tool/MessageTextBox.Designer.cs @@ -0,0 +1,99 @@ +namespace ScpServer +{ + partial class MessageTextBox + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.button1 = new System.Windows.Forms.Button(); + this.tBProfile = new System.Windows.Forms.TextBox(); + this.button2 = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // button1 + // + this.button1.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.button1.Location = new System.Drawing.Point(195, 5); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(75, 23); + this.button1.TabIndex = 2; + this.button1.Text = "Save"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // tBProfile + // + this.tBProfile.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.tBProfile.ForeColor = System.Drawing.SystemColors.GrayText; + this.tBProfile.Location = new System.Drawing.Point(12, 7); + this.tBProfile.Name = "tBProfile"; + this.tBProfile.Size = new System.Drawing.Size(177, 20); + this.tBProfile.TabIndex = 239; + this.tBProfile.Text = ""; + this.tBProfile.TextAlign = System.Windows.Forms.HorizontalAlignment.Center; + this.tBProfile.TextChanged += new System.EventHandler(this.tBProfile_TextChanged); + this.tBProfile.Enter += new System.EventHandler(this.tBProfile_Enter); + this.tBProfile.Leave += new System.EventHandler(this.tBProfile_Leave); + // + // button2 + // + this.button2.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.button2.Location = new System.Drawing.Point(276, 5); + this.button2.Name = "button2"; + this.button2.Size = new System.Drawing.Size(75, 23); + this.button2.TabIndex = 240; + this.button2.Text = "Cancel"; + this.button2.UseVisualStyleBackColor = true; + this.button2.Click += new System.EventHandler(this.button2_Click); + // + // MessageTextBox + // + this.AcceptButton = this.button1; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(242)))), ((int)(((byte)(242)))), ((int)(((byte)(242))))); + this.ClientSize = new System.Drawing.Size(359, 35); + this.Controls.Add(this.button2); + this.Controls.Add(this.tBProfile); + this.Controls.Add(this.button1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "MessageTextBox"; + this.ShowInTaskbar = false; + this.Text = "Type name of New Profile"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button button1; + private System.Windows.Forms.TextBox tBProfile; + private System.Windows.Forms.Button button2; + } +} \ No newline at end of file diff --git a/DS4Tool/MessageTextBox.cs b/DS4Tool/MessageTextBox.cs new file mode 100644 index 0000000..604bd8d --- /dev/null +++ b/DS4Tool/MessageTextBox.cs @@ -0,0 +1,62 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using DS4Control; + +namespace ScpServer +{ + public partial class MessageTextBox : Form + { + public string oldfilename; + ScpForm yes; + public MessageTextBox(string name, ScpForm mainwindow) + { + InitializeComponent(); + oldfilename = name; + yes = mainwindow; + } + + private void button1_Click(object sender, EventArgs e) + { + if (tBProfile.Text != null && tBProfile.Text != "" && !tBProfile.Text.Contains("\\") && !tBProfile.Text.Contains("/") && !tBProfile.Text.Contains(":") && !tBProfile.Text.Contains("*") && !tBProfile.Text.Contains("?") && !tBProfile.Text.Contains("\"") && !tBProfile.Text.Contains("<") && !tBProfile.Text.Contains(">") && !tBProfile.Text.Contains("|")) + { + System.IO.File.Copy(Global.appdatapath + "\\Profiles\\" + oldfilename + ".xml", Global.appdatapath + "\\Profiles\\" + tBProfile.Text + ".xml", true); + yes.RefreshProfiles(); + this.Close(); + } + else + MessageBox.Show("Please enter a valid name", "Not valid", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + } + + private void tBProfile_TextChanged(object sender, EventArgs e) + { + if (tBProfile.Text != null && tBProfile.Text != "" && !tBProfile.Text.Contains("\\") && !tBProfile.Text.Contains("/") && !tBProfile.Text.Contains(":") && !tBProfile.Text.Contains("*") && !tBProfile.Text.Contains("?") && !tBProfile.Text.Contains("\"") && !tBProfile.Text.Contains("<") && !tBProfile.Text.Contains(">") && !tBProfile.Text.Contains("|")) + tBProfile.ForeColor = System.Drawing.SystemColors.WindowText; + else + tBProfile.ForeColor = System.Drawing.SystemColors.GrayText; + } + + private void tBProfile_Enter(object sender, EventArgs e) + { + if (tBProfile.Text == "") + tBProfile.Text = ""; + } + + private void tBProfile_Leave(object sender, EventArgs e) + { + if (tBProfile.Text == "") + tBProfile.Text = ""; + } + + private void button2_Click(object sender, EventArgs e) + { + this.Close(); + } + } +} diff --git a/DS4Tool/MessageTextBox.resx b/DS4Tool/MessageTextBox.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/DS4Tool/MessageTextBox.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/DS4Tool/Options.Designer.cs b/DS4Tool/Options.Designer.cs index 5ac7f3f..3a82e4e 100644 --- a/DS4Tool/Options.Designer.cs +++ b/DS4Tool/Options.Designer.cs @@ -28,7 +28,6 @@ /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Options)); this.bnTouchUpper = new System.Windows.Forms.Button(); this.bnTouchMulti = new System.Windows.Forms.Button(); this.bnTouchRight = new System.Windows.Forms.Button(); @@ -135,10 +134,12 @@ this.numUDL2 = new System.Windows.Forms.NumericUpDown(); this.gBTouchpad = new System.Windows.Forms.GroupBox(); this.gBOther = new System.Windows.Forms.GroupBox(); + this.nUDSixaxis = new System.Windows.Forms.NumericUpDown(); this.cBControllerInput = new System.Windows.Forms.CheckBox(); this.gBLightbar = new System.Windows.Forms.GroupBox(); this.gBRumble = new System.Windows.Forms.GroupBox(); this.gBDeadzone = new System.Windows.Forms.GroupBox(); + this.btnCancel = new System.Windows.Forms.Button(); this.advColorDialog = new ScpServer.AdvancedColorDialog(); this.MainPanel.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pBController)).BeginInit(); @@ -175,6 +176,7 @@ ((System.ComponentModel.ISupportInitialize)(this.numUDL2)).BeginInit(); this.gBTouchpad.SuspendLayout(); this.gBOther.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.nUDSixaxis)).BeginInit(); this.gBLightbar.SuspendLayout(); this.gBRumble.SuspendLayout(); this.gBDeadzone.SuspendLayout(); @@ -297,7 +299,7 @@ // pBController // this.pBController.Enabled = false; - this.pBController.Image = ((System.Drawing.Image)(resources.GetObject("pBController.Image"))); + this.pBController.Image = global::ScpServer.Properties.Resources.DS4_Controller; this.pBController.Location = new System.Drawing.Point(0, 0); this.pBController.Name = "pBController"; this.pBController.Size = new System.Drawing.Size(245, 132); @@ -1300,7 +1302,7 @@ // tBsixaxisAccelZ // this.tBsixaxisAccelZ.AutoSize = false; - this.tBsixaxisAccelZ.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244))))); + this.tBsixaxisAccelZ.BackColor = System.Drawing.Color.White; this.tBsixaxisAccelZ.Enabled = false; this.tBsixaxisAccelZ.Location = new System.Drawing.Point(394, 6); this.tBsixaxisAccelZ.Maximum = 32767; @@ -1315,19 +1317,19 @@ this.flushHIDQueue.AccessibleName = "flushHIDQueue"; this.flushHIDQueue.AutoSize = true; this.flushHIDQueue.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); - this.flushHIDQueue.Location = new System.Drawing.Point(214, 15); + this.flushHIDQueue.Location = new System.Drawing.Point(302, 39); this.flushHIDQueue.Name = "flushHIDQueue"; this.flushHIDQueue.RightToLeft = System.Windows.Forms.RightToLeft.Yes; - this.flushHIDQueue.Size = new System.Drawing.Size(195, 17); + this.flushHIDQueue.Size = new System.Drawing.Size(112, 30); this.flushHIDQueue.TabIndex = 198; - this.flushHIDQueue.Text = "Flush HID queue after each reading"; + this.flushHIDQueue.Text = "Flush HID queue \r\nafter each reading"; this.flushHIDQueue.UseVisualStyleBackColor = true; this.flushHIDQueue.CheckedChanged += new System.EventHandler(this.flushHIDQueue_CheckedChanged); // // tBsixaxisAccelY // this.tBsixaxisAccelY.AutoSize = false; - this.tBsixaxisAccelY.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244))))); + this.tBsixaxisAccelY.BackColor = System.Drawing.Color.White; this.tBsixaxisAccelY.Enabled = false; this.tBsixaxisAccelY.Location = new System.Drawing.Point(347, 6); this.tBsixaxisAccelY.Maximum = 32767; @@ -1349,7 +1351,7 @@ // tBsixaxisAccelX // this.tBsixaxisAccelX.AutoSize = false; - this.tBsixaxisAccelX.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244))))); + this.tBsixaxisAccelX.BackColor = System.Drawing.Color.White; this.tBsixaxisAccelX.Enabled = false; this.tBsixaxisAccelX.Location = new System.Drawing.Point(301, 6); this.tBsixaxisAccelX.Maximum = 32767; @@ -1371,7 +1373,7 @@ // tBsixaxisGyroZ // this.tBsixaxisGyroZ.AutoSize = false; - this.tBsixaxisGyroZ.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244))))); + this.tBsixaxisGyroZ.BackColor = System.Drawing.Color.White; this.tBsixaxisGyroZ.Enabled = false; this.tBsixaxisGyroZ.Location = new System.Drawing.Point(163, 6); this.tBsixaxisGyroZ.Maximum = 32767; @@ -1393,7 +1395,7 @@ // tBsixaxisGyroY // this.tBsixaxisGyroY.AutoSize = false; - this.tBsixaxisGyroY.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244))))); + this.tBsixaxisGyroY.BackColor = System.Drawing.Color.White; this.tBsixaxisGyroY.Enabled = false; this.tBsixaxisGyroY.Location = new System.Drawing.Point(116, 6); this.tBsixaxisGyroY.Maximum = 32767; @@ -1406,7 +1408,7 @@ // tBsixaxisGyroX // this.tBsixaxisGyroX.AutoSize = false; - this.tBsixaxisGyroX.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244))))); + this.tBsixaxisGyroX.BackColor = System.Drawing.Color.White; this.tBsixaxisGyroX.Enabled = false; this.tBsixaxisGyroX.Location = new System.Drawing.Point(69, 6); this.tBsixaxisGyroX.Maximum = 32767; @@ -1482,9 +1484,9 @@ // // btnRumbleTest // - this.btnRumbleTest.Location = new System.Drawing.Point(149, 11); + this.btnRumbleTest.Location = new System.Drawing.Point(161, 11); this.btnRumbleTest.Name = "btnRumbleTest"; - this.btnRumbleTest.Size = new System.Drawing.Size(53, 23); + this.btnRumbleTest.Size = new System.Drawing.Size(41, 23); this.btnRumbleTest.TabIndex = 214; this.btnRumbleTest.Text = "Test"; this.btnRumbleTest.UseVisualStyleBackColor = true; @@ -1643,7 +1645,7 @@ this.tBProfile.ForeColor = System.Drawing.SystemColors.GrayText; this.tBProfile.Location = new System.Drawing.Point(77, 9); this.tBProfile.Name = "tBProfile"; - this.tBProfile.Size = new System.Drawing.Size(269, 20); + this.tBProfile.Size = new System.Drawing.Size(185, 20); this.tBProfile.TabIndex = 238; this.tBProfile.Text = ""; this.tBProfile.TextChanged += new System.EventHandler(this.tBProfile_TextChanged); @@ -1652,7 +1654,7 @@ // // btnSaveProfile // - this.btnSaveProfile.Location = new System.Drawing.Point(352, 7); + this.btnSaveProfile.Location = new System.Drawing.Point(268, 7); this.btnSaveProfile.Name = "btnSaveProfile"; this.btnSaveProfile.Size = new System.Drawing.Size(78, 23); this.btnSaveProfile.TabIndex = 237; @@ -1789,6 +1791,7 @@ // // gBOther // + this.gBOther.Controls.Add(this.nUDSixaxis); this.gBOther.Controls.Add(this.cBControllerInput); this.gBOther.Controls.Add(this.idleDisconnectTimeout); this.gBOther.Controls.Add(this.lBButtonMouseSens); @@ -1803,17 +1806,39 @@ this.gBOther.TabStop = false; this.gBOther.Text = "Other"; // + // nUDSixaxis + // + this.nUDSixaxis.Location = new System.Drawing.Point(386, 16); + this.nUDSixaxis.Maximum = new decimal(new int[] { + 4, + 0, + 0, + 0}); + this.nUDSixaxis.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.nUDSixaxis.Name = "nUDSixaxis"; + this.nUDSixaxis.Size = new System.Drawing.Size(29, 20); + this.nUDSixaxis.TabIndex = 250; + this.nUDSixaxis.Value = new decimal(new int[] { + 1, + 0, + 0, + 0}); + // // cBControllerInput // this.cBControllerInput.AutoSize = true; this.cBControllerInput.Checked = true; this.cBControllerInput.CheckState = System.Windows.Forms.CheckState.Checked; - this.cBControllerInput.Location = new System.Drawing.Point(303, 38); + this.cBControllerInput.Location = new System.Drawing.Point(187, 17); this.cBControllerInput.Name = "cBControllerInput"; this.cBControllerInput.RightToLeft = System.Windows.Forms.RightToLeft.Yes; - this.cBControllerInput.Size = new System.Drawing.Size(106, 30); + this.cBControllerInput.Size = new System.Drawing.Size(194, 17); this.cBControllerInput.TabIndex = 242; - this.cBControllerInput.Text = "Use controller to \r\nchange mapping"; + this.cBControllerInput.Text = "Use a controller to change mapping"; this.cBControllerInput.UseVisualStyleBackColor = true; // // gBLightbar @@ -1865,6 +1890,16 @@ this.gBDeadzone.TabStop = false; this.gBDeadzone.Text = "Deadzone"; // + // btnCancel + // + this.btnCancel.Location = new System.Drawing.Point(352, 7); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 23); + this.btnCancel.TabIndex = 249; + this.btnCancel.Text = "Cancel"; + this.btnCancel.UseVisualStyleBackColor = true; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // // advColorDialog // this.advColorDialog.AnyColor = true; @@ -1875,8 +1910,9 @@ // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244))))); - this.ClientSize = new System.Drawing.Size(885, 297); + this.BackColor = System.Drawing.Color.White; + this.ClientSize = new System.Drawing.Size(889, 297); + this.Controls.Add(this.btnCancel); this.Controls.Add(this.gBDeadzone); this.Controls.Add(this.gBRumble); this.Controls.Add(this.gBLightbar); @@ -1941,6 +1977,7 @@ this.gBTouchpad.PerformLayout(); this.gBOther.ResumeLayout(false); this.gBOther.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.nUDSixaxis)).EndInit(); this.gBLightbar.ResumeLayout(false); this.gBLightbar.PerformLayout(); this.gBRumble.ResumeLayout(false); @@ -2067,6 +2104,8 @@ private System.Windows.Forms.GroupBox gBRumble; private System.Windows.Forms.GroupBox gBDeadzone; private System.Windows.Forms.CheckBox cBControllerInput; + private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.NumericUpDown nUDSixaxis; } }  \ No newline at end of file diff --git a/DS4Tool/Options.cs b/DS4Tool/Options.cs index 15b28a4..928f49a 100644 --- a/DS4Tool/Options.cs +++ b/DS4Tool/Options.cs @@ -11,7 +11,7 @@ namespace ScpServer public partial class Options : Form { private DS4Control.Control scpDevice; - private int device; + public int device; private string filename; Byte[] oldLedColor, oldLowLedColor; Timer inputtimer = new Timer(), sixaxisTimer = new Timer(); @@ -21,16 +21,22 @@ namespace ScpServer private Color reg, full; private Image colored, greyscale; ToolTip tp = new ToolTip(); - public Options(DS4Control.Control bus_device, int deviceNum, string name) + ScpForm root; + public Options(DS4Control.Control bus_device, int deviceNum, string name, ScpForm rt) { InitializeComponent(); device = deviceNum; scpDevice = bus_device; filename = name; colored = pBRainbow.Image; + root = rt; greyscale = GreyscaleImage((Bitmap)pBRainbow.Image); + if (deviceNum < 4) + nUDSixaxis.Value = deviceNum + 1; if (filename != "") { + Global.setAProfile(4, name); + Global.LoadProfile(deviceNum); tBProfile.Text = filename; DS4Color color = Global.loadColor(device); redBar.Value = color.red; @@ -92,19 +98,8 @@ namespace ScpServer sixaxisTimer.Start(); #region watch sixaxis data - sixaxisTimer.Tick += - (delegate - { - // MEMS gyro data is all calibrated to roughly -1G..1G for values -0x2000..0x1fff - // Enough additional acceleration and we are no longer mostly measuring Earth's gravity... - // We should try to indicate setpoints of the calibration when exposing this measurement.... - SetDynamicTrackBarValue(tBsixaxisGyroX, (scpDevice.ExposedState[device].GyroX + tBsixaxisGyroX.Value * 2) / 3); - SetDynamicTrackBarValue(tBsixaxisGyroY, (scpDevice.ExposedState[device].GyroY + tBsixaxisGyroY.Value * 2) / 3); - SetDynamicTrackBarValue(tBsixaxisGyroZ, (scpDevice.ExposedState[device].GyroZ + tBsixaxisGyroZ.Value * 2) / 3); - SetDynamicTrackBarValue(tBsixaxisAccelX, (scpDevice.ExposedState[device].AccelX + tBsixaxisAccelX.Value * 2) / 3); - SetDynamicTrackBarValue(tBsixaxisAccelY, (scpDevice.ExposedState[device].AccelY + tBsixaxisAccelY.Value * 2) / 3); - SetDynamicTrackBarValue(tBsixaxisAccelZ, (scpDevice.ExposedState[device].AccelZ + tBsixaxisAccelZ.Value * 2) / 3); - }); + sixaxisTimer.Tick += sixaxisTimer_Tick; + sixaxisTimer.Interval = 1000 / 60; #endregion foreach (System.Windows.Forms.Control control in this.MainPanel.Controls) @@ -131,11 +126,24 @@ namespace ScpServer inputtimer.Start(); inputtimer.Tick += InputDS4; } + + void sixaxisTimer_Tick(object sender, EventArgs e) + { + // MEMS gyro data is all calibrated to roughly -1G..1G for values -0x2000..0x1fff + // Enough additional acceleration and we are no longer mostly measuring Earth's gravity... + // We should try to indicate setpoints of the calibration when exposing this measurement.... + SetDynamicTrackBarValue(tBsixaxisGyroX, (scpDevice.ExposedState[(int)nUDSixaxis.Value -1].GyroX + tBsixaxisGyroX.Value * 2) / 3); + SetDynamicTrackBarValue(tBsixaxisGyroY, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].GyroY + tBsixaxisGyroY.Value * 2) / 3); + SetDynamicTrackBarValue(tBsixaxisGyroZ, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].GyroZ + tBsixaxisGyroZ.Value * 2) / 3); + SetDynamicTrackBarValue(tBsixaxisAccelX, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].AccelX + tBsixaxisAccelX.Value * 2) / 3); + SetDynamicTrackBarValue(tBsixaxisAccelY, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].AccelY + tBsixaxisAccelY.Value * 2) / 3); + SetDynamicTrackBarValue(tBsixaxisAccelZ, (scpDevice.ExposedState[(int)nUDSixaxis.Value - 1].AccelZ + tBsixaxisAccelZ.Value * 2) / 3); + } private void InputDS4(object sender, EventArgs e) { #region DS4Input - if (Form.ActiveForm == this && cBControllerInput.Checked) - switch (scpDevice.GetInputkeys(device)) + if (Form.ActiveForm == root && cBControllerInput.Checked) + switch (scpDevice.GetInputkeys((int)nUDSixaxis.Value - 1)) { case ("Cross"): Show_ControlsBn(bnCross, e); break; case ("Circle"): Show_ControlsBn(bnCircle, e); break; @@ -358,8 +366,8 @@ namespace ScpServer private void redBar_ValueChanged(object sender, EventArgs e) { int value = ((TrackBar)sender).Value; - int sat = 244 - (value < 244 ? value : 244); - int som = 244 + 11 * (int)(value * 0.0039215); + int sat = 255 - (value < 255 ? value : 255); + int som = 255 + 11 * (int)(value * 0.0039215); ((TrackBar)sender).BackColor = Color.FromArgb(som, sat, sat); alphacolor = Math.Max(redBar.Value, Math.Max(greenBar.Value, blueBar.Value)); reg = Color.FromArgb(redBar.Value, greenBar.Value, blueBar.Value); @@ -371,8 +379,8 @@ namespace ScpServer private void greenBar_ValueChanged(object sender, EventArgs e) { int value = ((TrackBar)sender).Value; - int sat = 244 - (value < 244 ? value : 244); - int som = 244 + 11 * (int)(value * 0.0039215); + int sat = 255 - (value < 255 ? value : 255); + int som = 255 + 11 * (int)(value * 0.0039215); ((TrackBar)sender).BackColor = Color.FromArgb(sat, som, sat); alphacolor = Math.Max(redBar.Value, Math.Max(greenBar.Value, blueBar.Value)); reg = Color.FromArgb(redBar.Value, greenBar.Value, blueBar.Value); @@ -384,8 +392,8 @@ namespace ScpServer private void blueBar_ValueChanged(object sender, EventArgs e) { int value = ((TrackBar)sender).Value; - int sat = 244 - (value < 244 ? value : 244); - int som = 244 + 11 * (int)(value * 0.0039215); + int sat = 255 - (value < 255 ? value : 255); + int som = 255 + 11 * (int)(value * 0.0039215); ((TrackBar)sender).BackColor = Color.FromArgb(sat, sat, som); alphacolor = Math.Max(redBar.Value, Math.Max(greenBar.Value, blueBar.Value)); reg = Color.FromArgb(redBar.Value, greenBar.Value, blueBar.Value); @@ -398,8 +406,8 @@ namespace ScpServer private void lowRedBar_ValueChanged(object sender, EventArgs e) { int value = ((TrackBar)sender).Value; - int sat = 244 - (value < 244 ? value : 244); - int som = 244 + 11 * (int)(value * 0.0039215); + int sat = 255 - (value < 255 ? value : 255); + int som = 255 + 11 * (int)(value * 0.0039215); ((TrackBar)sender).BackColor = Color.FromArgb(som, sat, sat); alphacolor = Math.Max(lowRedBar.Value, Math.Max(lowGreenBar.Value, lowBlueBar.Value)); reg = Color.FromArgb(lowRedBar.Value, lowGreenBar.Value, lowBlueBar.Value); @@ -412,8 +420,8 @@ namespace ScpServer private void lowGreenBar_ValueChanged(object sender, EventArgs e) { int value = ((TrackBar)sender).Value; - int sat = 244 - (value < 244 ? value : 244); - int som = 244 + 11 * (int)(value * 0.0039215); + int sat = 255 - (value < 255 ? value : 255); + int som = 255 + 11 * (int)(value * 0.0039215); ((TrackBar)sender).BackColor = Color.FromArgb(sat, som, sat); alphacolor = Math.Max(lowRedBar.Value, Math.Max(lowGreenBar.Value, lowBlueBar.Value)); reg = Color.FromArgb(lowRedBar.Value, lowGreenBar.Value, lowBlueBar.Value); @@ -426,8 +434,8 @@ namespace ScpServer private void lowBlueBar_ValueChanged(object sender, EventArgs e) { int value = ((TrackBar)sender).Value; - int sat = 244 - (value < 244 ? value : 244); - int som = 244 + 11 * (int)(value * 0.0039215); + int sat = 255 - (value < 255 ? value : 255); + int som = 255 + 11 * (int)(value * 0.0039215); ((TrackBar)sender).BackColor = Color.FromArgb(sat, sat, som); alphacolor = Math.Max(lowRedBar.Value, Math.Max(lowGreenBar.Value, lowBlueBar.Value)); reg = Color.FromArgb(lowRedBar.Value, lowGreenBar.Value, lowBlueBar.Value); @@ -476,12 +484,12 @@ namespace ScpServer { if (((Button)sender).Text == "Test") { - scpDevice.setRumble((byte)numUDHeavyRumble.Value, (byte)numUDLightRumble.Value, device); + scpDevice.setRumble((byte)numUDHeavyRumble.Value, (byte)numUDLightRumble.Value, (int)nUDSixaxis.Value - 1); ((Button)sender).Text = "Stop"; } else { - scpDevice.setRumble(0, 0, device); + scpDevice.setRumble(0, 0, (int)nUDSixaxis.Value - 1); ((Button)sender).Text = "Test"; } } @@ -538,6 +546,8 @@ namespace ScpServer sixaxisTimer.Stop(); for (int i = 0; i < 4; i++) Global.LoadProfile(i); //Refreshes all profiles in case other controllers are using the same profile + inputtimer.Stop(); + sixaxisTimer.Stop(); } private void tBProfile_TextChanged(object sender, EventArgs e) @@ -838,5 +848,10 @@ namespace ScpServer { tp.Hide(((TrackBar)sender)); } + + private void btnCancel_Click(object sender, EventArgs e) + { + this.Close(); + } } } diff --git a/DS4Tool/Options.resx b/DS4Tool/Options.resx index cb851a8..88194df 100644 --- a/DS4Tool/Options.resx +++ b/DS4Tool/Options.resx @@ -117,464 +117,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - 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 - - 17, 17 diff --git a/DS4Tool/Properties/Resources.resx b/DS4Tool/Properties/Resources.resx index a26ee81..5878c30 100644 --- a/DS4Tool/Properties/Resources.resx +++ b/DS4Tool/Properties/Resources.resx @@ -154,4 +154,25 @@ ..\Resources\Pairmode.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\shell32_copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\shell32_new.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\imageres_new.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\BT.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\none.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\USB.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/DS4Tool/Properties/Resources1.Designer.cs b/DS4Tool/Properties/Resources1.Designer.cs index 5c7cf75..074e161 100644 --- a/DS4Tool/Properties/Resources1.Designer.cs +++ b/DS4Tool/Properties/Resources1.Designer.cs @@ -70,6 +70,36 @@ namespace ScpServer.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap BT { + get { + object obj = ResourceManager.GetObject("BT", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap copy { + get { + object obj = ResourceManager.GetObject("copy", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap delete { + get { + object obj = ResourceManager.GetObject("delete", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). /// @@ -90,6 +120,16 @@ namespace ScpServer.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap edit { + get { + object obj = ResourceManager.GetObject("edit", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -120,6 +160,26 @@ namespace ScpServer.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap newprofile { + get { + object obj = ResourceManager.GetObject("newprofile", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap none { + get { + object obj = ResourceManager.GetObject("none", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// @@ -179,5 +239,15 @@ namespace ScpServer.Properties { return ((System.Drawing.Bitmap)(obj)); } } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap USB { + get { + object obj = ResourceManager.GetObject("USB", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } } } diff --git a/DS4Tool/Resource.es.Designer.cs b/DS4Tool/Resource.es.Designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/DS4Tool/Resources/1401402547_menu-24.png b/DS4Tool/Resources/1401402547_menu-24.png new file mode 100644 index 0000000000000000000000000000000000000000..de607fcb2213e10866c4f523fc5bba8ea5964868 GIT binary patch literal 3458 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 T^}8ZmNZ?0FK~26w_I=?0_=xjJ delta 26560 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 diff --git a/DS4Tool/Resources/MultiTouch.png b/DS4Tool/Resources/MultiTouch.png index 20fa67dc2cff2fec041e81c29bb30018651014ff..7ad39aa54f2eecff9b87976ca26449c1633c624d 100644 GIT binary patch delta 27648 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 HX2JghVk+hf delta 27664 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 diff --git a/DS4Tool/Resources/RightTouch.png b/DS4Tool/Resources/RightTouch.png index 7ee3efc3705ac5f8fb9f2cf2b05b7dcb9d58c0ab..95dab65fa51b0c94126e77f0557bb5d23438e9e8 100644 GIT binary patch delta 26464 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 Qh65ie3Yzk@vX){01G56U;s5{u delta 26671 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%0Aa8z& z12ooUOj^JRZn6e(8w+QO!Nr&BaxS(*@q~+OVFFlZH^73BGgZ^z!ynAtpIDOSv7YU^ zwZ8`;2*Upvzmg6~a~$OP=&ky%rSp$&^Hz$OVWaEvcW#f#`0~d;Uu4%W;{1al57x8r z(zHQ*9O74usapSP*=Duar&|T1i*t%MtqjX?7SFLSWoM5z#GRC&UoT%+tSBL}0KUco zDvXuwt5+Fn&owlX)a8YYSXZ`!P-pkAnkz^#P67iM)(?26-!YnG%@I9KDxab&5pIQd z(Q#Eh!1#DF6v3d^nzw4Ms(8D0FG>Xe&xdqHc5ztpnGRV}3jZs1n;tJySH_2-NG!Zs zr&)U(efA?b2gctY$bTe0AFPG;+rlrdJHrw+&odPI?4PiyxPUWDE9U zOM6_UaNOk%Ghge*^A9@bn=PF7CzB|B0F0oSq8L-zxS;j0%%fdz^1?9pYTuu5G@aG# zg~=3o-C43-;Qirbvh83Nv8|eg;=bjKaF_gJ`mMlS|F5#_nb2B5U!g@dw8MVftr=Ai zjBQLXi|Z<PxtShU~06d()@xuJ2v9(7!IHncYh_G*8@MZ8@0JD&g!@? z3pl77stvh$r#C{r7IycElMGLClg}g8it0qh!(Hp3=&tky|Div@?}`ass&+$Od?ZVs zDcDY-Ozbq+7y~K~1M`mdcHSK&&uZQIuLbSXpqqQ>)%vrm^(Q8+fK?N(zjj%h3quH4C!r8Iwa z=PixQO@G?(_PONc(&E;FSkq=aM`3^4<0+f#uXgIuEPHS?@=DnI*a zeKwNL*|R28D=9qjK+|p>Vcs~u(1UHeXY}op@qZJuya(P`%pW5^4caO*7AiA?^29xQ zR|#K|rOLq1z}0O>LHMcoeS(_*f9;Yd-I$(thyG|BPJ#=ob)M%Ahkz8qqKkxWD>Xi z9C8oez!%@G!)lDYX@A`|HWAsXmgmSu8K$iYi(zi`xwjpsxQa&wA9pZjoZ+jLu{i(W z4%rwo4?ax3V+^1gfHJflcS={Nd7*C}s4k4xsP$ES=*eN3(bt9qM2UWl)o7+yb9M4( zc&aQet%N)7_Zm*&WjYPTm@UbQMVBSJEVJ6t>b9-eeUDe&KnMg~nn%O7-9>voD^b3luR0}Ol+M6k~g3<1gyjzoB|E1D(%*M*;CV}hzlwRO7h0i9c-t=978 zD1DyqQv{gO2ldZH%|6<6$-e_*(Gz_7srG{k)mkV`-$S+wf6-Z9 zF%r$^r{UcR^nNiV+H;lUb1txEKl)LF!)T4p@Sq@+)3G| zo2TGMpk1DX$6&6Q%iEfdQT+s4yuT$m=*(=Ifx>2@Iqwz(Siib`fB@iUUy0}c`GQ|XYClerf=~}Jr+2w zjzj=!=gV9|)erN$$3L{eQ_ifSCe@zq9B5WB@}N4OqM|vUhF9eOK69 zTFIwsSJWnmX?O?_qK#rJ9BBokhBbDTVloS@4^OgBF{r}wf`WoU4|uQ>B|#p4!+YBw zY_Bj-8ViQ%QmYZp*3a=`xfxRsgE^|{oXi-&W5gTKTQXKSn0b~`l_OszyzX_^R`>vZ zZk_l=i|aW_?d!>MCSD%9q@e*vh31M{PdSDH6972C#sqSEF?|zIlBM5mculLs`Rdaz zESfUHs@0FjyS0q1`2x86b(!ah{f&bpYQ_bHkag!%2q|ZIp#8K1u8#GD*I>?=1d1*U z8C3^RGkgojVPc;s(nI%jua+`I1;on9bEfb(=I}kkInV9AzkzAIfX16ib-C(5(!Ih0 z|FFEARUFsd4CTsb{Covu-&JTpwTQ#c`)nT!S)|e?DM71ycx>o5=4epM6wkN-ed#LV zIgp*p_eC?AEchBDF)v@;3M*u=lqy=N z9)6f2vj_Y;@nCSrgX-qQbiG2uB*1^%lm9%s{?thUI6_c3q%tc42!Sv0$7=i(-lw6e zi(4fHJLsM9-#d9piGjCLn`-SuRh|hm`dRxXsUrTm)^kMFR5i#^&~CI6#81swlja zdbgpLMsZiMnF$!ThOUp=`R{gXjL_P-euB}(0Dkf9^5g6 zY()KDLdzx!F8xNNj?0sL|22B7H4`tIT{+N&U0cC}iw^QOZv8B#D$S(TXUp^}i;Q!q z4U4`atpASCmoAsm8g>RLJG~{6G+k5(^uw;!O*ObO2hiM7C4X>&jTzSZ;G`4Si4^H6 zOxIgF(r_|Ujo25#brK@&paxt%FhwC71!ho85|$aPST~{A6}uHt^8UkdEc=yi-=v;e z-=tuc9o{@z?x@Ox?|qD|2KG zSc&p+%2tyT;X=ScP{>A%Qw}FZoOFS@^EvugPLf(L?ZuRc`)T`5P=q365fjhW0FH4qw|VVL=XW|#E8*T>xDh6kV2m9B zWvUY)%5kMg;bG-p=ap|W&)AgYdA2UtZ8+6}sX~c&*|_RH^yd%T>({Rz{c>+BEgpoxVGvv#->4sjH34bR5Rw*!(W&CxLyr5ZYO&&~gODmMlE1Xud!k1& z?(oi1qx&KhWCdc9S|Hq@MtO!ZCMBMH>T|$nut7p7VKoK2NiX8h05SPvIU zHn$I(bKdR*YJwHm^ROK7BLuo%6oHHO#*pNNw=8>aWNA4IEPzWz}r4ac+bCwy?xJPJaZeXi?++Wd*jLG%gG_hK4j3;XE9Dd@5)s7H>g zqwPh+3@+4QTD01FZ^1T0GsRHa}cm6xV!m!x+i;%%c}ziiunw)>nK5*At2<>`FN(obf%uWZp6nlghZZLK1hG}6$MjZZwn)DP%@=3zdH22^`O!tce zDWX0}-r{7VL<-Hv^*|GTlvT*R7r4i3R#U=ixBka!VxZ`T@bE<3t z$pa30j?JYYZNF$^(=Mk~@D8eEIma*mGDr+6_~XO@`Yw_du=91O=&O`ZU;n|_A9;#G zgfm(SG=wvyrR6W<7=Fg{nwk{owRk$T&_ za)efhjr^D*AdQ}>E*6*(y)r%Mdg8HFJ@&5pYH_~Oce-SgdS&sV0(bH2XIW(e0ze<@ zXF(0TPL!WLiRO|ZFuZy{`_re_RqAo04QQDSgAP6vyT5{7NXR7S7XGp+mn%k}^>@LU zIgtE>s2#qsXEq`hvCrZ{HB)1cZ#4UA-Ph_b4V@f-IlS1p;ss%SIrZ(DuqgZ0?B=a7 z-4|VQ-$})VIURqyV>{hhZKAHe%a97avrp2UsqIcBd#%|t2FMms;>LHRn_pFUIQrho ztidPMqibYj?oSF&Px^?q(6e}NoZP+DpYxmYV88$Cy}ft>{mTx8$voA~z^4Xwn4IJ8AUIgm42_Mk@$w{Edx3zU*bJp&NxE{LdIlcR)H^lh{=nog)9Efab5Biw z7;rN<+k@sfi>V;1n2R};fRc>iEvpDKbmG+k>SloT> zzq{iu#=@I1hZPVFfKcW{9$g5J*VjXGDO)Mhgc2L~w47=`u%7Mg>N}H;a|{Bt)pR(M z*;;-xR|zMg5V(a3MZj2(VT-ow1%RIC0C+2$3_Fc--3A;ba_+k9fzRW%)BjW$<@iA zo^vG0+bAiv(|j`f4N5RcFCC6Qa@4>zd0g=ZJ)vcc;Qv=5Kl`s42X5ZelC zSks=Ft%w}u9%E#$abgJge9*Wn!a$!UnTZ#{q@hDV;`AjcaWD)T?nR6j(EZVLmu@`A zdi^alt#|D@81>1(vM-k4|FVDZucov&vee726qKf(7=$nWK-S)k9?LrsjB}NL+IrA5 z`p=4p55ZaIqFeAO7w%nd1sMjB_y_UmcOE4#ozE8bEL2wa&O8teo-KCasHeOjR8I-S z^b311DH1UM56#*9o=OymG3Hg6+qWEhhPU&$eqmh3wKh*6e{M=C*M>w*nyHLlg_`og*BZ67Fs5L*Q#*%v@d`@xw0N z$!aGjg&Q>mqyA1{DEwIihw+7K_PTNJhTAyj7LKmzGvx1SWyT%{xx2r5SBFuI_e`>P z%abMMHCshdaKc^!iF=BgkZl}CGJnatsJc0o~yU1fk)|SaSB6X|Y!8?ftF_%SJiM}i0n~(QdlMu9- zM-`7EIQXSpGGD7CTDF>}u42B3(0G$iC^8ZaVCNA&cW(XlU!YV05hUWT^UFs9cct5f zSuqOM2Q8|S+;0ok5_1GyHV9)(@b3^0W)M5~eC=qka5{Mh$M+$Yd*&9tv!>_WH`iNl z4iDeMRBI5hA9$-M@od%v69~nJ2H|d^NQqfWsVbWMdICfPv&p)&pW@ml&I>S2R=Mjh(wo6g_TE==@0hwlBg1P6Mg>~(5#vH2Ai1*ZAwXk zTFID#OCDYjU2V~^kl8Xr;BlsKNkjZvEDc;2wv+LTxo_JqxsX3Ujubg{y<3ih2vZ`_ z*WW=PZRc4=4bn~^m|A1j_3q$%;e+U}vrL1MoR1}=EUGG|k4ryaFZg2Wv-4Q!Q{+~E z2`P{-6HZ<}1G%>0Z#4C^fM#SS71sG}{QU6e_cRda#8As@`w;rf=V>+w&fm+>Xt!zwI+88g{8ugY-IY)(0%uH~B!ZmN)D z`rrU9qNJMuNQI!G4AWMMU<6I|xv{ll3xJDs$$8l{i>Ae4N|2pyQs{4+&_ThM3dmqJ z&Tbu&gcYDM)~18b(%17a#_R69lS7Zf&|SUhek@Pfb4>ekIIm zNmm^|&@nO&?ac=(z#dZET*=iorTlaYFk$nxBO?F@Ucc`wOdlZ8iE=Spb3!67Z@$&F zIk%>~bpjy}5$A(+2~LUN2q+gAy!V6K-r-AL%A`HslrJlxgI@yhn|TLK)30}1-&yCL z9wTNw;eX4rE-0K4y} ztKw?<*yKYI<%pu_qPA# zj~h=mAl;yEdyQEws#s5_bm~Q8)YqSNfs~GFTog$oI|LEO5qQ7}jMa1GwXBb((t@Bo z`A>&0PG~Es@CZ(iI6hvEYo`N(2g7q72Jc2oKsiUPGdp2;%qPV}4+fu4O$;<&vw^2L zXa`4ZKTJ|?#*Ht3u+4goOUCVz2mgxbt>*=>5vF=gAX|L_bh-8lvp(0IacXwJ&SN(H z9+|Tk5<{eVSodYY&RGaleqK~NrZGq56Pz{q2b`xS6Y(?Gog!1NUhw7>JKDKGOh|2h zrf4CNlTQ-;D1oQY$n>o_VT3Di*nlGX#UCAO)jx{f#J6jkH#8`#S{LD1_{Py2ZyznS zzklGYexZ*iaid;4IgEqVsao zrW`@Ci6To&OY=N1;$?sv|JOkwfccy(Z?Hh2!@aMzo++|NR0JHklM6DFn5wWj_*Mne z>?7v-N&5C~ZqWjc$(`Z+hEEd;Z!MH3g}xu(>48FJD8LP~!%DOuG7_dj0eR09XBO%4 zMmvIr@|@bkcj`%VuZs1ckO1Loy5F)gG94=Iq%7(fRT|ihW>N4}j>ZDfStX)FfnM@g z%phD<&qzEBAj{2nDBGv#yPsXOYb$EM$&V``5Qf7I!SfP>v0&=Zu9EOtEvlEQ?PNZv zEsdka>$}IhCS?66f8Xg4W9n7Map)==)0e_9siU^zu>0HJ>MIm$yJ0S^glMhi_^v|V zc`11NDB#ZJ2?I_B;+=l44TGhBq6rJ^JFazlM~XHY*SE;HwuyVZoIvY4vx1v}3^I(I zldioVf;)kXA%{ZX5K1G~s8$z6G5q`M%e>Ql>1yR-(FER%s_2qlb_RQ*l7SlcPZo=& z-UPB)!hbo$ZXfy>ADWL}y)FUOi-bR?en~JJU9Nh|GyxB1f*>{YX~jB#IcI-^fz?}| zwRw9+Y;zS-x?M;em2?C}Wq=csGFhxAy<{^*r~JAaea8ee`5`&3)!(H&TBl3)HUAUO z%f;3#L%X}x7bB)z^~qJM-%npGrI#lF5!%_Ub7z_SOWyL4>WBk5DoDGL`WMHeS8SCmys3a&jkvzqt_ zBy$Di?l)Tu8-2WVU5#_g&b&uQ)b9IGwTHr5A@g+s`^+`UT8l!)H1QTjW<&7y)56nC z#gqs$0oD^E$>VQgj_Ea1Qqku6UdY_mnnXv@k!LpCpQ_;JDsXvM`pd~p3<-snavvF_tNwB%zP zw5t>YILvjoxgBH z54=UA)u2!6k12Dian(vGMlPYe|AHQ%V#zN*kRoT3d=-PqyWU~XSCAjw7Cn3H3=*c= z`B$|}+l5ALf7+EDsc0v?&sMN&)PF|#k+IEH+A_&%q0uHXhLc1{w`LSeuR%EN1hSk` zP`YkqLiQW+xr3@NVjm&-`#%ZfgtSM&cX&9PHxW9&zrSCFAG7t~A1)v0?5tkrAWG85Be`)Cs7YhX z6`q3>mw81qO5WF@6-J-rSUNjgcmg%gA3j}LYCEGAi&txmVxTF`nAcnhnfPDQg{d9& zV(fN@bFE$*iQ^%(IbSKUnv6kNKlA?PbQu?R*=A68XFaX+U%$Ygkla!{XW>QDe$BTC zxj|V6;rXohpiv>VjI$ZyugmIXN~d^$*t6%7R#d!i8KTEh<&`zrsYsDwaC%0$vt-Gu z6qDMW(>o#2c2J<1?A5n&tAGG5@d*uNAN-n6_TL^WfFCLHtKq%U{pmxHy)x59JNN?a zcj-*aSl{vTjlLJ7$IIf4g2Do-d8Bzb)jpGW7Ug{fL>Il~8pF0wfB@{eIM;XS1L&4n`74EG^FHz2kc)_0ysgTsde?MCUQ&wc?>?+2*lYt$qoY)KUfUT46N&ICx&UOv^`1fJ97VjN z8;@vh(uA&_dhYtiIC^6WmXnjjwqwAYhDiqo3V-UndGqHGb8~m^hv&6X_P^@G^gaIF zEY#KM#dCg*zD0W_99_s~D!CRp^U7)aoH}Iw;Xed$sPr z(GH&Y$x)c}IaR9O=(E?abbT)Dx#~xmay}9EQH36A-f?)h_8<_db#oa%U{yf|3a7kg zg7C#?v1NQ@15~$MzClM~vP{oR^jv=U;92f&e4yZ1uG?R_{+Cv}4|@-}*ZvPEEbm|m zgXz>vmgrZqK{2Fal_{)jZHeEtgv=5Yexi=<@W*aME*_wKIi$&@h-H_ZU`#ithLOiOAdI+-X*3WUo0#ZFQj~Eg3{1bb?3n(}J!0-sbRqmL<7aM# z{wU|D27 zPOMS)^-@sC<4cFl`8$S$O7||BAkJ<8@`nGH@0|3>R;55MCI3AQ1;1&$u^aA>m3tTg zP~Itktbi!nG62~nm&~~K1G}*K9(DHkl>(w-fGQ+>L9!7%s~RvMA(uMjz^(w##*;3k zW{)n?rUH_@91p&nWd~hVJ@B9tKPdLO&SRUV^{ePvtC;xrT3u?e-4yTQn|;b*jyXm%{(t(bc| zrLS;O7+~vTu$m5NaH#Qe;t0+Ry6JrndXQ=`B!)gxjEgG3a-Q)*i<8n|Dx=~blX5s3 z2k;1;)O`N7S!A6jdt{CY9eyP^@2WB+Gio=+ION1kEZ(AA5f@tfd-a@MKdNP9fo;h$-1wZa$lkvq4C~F`<(7JH>>p<6~vG zuaz^c_WywNlar7;v$6?8gH1?E|Eiw!Ev7GDCEX_H(HH)(S!%o2dY znA(hE&A^|d@58a+koa75h(L#vP+?Y&Yf9m~H1kfof+oghHJfj;A*PfiQ%#KQ9h&-q zp|c+79Lk{ypa{YJ?uHpW(OO-u!>JB~jnV!=YbMp|dtXq_=?PNe9_CpHcS+%vp&^c1 z-+g`8^;UAUuc#-J&!oOJi?8SomYj z1KmzIQ>+oDuO|dgE#l~-%qV$#-&++Ov@B_JZMncZacMaki?lh5Ox>%0qIr*H(_)*q z8WPD5XmYlvCd_wwE&4X}_{re@@e1yE7a8`X4zvX3W=n;(_E$I$ z2zIzSvYdSorJ=g!mTixXmYKv&_Uqe~2BP07?8)U|*Wl$A+Mv9BL{|J)-6+=rQS_l$ zK|w(@XsdCZyvIsAI*H}cbA2sYVARDxEB`hqWzrab*+O;dB0|#HSRSs zr>+l`<$sOwBi~IR1I_man6h|!Npag(@ZkUg(KIY?*Kq0Z4^gU;`GovV>}gTNGv;3c z%XJhc6^YhUP5BoCi~sr-OZ*C$?G{?$+^KZBZO0WWBYVYsBGdI*Uiq4w5`bsR5+6WO z-d4WvRS!0nQjShh%pXuEn@Jy~yBpdqXqa)CepUEhd1bO`yZYb1D=D-}7z{)YrEofQ zU?hPI_%gQ2WT-Z9l)`nn9?PW3wdcAYgbrT{iiyRjmE{~QH&)gja&yjGFLIAesf}V) z?@QIU07W$;Q&c6?7N{iAhEucPcVb~f-+anoIWLDhq$*edC6O&KNi(sIg~2J-pyn1G zvj2xa4^~uacy2>StD4YhcE2RJ>Xk{|i>)c&&jeT->`%}CMcq~93*8_bqXT!|6cIS) z5?_`5=6!$gaV)K-=w{%v+gMhqAMt>YPHRxeifEU)OV1 z)8*ttYDnp4`8S%HRv{sDCQa@GnS6O@J2STHN&~TpxW`~-m5Gq7Y=mCALFN$EcHDUgF7qgL^M43*|Ye7W@@p6+8Hxib)* z_7GxJKt>8lQ0Pw>X8TOR*Bs5F)71zzvxsuf5*Y0bdF+hwf_TiCfR2)1}Q`tm1CzkuPN%u}HT}boeK` z^M_iNbe#@yK#g4P&wqe3EV!k1j1VUpYz9MQ zJbR!`(Al(fj4Iv_>-j$iOA6Ji{l**LbZY47 zSh~NzuanQr{PL52=3-Wp1E&80n8pHB&A=Gy_8$(hiSWWm?<}QOCwgNRIui-xJkt+; z*x9Yv1aq=(xKgF*x!FBi^Qb~8fey8>P{(K2{Z>uI(z6%ov@gekvnj#e3)uNJp2EIt zEy;7TFPT;gskcQYKtj5`C9o@cfur>5o>)XuMg1+A<_=WF@3?z{@t>;!VDJ$%wK7pSC%e* z)mbWWOwQWzbIB2B%OZB)zTY`VgHSpxhsZpmbpPS{n^OOZr36b8-aj+*=G&5^Hszo2 zP4x`U-gA__@E~OYQEr5ZZVS+uX!Fbc=iWm&SGxAw{G$!y$6|X!W*@POIfWjwkm5t0 zN@YZD$G-o;1v2^eXO{D=>8#=xs`Iy~D;A0@LT|go)kg~YQbh`>{FLdIa&py5u2sd3 z8HyGV?-nCu*bT8s2o2qh;&Z)sUQqh%6?pZt8wL4%j|U%mmFSC&?|^E=x)81bBF=l; z-1-gFCX?j9iXXbN<>Z=%A-iBg4jqv*uqgRAPw0ZvxljA?(pVb)EOi7m`X%=7j8(%} z_RdGyr9bzhCh0F+QhQ;XGfliv{V+y4Q~VpMN~S3_(}B5*XE$p=?$3V?B4PDUAhS70 zm21%DeLd}E22muSMeIM7Pu;gN1R2WI@yFM*Gcu6YDtZ&#;u5B&pPJLAoT-D@E%FT(QNT~D)O)ycOsjaGxS5c4sBh(wix?MPpTgxDjI5dyD3pe>eSid zx;*@#_(BbAM26jne}9>me0$?=P5^(XmOz5rX$yt+!-W{|_sA_zuB;g<11T>KwCn1- z(Ln?k!eSIV)T3Wf`tlDSl4Ab!ph^(?3&H8#a}3a~fG>G29+%Z4`Or2qAZ5DJC61;s z%=25X^FgFDli%Ih+O@`A{#Rb!4I8Tp4SgqjHuRN*PU-DS#?(GbpPvEC%-;y_7M)OJ z$<%#|{jG9DOBoV;q$TC zEE#@Cmv%26J^Fsm`#+{_<~%-_X5U>_Zu$NdbUjOgE-3Cs&*Fp4DPr=n z5%CjWN%nN957&l13)>H4r~FOJxom4ImCLFn3O&LA2Al=!mXIxVA?ObCZLh0?#ed{D zqhN@qmNolR%3d8SJl~e+(vjyD4iB@;P|0CS>EQ@X9Geruz*gE%#$(6K|5+m>Tab*& z*vgzkEwYOP6)UTqo-O!_6?Zw+LEqoms%ooKb@uM zj9m}lNLiL4mJ71ft#R~S+Z_>ptHJFuz$4O1xVd?FHZ0hQ@=?uc!1~!N6#ty2myoC|_s4*i3?i+G~1% zOSvri?Ci4U8|8TG4e3oDUI5hmaBg#%MiM*TIEd!z@$=^>qM?@G*~8w|A046*+#1q8 zV&|$(AF_($m7Ra~Dlq%kdkC&(h9N!p6@>a!Vj-v;iY$?OkAA>P6-_fqpr2~gLk2kY zsRqNI6XO4{BrC==oc>iGc_gyYd*0pxq#(k6i9?aW!1l`{kJ<7DOYd?#LTiPns_T|K zrBCRA`vF?&v~VOli6~sht78&4{H_w)9?1Y!omyhkFS+nk4kifcI#5@1ri(tB=KvK ziB4#t>SWYG8KYf8=|gFXYxt$JI|F28>e0$fD6)vGdU*>%k@)BK3%6t)r-KN^w$K%! zLp+Y;PX*jxiS|?{>iKI?WkLZ*V}-XtR@q;SDx6cKn#NxYx^CD>Cqt9U%A*|wMDdN@ zSELrGBd=ac6RrKo%S#wMZNb>}+Y1@8eyg67GhmC+Ngk2sPQT)JV4I%tB193+vr`}- zHT@Potk%hkMI=ibpC!hSA~&G)D^w=+{`wV*&-S!GSvZjdY{JH zeE~6q+?p@=OVaSRwCv~PmO#>CTe{~T{P-E?B9I*yui8~6wbn|Es(Y_PuHI}#F#(P& zt_i-Y3KfL(3yLXBfaHJehrv{KwsgO$+38=FBJ9prvU&8NU!1ZOy0wVVblFox;*Uje z4;pmIilh8Yk+}Z-5(LgJuOCJ0v@kOZ%q=WlFbOz!4H{iDIe6{yZhc@>PtDiJRYaRX zPQHcZaR;#|J`exI1aHzG$lt4**iL(>@|8dQnz9;3QPoLjS=YTrt0#z>fsY2_zpe); zq(K~pE#%5v+*STldt8*FPu+tno!x=5sGia7Q@U0LuZ1T6B)?NWH4bPUaJE`yXX zULx&eN07XMjMmH4#4F~d*LKwIsajwooiq4l;~xygfyvy7yYGbs@L5b7bAzt)b^)w% zr>@k3UEWv1@yc8naD;h0uOj>tbBPpG+SMHduguFbk!&(?r$@rW$T>XXE@-7}4tGCW zu6JXc#*j7uOa&{B*W&8WFz@9?xc5k{4|hl9?neV;>yUCzy?^@)!kyVwra={s-K^pW zW`WG~v%O4Q_;j}}Wc9zrsTokRv+J!=|0*Y(nhC+8IcJ#?DXRpHn)(kCwA-&tD&9+F z+Ned=bBi7yvj8TMjj~*cMkUJ_?8H zb)5Dzvio!5!KY2gNMK_SI(b7y;Y9etrWonJ4dnJ6{%R-m5pcrS+Klp+8;JP|Yf&Km z4=BjWAVoXphes5@SQA4bx%n*?#q|+8AEC0XvqLd|y}kYOXAm zU9%CgBN@}5B0BZ4KpA42a;#L1VH5IcUIn)qPfDFCls2v71NumO#(4GXEzhVqwlW#@ zPa5Dz$<9(><*&saDT2*nH*|6f!GHdg#Z=&%D*@&^r%ZI&tk$)5Eyy?U@1Daf1 zoBU5(u2(z@{!Qoo%O1y5KI9&E<&VxBCy=oy`{E?!qDw-``vs<>@!H&sHmO<4@>+?} zLiin#ZVV?y*;)D;twP>Rw8Tf*9n8RuA(kJ?B$`D-ilg`Sz(`=Z-VdsA9mrrU zWc%@!-bwIYpdo@+>b*VQ#3=;-9YCj(r+DeqI0dv3W7t<3@ z(>&roy~6pQdSI_iOgS2@vC5?MGid1;aAiHvY2ic>q@W}wKXJ5&4@ak%b+LoZPI+f6 zJ)za{%gKD{>_Mq5xn^&uVP(G9tJ(K8i-8R;-QoD4RKq9I9YY$wvGNjFjG7o8Orzh;`ZkE*tX{A$VgQ2D| zP*=DnG273Lm!PBOfJIy6Td>9kGV<+<1p7Quh@|O(t{Vm(CMp`0h?{zOKCBL3t0OSG z%-q5T+AI5##~s@sQ3t3=-ksP+C89rc7)^cg0~gQKO(0~9A~$HyWC~3hVwcH#s$M72 zZY&`ICz=thvDaiHUIHE;z$AKv3ut|S*>X&Hn38Fg^QjONeQ#W}c@rHpw) znxD=sf5!&LASIxBWvkcx$6L2~vqhlTiiwwBJS3XSKHi#X5nzofl&kqZZp1(jX}Q=MMv(Q4ia_AzXrS9Mh-q1 zb-fyZ>{bRTh7`y2tfy%50tb13fPn*D=Czj-K{Z7-KE9oamlv;MKLJi!^pNF$UKi^T znfj`s&*8i6??_b(eFX$5_S4PdyK{Yy(H0wPO?%Nn3{_vCPBSSyn~_mjeE5bM z=PCMCZq$Qk82(K3xSd^#!!Xv&lnjf%%WDQ$PZ9Jx>-%no97vn5hpt3oU2Eb+WWK3i zqx%IPV#V}p@h9IvZ#*}q6dUjG>z=qMv_yu~*XQJ`dlC!dN~@7c7&)9pM42tdMo0>_ zJ|BNwgA>OA-a$&vFrVXJ4RoaVr}H=ZIQcEpp$+JULh^|7s19aAx0?>teECLLtXVA( zIXjwWX5mGUuD%u)8l?$0wQ02&g9gvLGeslAQ~j25PlI>~rb$kdhJ&Qmk|L-bVus(C zW;SLl>~^?x7uboc&3o;Nu0}nTl;-=BwgOx7&s>Jl`c5rqw|>-k;urW}#S@`)?ISQ< zXhOzaq2PGwc&OG6@gzJj^js!x1CHxoxxd67C@SOVIsBq2yLLYnhUMK(92V{v$mlaB z98{o0>^9y6SP&3@@S?1zH4iPFU4=AE8qbt{Bqw)0}n3rZxQb zPWI5tRPBFss$oiQrpvJ3w8+0=B-=@)5ZE54O@vp9pKT2vvJ$m=`+|SI1CDCUUWA8} z(5=<|NMzv~IBvxqux5H!0bj>3Qf5_!COIT6h()96PHwbvp~4I7bdPS6#otwEf-bgK zj^uR57BN4zKc)2M zchEMjan6SN>B}me7A#-js8zHyGieMd15XjYm&u{ep>1Wdcv+KLyXE^5E67%7Xg6kP zH@XgJI+ZRZ2VdxD;tO*fXGB&{LS#pjcrG>(Ci5vVJ*e+9DxS)1Y-)dU|7gt=ceRL-|5X~Sx;UCeN)ZKq_oFIs?=*BOpyHdy1f!6#@3(}J!!gCRnui3 zL--n#?q>syE713|<{R?g$=z8^1)OH^&oPw@;MdSzsM-3RC6nke)o-0Mav0VjXO?$g zE+tN7nD|)X0AS3wc%Tth@Gu-1v}Kr9>o3MWlk%Oj*oiMWyr!1>!4vPrdMsVm*hVfG zs@%@77BB(l4P(n_??vw2T1?Hlh?8+l6tCNC$Bqbr!tSEkx+y_RMOLiOTt>0$Q^-8h zJ$}|@L4$*hCJ%SaT{@6no`QYTzx>L-)yqJKp9vY0LrFYyo)6J~+qPuk!~;?&7H+an zSN#1FPqGLx42q2NEUpk%4{0$VXm#qj_80qi^IV-DrGE+vcFud{kx#vQJWgK{rSf^_}@~%GD|@#rmrAhjK!7>$l$4;v>sN~&=y|f zon(fmZ=?t0B~c4%UFeQYL4C9>G=2>^0)tHFkum*r9D2=Atl6Sd7F74;u8Rv)0p|tC zG7lrCLmrL89utvVcX-^P3BrET!%$<=2T7~y7p82H*?alQ+iSM71X|Wp#?3lH#o78A ziV+s@O(u;Jo4HiXIvjJN(tEO+X&dL4UA3qWnO`2{tod+!4WL&qi{{i9F!Qkj_>`v# z#Q)obLOIw`5N~O;&5<0 z9Z|vJ!t+TbOHlS*=AuF5rwR>n8oIG)AySc?0I1)u{;+z@JjL_M+De$_YYA3moNdCKi-NV5|Rp#hTS_?t5Ul{oZSn11!~+B98{-1hubQc^#ru^R!-25 z&?G=ASv+bf*je{I9(zJF8H~6LQCgr}x^<|ZQ)3!B%lAv?*wS+|0&OidCIaYCm3w6x zw7O?zgkUOovg*jUegrRjU!HZa!58!Vm6GuH>n5+?lPngF-LJoY*s%fh6nEziZ$_7a zus>VR)tBz>~^mSg2ud|(j1Ko4wViS1=x zEKdC+Be1(|HI!@6N?K44mURi%uw}T~*Ozs8{Z1s;SG|jQtfNrPE1acX?p1VXF?Dbt zA%gumWcpRgT6@c|PbLuaJn(x>kK zc++?z`U_JOR+Ai(@x?&KTRl&&sVXY|?S)jDTy!(J#=!g(pXk?G^eKyNhNjeLxudq# z4xR6I#2;EH1KfuD=bP6vZj>1uat=W&Di<@B5P6ZCQ~LZWYA@)&=)k5!|uCOMX50^XAAU=FC3a!zP4=Ais~MoTP*NkN*3`kgQ{nYj=xgdtf%zOd8d zyd~>8D)UZGf!g@*1}Tq(0Es?wD5P95Y1pD0Ih^Ii5Z+%QwEx(#r4s1g8~Hcq#yBvM zhL6iD$4{EPS+4~OZo?6s)XX{VgaVE$u~|;-n83{@ylhD_sJllwB2hm{X_tgY)h9qJS%)x<@iUH$IF^#Z~nkMcm{J{ctR*q#Twq!Zc8M{$`_ zVD1Or{veme@AF%h&##C@TYd=Fw320CH~Nyh*q9T#uL8JSEf^05VNgfzPJ<)eY>&A| zfs-_RQ0O%YQzp7?ong?{NdI*!p~J zz5f`WQ7Cn0m1#tS7veud$E{57n>pog^hH(w`P&oaIm&ujNj-`;-`J z?k+urhOokUuFSi@58miihyD4}gMfsmRo0xhL>wpy=J&c^T&1?xSjAIkoe0jCCgy

mqCez6F2QsZB@kA67Da12ybs&%3zc#(o|I|zI&qYkM^kSy zjiGSgh!r*7{H6Ie51$woFmVl`Ut9-ma%RP1i?2<9gR&CPj*@Wd)1gro3Px!JQt_1T znsXm^T&vM&9Z}!n?5(`n?|%29yw2>lPDo(Uz(qm`mmx9t4i*PuAKA>6Oc;S6zwmf8 znfrAbw1Q&0{O-n3I<6{r5yt~3gcxuOQ9~JqsJqEY=w}WiTma$mYk^x)1a`hq;XlV{m_R9cD~3Ni*~eGEFDTOYbUHIV`ZZ zqwK^(rimft>{Yi#_0Z@0(pT&i;Xq3lsyxn%0}iOohkQwfg7L5%=9{TKmvJdbke{l} zxX9tR4#X``o8VtxF*;YxBKx)PXjJ;~W%0?vAPh6pKW7(Qk0sp_1ZT5k>7uVOePsyADd7gEvQV4U|Z@Wtg%sHtW>E$hkpBq+bV16go7j zO`P80{{2uIPpb(538w*iFVA`yfLysRLTm7Mo4X0LeOKO0rFDd=`5(OZqQh00ek$Mv z2D$xlf-A8;-$CbST6l&@WQLVuzp2H4!ep7K(T&M8@< zv8G|_)oPnpqI3CrmECn5+5T4xH)|M@LX#dRO{*O@KNEmtJL)T$kzoMR^SyG{Kxu7v}Y6r^lf_dwxNlG?u=!L&XTjlMBCVoOz%Zi7I6zM&D=n)kTyuKv9DZq5!& z*Z6isdm|79x9dxSSaivpc-Zi;D+eVN7;T4;LiLAl)QLd-GZMH7X>mXb^CJlB!4D6A z!vlk1jsBoFNq%hv6p-T>Vytbh_@4F@%Ef?Pq22W{=YUs6dz+vwxChjIhk#Z`YH(ZH zv(X=uZ}(>YI)e`C2ZsA(bc`}a6$L(-xsvtDVuRBjsV8ok^n;H*j|xh|2+>LNgO;+Y z>N>bH?!Vp5OF(p7HJ}(9mudEZ{|j*#G(M&FsB#X#rojMZz2E|RH;D{w-h^z?l#h4+ zs4@R;8LvJbDR_|r@wq_z@oGP z8iV>5!LNy9Ya`e(-zef<1lGJ4oVlD1+f`r6R=)cZ$V=85U$DO3>~Q%i@84IVgC`p# zcml)*duZjhrEs=%&NOqFqdt(KIQ2Cd*T-!-7ED;;aQp5n?RxYWfnwk0qqzteph#Q{aOu$5~=2o7i;!T|GiCgAZp$*VSj7U}}h{2TF$r(LZc zhe(Aov$5ek%#c?>LxP&!=?Q<17zPF!*FgQ$K85ou$cv#ck}w)tINv^ z0i$YjP|?g*q#_3mxto-F{L|E8bLk{Z!<_wF04y7bMx}|XpKjSV@hL9nDuN~D%CAX- zP6Q*SThruila(6DgVvKw$-)Vyod{%H*15T!8kP(Ac7v|qvR922HL1%oPd>7(tI3|4 z_&NOI@;O9|xm|sk1Q!lJn+&<`=L8%Y6OO+ul2K3$25|d(vyF*F(jWBqrd@gE=cK1Z zzy^ynFf){k74kv;M%&=;p)s<&`*)bi^T!LdQzx?r6Aq~Ybt!?g5E@kRTZo=pO%o%} zs^g>4ZfwVO?5ls~ZBouOWdq<&?q+FMVmj-%XjJUb%KvJE@$eITj`dl?d%z5b6qy6M z&70*&Kfn;W_J!s)Z(wy8-5cVvCLPh`x}>B3mQoX>3uYD3G~vD^0q%bU8;LoU+fKo1 z^&8Q4x+J0Bln^ukqJFQczF(=81ujU-=(#lr=r=v765fKZjw{W6Bkg6VN$0~=|HSyC zt)DUl^3`m$UrQ9{OFMv5gM~<)gCt8Y&Ru`lr_$3+fp(uidG#zq4ft@6vn+v5{bbkz zWx-$VwSPKQZTm68FOyRPd0pt#*-{fncSQ-`1U%Rq+upUQl!C=r_6%(M;FizPy2s2* ze7FT!x$u1TXj*8dUjEhd_IjM?kWbD1f}rFIjE!$7W*-CQ_hc67#Zllr6_8*m*c3SR z6U$CkAF91YZHCG(egD!zik@TwQ(IRL0>x?nN&MsG(5cC9Qb+09mAuydrq{w&6^gly z-f`LsQ;Cg@1=IPVw#nbBUnGUs6(JH%v}V9Ku;Jm++Man}!HdV1O$)jzZyG=4sA81%^K^e`_|l~ zH+@YI9D*wb+0DIw7)MO2lp?K_mCUU>GG{{vULbdVpUx{U$Ct@>T6A%s$UPkSyNk-G zCRsoQlbVpFd6_k4^0TnN`J$<_8(g&-CkBqqR|a+^9?||DXm<`A9ew*2g)cJ&E7E)e zgb?{dVa*HtDiM}?Ll&>piHgicEoGp%LMFi9y@=(qDjzI<$dfqyX7{?CrqS`^k*u(k{&2;r{0S1;2V|e*1FKWz47sPor~vokSC~U z<&pal4`keu#(hejGlnjLzNK7@36J&Lfcg2H`ZM)wy<^l}Q*9iiF#Nr6q-j{v=yuJu zk?%Taf+JTfnz~wO@)xt;WH-JQ32^->w-(#&N(nvz!ejkDKrF#`Y*!1QBa!J7Kh#tS zsX9DkC)`op%KLdcA@l%i2U9Hj&PZPg?4&eqvIFjb4e$mDiR_r0hP?NY7CF4=6X&3p zZ$2S?kgm4*QfaH2Awc={V|i#SZf0?R4lO9#%d2I3@aHN?Seo~E}%~t0uuNh(^ zdli`c7Z?=A8Ao231|;XmlP}Kn`GJgJW|j1N%V+L=pF_AtJ|GM~cE6SUBl$$k__JYX-S%%nP}z*CKy^ zBQ`o84`nCpN0yE^`^BFi=P>So7oCp}G~^>J+kW8r`S+}n1Vjqq0lM);e*XwB zt!?!li5mEOHm|)hM}T>LFk9hzR9iimwR%x3jCtM;^?-4;?xo%I(p2{>11)W3O>Re` z*GPo)uSBQrs(rQ#gwFb!HXEw_$F6ki{lx(8LGA!ox&YsOORt;tx9B7%=_iU%4!wFP z2DKL?Uigj$JeQvLp73$YP{ozx`e515Ero*$22wnU8~g#;;5#E)2n6R@YR%LAXaZ5L z2I(RwW4A}sob&h>2eHkTJP^h%#|=QwultkU=V}tOMXoyLV3-Wrc2bA!x$LOTNa;5j lKLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0004$NklA@m>I^IaUAHt-Q08DIp6*6ciy>~BuO-? zHTh5N5kBJsZd8&WQzQ1D;b!DJMGIc!#r(!~{HZ5915q$3V_mB!u)Zj|k8WgRT|pZ@ z<^g+Ei-K3njJq90zXYISHi}%epa!uXEPTUkiP+u%_NzvkEouElH1f7UY*+ZUE&#`U zETp@2EA&&yCh#M4bPKOz{{i;Uj^jK@RLbNjp5S>%Wgcr89HF@Z|C94s?BGt3fT#Ew zj2z=6SZt2dc3=uac!MQ$R={9_$C$)dyu>QpEuy*Qb0lAlZ+fcK++rceJ-o*OzGJR} zw$6+%uf17ZalFr;^blOUp z^LDyalI#V68w-Kw&>CHyU?vsUdKuu(8e}82*Bwu*GtKRmY=}mFrvDoNb6{=M&6K*7 P00000NkvXXu0mjfez)jZ literal 0 HcmV?d00001 diff --git a/DS4Tool/Resources/UpperTouch.png b/DS4Tool/Resources/UpperTouch.png index 3e99d0986e382a98b8f0547ac5a265a0006d6cf1..2487bb8431632a83d936d3732808778a30481d99 100644 GIT binary patch delta 27118 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 delta 27229 zcmX7vWmKD8)3yTy2oPxSV8tPLDDLi1v{-R&+@WZJ;O*$JqelnVzcSn}F@Aj_&VO7;#YeuQC`mYitk-P&cF5Pc#%8#n8W!v!IS)Yh2V#nCq z+{=q(V`F2^V^r+y^6N=t=qq6mCe%JxgM@-;SxPVL#iuI`OlY6r^ntcgj{~( z$$zZRD}t{m_*Z{$A<*?qJoyB75MuS8Gc(&4m+wh({PsV4VO@>9u3vdpczlQykBg@e zi2uE!V&V>Nb)U)b8s2YPJ3Bhb39V^+#&xBQSl$VGy6M}IKrnf&1Wa=lE|YCcsBm>D zi2E)4`%DAWQU(Civ_LEXmOrfp)X%36Rry8M(-qt=XV0%5aVnb6zgMhiB9yNlH9eF* zfLg2!ZjT#xRY^~$`Pg!!T}WAF^fP^RuX9JmBJK5BYnJm zG_HAcv28wiqV9gDXS{Ural}`fTM^3|YFz&?o){P;gC~BgglN0`cB*yUa?@IYnv2c1 zgY^XhS0%(!hbYj(tc>g15C;{1+&aP~=J_UHp7au&4!fJxGSqb4o?yn~q=hTXQIY0IrG_eA4A*1hcx-egs6E8QAMDL4jL5KymmKtKvQgw$;YE;gbG)qPe$o-^4VYY zoMr6-6o6JITvemDy>VhDjtubM>@*3$zE+sC!7QWh*@4>hZeZ3A+vC0q8k#ZK;bkO= z8kaTiz0`~LN;JwP;6UV0m|yFLI^v#?^Pz{UhE$3Ly+lXC^=ho~`fHYXI~=T^j!P>T z265_mRZBf=GUHN#Xm;Ppmh`jGVI>y59FzIOaESHV9J(&h)>u8*j1rd6!k`4^1g0=Z zQTA0iQlvY{DD!zY9pL~>AMWS%+XA0bub1PQFJgr*JWK(!L_uK?X$8i~HY;m7B^FN& zcD^hSNa~u-&=ju(9H#Nlb9Sk0#vZnLAtIMK+1A(FtHF*SaofrDwy12mmgdY@WOP$+ zZ`e^sNJAr%v}lxoUx-$XhN<~X|2w(CEb^2Wb^(Fxumxy=`H!1qf;%}bCj|S+CIezO zt2fBaA-DqxvEh>bSxXYUx%@4NtwWERVctu*DjZ(*{Oii+e)8r$-2C`12^VeD zcf`Z>;3uNK$cS^pPW|Ho=eNbb8wnE2!Eo@^Km4TXC#tKDrmT$LpSMM`ERV<{fIKx;G{4C&KM7jWb$Ui@eO%`|7MgFCCF21HAfg;jE%tVGat z^OS2LU2DHL^4DX|Jd#$4z{stK_|F$-=0v}i1i=KvZvxxd>aYSeCB?$+M92|&4!~)< z9)hYwKo3T}ZB0~1Y!4ZWUschAP>m2zCsXMAn5-p^XQ_N+Vcc-*Aa24^yAHT2Gy*$~ zg-2xiAKjvWF%+=6{oZ-$n_<&uGismJV4u4|(}Y3JKVa{bfE&)eMWwE4$1jO3p2uHk zN~RDNmT}*Fz&z##B;c<8?N`-z#W$FeSSW?Spl*)(e=(j1Ge-pb=DoNA|AOR;lf_gS z|ACR0taF;H!&&q+f6wo@7-3~#HWcI}Qgvxlchv4iIahbj4d$7g+T%WHdwI_NUh*-( zdXfLF@E${$c@z$31EBTfByFc(NTJrS>k@IvTj#VGp8_Px5n{qLi zN5HW!*s5HvotGoC6l<_a4eiCNkj5eET`XjNqt_L_|?gatH_tMDt4T- zY9V|@7DkvA=n(@%3+KQwhql+{;?Wi_Bw7o*aMa%A23-IhW-EGr)-T7%yb}A+F^o8p z3Q+@f;F#V@Q~K=|-ag;7C7zwRHJ^W~Jp5Q8n4nocU1i=S@A!EkqEEo7H=X0N=FjOh z0rJyOK&>He>xreGAI2wT^jbq=rJ{9$2y+WZM{sH^v*r+K64z$(=vMOJ$5W$Mu}sWW zAO32^B_>+lom;_3VqGbBSeVBa>zoi>wX;un2^)1;OMCz9ycYrTES)gvRRN+f{jW`# z=GNIu@azi(5Z=fqmgfr<&K^wh(^lr`CyBjwX77J)%x@nO)mJ+(sezV1w$|!RnJh8( z<5_{EFrt{KqO#%N$9CDj{a0*xtM1NleXhz)<1a=f5X-1bDrFy^mhRpwN7o`8X4ffJ zZkfDHTgZDX@ITFC^E=K3A!9^=Zh4WeLxJJXBHeOYaMuSzYy1UY>r~3#_j%45N4g+(DE|e_=2u5gpIB)q3 z_sf$F!P`@T2d@L5TG&Qj^HzfQyTzocDqj(pQbB^c=~5{SiUfS)P((2tto;XDcY8G8 zJ5GYoHgwb7m)*FPB1Mq=UJScJb-$Fl zBCKVFQuR|51XT-!$nifvI75c34;dP0?RstZ@BFVEY>IWrLo3zxJ7lcQQhpRz0ujmF z5e!PFb4`)7CEe%5Y;OG>qq4=C)Pm7!H7s$+UFT`sP=PjjQJwEkTN%nply^XD3M)t& z?Hcs$_Z4c%#hLXqH&8B{d}w`nesJrIW;VAjowzaha^rx=X0or{Zw}9X6R|buJ(!Rs zK4`sP_1UaGa7O*~^U9||tHauzJpCp|780(!?!brRNE@+(Ed56Jo{*tp8;OT`{XbqD zMzdWppUNS9XQH9G1YK_#YbDw81D1+kt>L=(h_yanRlYdkT&W2xg>58=;HjinNET|y zif-;V(aT69I_oH>z7snx{5HX?q+~a)liuOumMp_1!j|)?z~Rb}d5dGunJ+_|uh5#L zP^jVfoI6UNF-o65NSi;}ap68My(*Z1cR9=}N!|`H#$feo6Q|>1h^0vXmIrc^ zCmgibIUVtr6{H_DfQlh5;#br>Y|dNG<>pZ9berXG(y|~JtQw<5TYtvCq~xyw@5I7R9m?Z(BPKh zlcq(g1%LmU(CH$b1L>MEsr})O3SVb`BOFD9oz?|ijrBIqg-lq} z*Zswrjb}rh-cP~7q2J6TM-i#bJ7On=e~#)FJxm@JW&^?PF58(oqkjA$Nx=j~@Dn2% zkPIkUQaKuyKtu87VrxSX7s(u`byaZ-me%50e}il?vRjv^))Vsa%UIC9Fv}w@8iH`{qt~ zw;ZW)7@@l8nTv|H>Bl2apDv2!D8ruy!S6T|E&onzt%{QUr6%{vEJYuHmDV|TOij%Q ztt7^)nK@eE7r`lq5zHk-3Y2bwCf5@i&o*sO*Gmny;|wu9sKZGNnr0){L07{+aizMr^a*I@b@(>`RAgr_c6U}@=C=ICnLvOGq z2B#1W3MVjjqoEz@5wId50xF&z8aC=DkvhIcJehFdOb>wToR%i88xQ>STP+0O)-*Al z=%eFb4TY2lMDKTHARIY1T!Ckrw_99@vwHfe91lwW{u*vRzHoc1Ci)n|?%Qq#_C?*y zBL*^7j&Xz>qeCV&8V~df1cXY>Gr6c){_fB5x~~wsK^>|Rr9;DBRrw!Tg1-NS59fzo zfsxiy9o8(vC=~#<)&N~lvySz51&|v6sj15s$E~fcUAMDr=<-J`ktv;0%BqU#J%Mw} zm2UHGk3#Nmznia1Wd#X_P^>gW`P1Q4+Y!ka!k+H?_VVW>E!xtkia<1UMxc=^1T{X( z1zT)KR0SWqg9qlkpXj~%Gh8@44r(b*3nCneXHYUBkRRU>BprqRP}{-gqXm}QS=cY? z4voC^Htr`?c6;*|@0%AJF*umR>1Eh)K6le+s3<=zWPQIeh=wP2zFA6l z+3dk7g(ubgF)^;dsvr7XUAVt^zLbi{Q+*)5=?Ecvo>824>jjm?-;^GPtCGp6`U7EE zbc7@BkF3wyE3E+{;x{9Me$P9XYh-b8WEs{FHX|ZlC z^=m$g^c>-7Zv?JcyqByZ7Gjc@=gUl)8-A~TM3qVku+%(6BgC&I#x}}~twbl()pk4k zzpLv7R`VvEjOz3d2qZr76dxFHzWZmDsU@#2kZLVQP$drAqgOJnw`R=BJ&+?>BeU2 zN)(s>^HAH{Lh&6$j>p-Vy1)BK3>Khv|B#S%E{?mwW_2w|~dF0cv;s2UX~*vY*SI;LE|DC=RE zJmh*WMXr2Y(xg8(}|2$d~NMN65(PF zgh9AwVnGV<#<|1&E@hT0e~l>_o!S1I_s&quBx$-h)KdnG*>6qgpH%yGFZM1t6-F)a}Lto#ifq>&W5jPZUL8dTYM^ znscsZ6nN)(yY_1IxN-OBSKn)T1M)tq8&M-yDcoG&MKA4oj~M(9>cpOliD3B7N3mLy z9mMYSOY>WTsj;&620`DiGQZiWfr1NH6ePaV8~=wzOD=O_jU%JGS*TWFEh=9}6>85! zmGb0_RbV%P9*)Y8MX>KJwpgdO_Ipx1foJ4)(=@U)@DQ2kFJC0=-oNo9^B_}^!!gw{ z?846KY5#Ma5z#gIcl?L$#0N#R(oK!o*H#Faz1CM#$WpELFdzFyW=4svJt0jpGr| z2?*RwR#?BBRPVdIylf|E&3`(yG5quA-d}x76Qhb)@jas_$Wx#&YxE)2Pm@`Tambt3 zZ)~t4nJQLw=gp1F%d`0-(vn4M5#jepE!w%2Vah!bOMbjI^79KV+UsXHSJWlJ0?KTE z_*mew1)$>k+sF8x+tC-t)qfu9-QH~v{LP0}TwS-ff+m+mq-#_sKA3Msj(87|3BU18 zPIh+Z)vRe^W#Co0e(k;v08^|d+z&rU4dAnQal%CNB@%*5@Iff7Cmdw~(YkVn!NLC% zVd^nl+h8|LPU&{Lrfz)kaJ%vH8qvIwfF9eEBF+^%^f7qXT&{l^7iCPV2n6_Kk9>+h z+9R&=rvulkh~#e8<}AOS=AJZDm+MvbQhEOi<{1%0s|+}Da2sIx`rGLaDIr%c@?S*X zN<4k|=RU|G_RcLDiM{JP0sCTa`%SO8ZnRvn}7cXjINg-f~eRB|Sg5NXbhKXwn2o zLgZ)#caTWJ9AaC9UQu2k&HlcLh=SiAB2z<;#e7Yq;L)mzb}48q{}1 z#i#9PukeToskRU(oL^48MczU&eAaMGL49>@qhg58dt8d7L0|nw3&t;Lw!Gv%Gd20q zZI4@A$h?p7`zKcC#;qGzdQ9fRb#}Vs{BHJe_3L)zy@LHuLtVO$>Q@qezOP3{e@5Z` zQP*W(0kh$3SH4H+f;IBlEX~BjnaIIe<1nz*^6z@jEplU? zP7&<$IXL$o{7!%Ut_%a~zslX6GOqFrA!49-Lf~1f1}q)9CJCbF;SGDGd`J|F%n=~R zt%x0y=Cv#4^%NDZ9*?{y%74Cnxwn7S5i!z*QAdlfLI>K8ZQp(%FW1|F06hU1MNv|G zMwh3vd`5sow1(F&KKq~DHsT%N$b9K*-u7z1FY)&p;!Pa%ABMFA0zVtccz9}j zCM9y>)IRf@AIvx*y$y^ww&DDHd6oGF6QUs-+kVUlfYH|ynVVYtni|l0JzaC!G~06h zjeZL8a#Pts?fl0nvi1~~?bljvyHhJ?9u#mrkHehfN;gws9GjJ85T_m&>VbUbb?a4K zcyd2=yOwVLg(8Ld)?BNTi1)6{j{T~h2SlBtaK}L_i>5{OU(wCBg5v^ zyV1U3ft8qp$~KIiiCaA5`GT~0X|bP3cJ|NXhDsf`@c3(qcegh!T2Ud+RaL5BXY0dJ zq|rzhG9riCTVWtieC3DhMv2&HN6QcX`20aaxd-)n(M19tx|Sev9A*d2%r&k{&8TXt zGY6D)4LZp|?*)$=EPo+kTzsp=sk^UWT`&!3%y#M*(n>5(08tcEEZrKLloIB=W+7 zpgk72G(?}~Sv2fB2e&$4a>bhANdy~&vE~c>{4NWC*OC2ODsWsvH-avgTL_(Wt42hj zL#cNJ$D5c&u^*@l2$z+B)5R5&r%jT5BwVK8nk@NrVbHi;-12}f5n&v?!_J!hx=c5> zC+6Kpv$Kg$*dxkVkMdNBk6R{+fV|I`q(&tTu%5%X8kI5yl6_#0MN(l40};4RH#gjB z(Pv@#q3bu1T?DY|>{ldrtuNtukNfq!f0&zo&#xNx&JPdyi04abFQoD(XVzC;N5?B8&6JN%SzeT6|;1M zOphQb-v6kj5K!>_zhQrI`iomfg%P=JU$xLYxpFx<-m{=?XZ1zQv^Tu=?|Aq5!UECQ zyjKWK3Zvu^Kfn8#cnVz<+~5wO6AhEv3C4Bq-7I~Tc*;Wewk2^yf*~x2nIB|+pAI8g z>5Zx1*mZ>6_}ITePl&1`|0@;sMJP5btst&YpIqjP(or_>30JTJb9RsxTSmVwHP_+H zJv=y5MKK#c%Cpg6qS-a&ndzP$Yock>);fbIJcqj#@gZ=gT7@t}%5OS8L{gis*5s=r zXI7KR_gKUvDrnDJjcSyRW1@g)m0N1J9>hQ!)d{G`(9R5k+j{jR5rlYbp36q4Z^1E5e_m_Uk&%YlUOO_L&iJCFYO1+XIATau^ zv(TS_P*6zvWdI-0(Ni^c`K;@Ab+IO*B8~Fj&i?U7LRTTZNlDa_oJg1wO<0(NLD{W% zOa+=mOh>q6hnog2>LwLMJRG%zsLs4#{QEitcun#VS=0?f)Pms zzJ0xpT?)&;@a?WOXWwYzND~=hUcrIr!A{xpp7+TX%%1FoS8(YLPmL=yXq?rJ_O&Q5 zxk*8u95gaHCMRx{8PxqHTMI{-!ox~M}yB<-8MsGwSRBytY z-pVbkh?;bwe@TJ>=RHgN=r|BIH}qd(_y94{I?C^U)AG`(W=s(jeLoSd^&Lo97_@wg zMHK04v*(>Q7Uz+JQ_;^ICYjT{DvC1A_-T)?{Fnkmb#iEc1J_=1e_~Y^foL^#jJ(V; z-MeYK-KspDr;YK=(#Y%)Ru4wBKOAj@Js?yS2F`Vx$5lRpdfe{zM z-V;bsqwrW%EMq}WEHwR*tSA_4V-S^sv|$!)Qc9sk=}sY|!4PV>fhm3tEAmAWa!sJ(e~Z59(SBtx zf2T>=AtCql@EA_S-3JZ|x6b4mC!J70dhgG#`8_#ZQ%r6_(7X~=$JuH~FSiBfl$R2! z0(Cx)=MmPHHPzO072ulSK`^VRb&&ZOv@wx{ z78sjR38eXT+|dSJ;#5GgN^FQ+u(R-S2sh7rH%u}Ag{`+Dd{?T)-*`3IgA@(%? z#Brrrew;(UL`kwpiJOL*XJ#(9@_p3(zNi!?m>`K}%2%px7cYzRX8__Xb$=IuOYy%L z8j9rQ`v{4WtLe&s78kAJKVG_}DlH~*KZSX!C3(8q&)=zQTc=uCZtaVuDT%Fvx&WW% z5oBRf^zWCpf;M9*3s@L}Qg%9P*^!R&R}N+`Ot}JQk+%cXp+6G(7mD<}gJxA=LdH=f zq>~#Bw}MtdyO6(FL1BLT^-kZ9z)!gyna|6?QY^}TA7`tRJ=o#W+24OJvXF&~ttrq!ieLX-N}u1RVPM08;oc}$dRyg`UD=#(r4flN3fX)f`9 zf7sal4S14QE7|xb%D#xPqjZBuBgQ`W*`*a-TU$FbGxK(3a?12^J;Se)V~las5soIc zisVuAD8c+vSTde|OA+vXxKBAM}nXx4rvB~6cI}ubi(RdvG$Z%=?Cc;KjQDWG3UD>BzKpFk;jwoUkykG zGljJeZqW!T5U7AqG_a;Z$V7KiZHmrTWs=!A%-=>FrL~E}*ibP$ zWIU*gcnlqodk9XHFUD&{6J76F&$NJSabJs_W(}-h`%hC%xcxdVtetE1`kawjepKkQ(?WKrqjkSpbh~`S6aAo)$_2Yk znRdJy=SEW@8t6T$gf+O-mcE}5rD-%aBAHGIUU>Qi{NSMq7cET#83JO@eN|@<7TEb$ z6}Zn6;`a=x7)NCa!kvdM;P1+dcZCe+7|$!>v;5GkMrDiz@Gc#379Bj}b}ml4Kt?g_ zePYOyEuNagF=ngb#+8=r8KKm21;QG-xTva|9+^(Jr>VeI)Z`NzF0GOT7S>Nk`iRy= zdv@brB1lay4H8UGFvj{Wt>K5O?T^cP>pNRy9gRB=QSdM=2 zittR&G&oLavZ~R5$!X%u|DG?c`U!Qrg&i&OTYA}3H2dSnO|Ub{vV2%g9g!$XFE)q5ir zT%KU;yb_Mk>6#QWuUrq$T$ZQ^t&p&bLnAFjdLG-N-b!(YerYg^-Mn5*+}bA<6d6-O z7ZSBhhs;nah8D_=Ni9Hl$GNRT>%Sk;)-_eaqb}!d@vm`#%oH zcEz89EWmX^j1q>ykE7nm+Dylldr+GG&6wejkEek@KCT81Ij6_<2~2Yj9{O$6Jt5alEL1BquA{~gK9JB^TN}8q^M4RY3hscc_Zo9*M-STX|IjE96 z8o!a4FN`~M;d|2>Qoqp!^TWd~fYbXQL=cCKDl-gJdPZlTeMeV(724X);$5!0 z+pX_}iiRruR4niA@Z>}@uxk#rGRAoOSQyQ~OR=Q#c|d~ceK2+pH?EFm)OV?Ol18>D z6DVJK)pNwTDm1P4!t~%1Oy_LGsLPF&X^OvHzx1KgvW6_xwM@(6+|&@4=FQUZ{QT zyzkF44_)EHvq_^4W~`%nR#sT4Q9<^$V1kZS`Vov$07DO@F+Dnpc{QiKhNGLjg_wc+ zOVX*9Y?fUiE%Cy@G>Con%{a)4BuzOi$R^7+%zoTmmCzrrXlSaRCw#XW{HaC_;X|lt z4S&Z=(9IyzTvApk3-YOp&#b2#Akt#rM$NP0!?#M0h9|6LGok+UBrZ~Q$^dQgh@^i@ z{=gIhA}fmf8dXgrnZ)1$9yjSmU|60$jY}!##(pT)4c-#Y6kQLW^V*2lzYHO@*m5xW zTx+g8+ALBSRj1yuatS4&zD9LKJRH4?+Dz~i!Ri7;*mYFrus=-3$~=bPaOPxajIwE5 zr{+HroxHTSeK59qlWjbZ_E$5@1kzEIW?|vZEi0YGfEwCVqhA-Cwf8fs$X04Z9VFK% zT1ZpkUSX|-rdGGZZ)ZPgOK3MEk;0Ew6xt@t*5as3QzD0^Ln`>i>XURaqHcjzNV{K8 z<$_@T%wW+g$$*!CGDcV-C$G&QMQOYFuuesNQ1+^&lvo$_=R=))38B+FO$N6KlBeUV z=Mti_p|^?uMw=F)`9>J5uzl_KW(_8z15{bAiXF+O)!<;$j>F43^emNBre!>c&jD^RW(wcEH%X zBpcDKtoPdAy~XVBy=eR)TC*$cYFP1Yx5*Vuh*5$R(B>N9?jGz2ZR6C8$=S7z8J1t} zZ|Mh&NbAho|J&zD<&N`JlQm%3`Tj8S?E&eD!}(>&237B*jO$^Aw!Hf|bYlQGPc50! zW*3`UkQQ3luSSWq;CcQ-BP=OTjOqC!9Dxk-EB+~i%Ck`FN7o(9f!F@0Qlh7;p&pO< zBk%a4i_uR6a=qRlD8t+}b!07;1NGD=Sx!GI*1XmnygboILv|EIS%kC3_!K?q{+C~p z=|meY9j+7(C0t-uKU>vI334zMoS8d-YwmKOL+zY1(j~v2%hRZ?53R&EN;ic!?JGNR zRj*@Xz57|BtbpDr8>}N84^SCJQIySbXfs67HB7cLGEJ36bg^iQ?-xC+tEpc4!_gYQQsLa;wZ#`AG{c0E>iW6GSiBl0L8j|k+eJBF?&tC z;rQ2*i`2u~-Oh=B{=JRFpR%v%_Qd-%c)!MEI*2d_ev|nBD&V5!vq}{VvHC;xJWHuf z%f_J^E(?g_Lu9M&zEOC0ocW*Tx&9<}UyjZAp(2jd4;3M-ASmh^V)Ac)H1;;+n$oJ3 zTIhI!BhwTK#=V|pPuU%kuzh~0u$83I{M;%FSrJ8(cSaGGMxoNE7Vya zu7%rXwYU$pGC!ov6TS}!D(<=H?;VB$MhW@j`B(_c`T_E5_T|t6&q2XVTi`CRsL_9 z0dVh|ZNgAZWFj~Tf8#O#A2_+f?d_9ts8*N~>LR?l^OZcyIzw=Y1pPgE5kqhf*i|jN zePR@h7Tw!UC|w<3IpVp7CRa52*?F{91<|hWXOxaF0L^|bGtfkbOXFXp2VB)EU`1M0 z)p^Jn-@IF7Y?2JS0i~66lbNs9uTf^2@3OK{gj@^_E2BlT0{SFDG7w%kk65i)tIrOy z=XmQJ2<{4l3=5@|Y(=3;;X{zXduXH%Gr^;gj(u=sB5SD{@V_FZnt(~02QLE2yb#Oq zL0xs2(GDz8t=-duqtzRSG|jQ}OA$;ODU(;9)z&=1~4H4K6;8rm|TZ2yhrn zgEg`1!aacSPUm42*)d198;L`U1aPHx!79s3kC;jIN2R4+jwL8g@7I2m$Ra`QSpZTS z#+PMH#2iri_Q{LsWYZ%m`ONOg7=cJcK?lUnTSqH49Q0`W8(>Y20o8OJDcZ3pT@LyS zWuKIU_MAF~PhUHVu+3;>H&tlAZ_e^N53mxmJ*;;?TB64$B}L$uN6*nZnnwV7pOoB1 zsZe_Ke3Rs|+kzspgFMxgW9qq4)+J$lW-jh~XkJ(cn86Jgk1*F{QT?Ws%gWX+#S(eo zOA}`CFqMu@YTFC#?IUG_IZ;Y0qS68+Vj$hz?2{V(Ldj)Khtl{2k|lCgsSL+k z#fhRJACK<{@kCF9)+!F@sqgxkBd(YwZaWZUnRG>IWi;)84zCtU>~Mm0n7t*&J2nn< ztM7GLWEe)X2=oFd( z=GkUx!`#VDEA)fE5zLk8=GkO$`n6#|GHOsi_yg^i{>Nk8F@>Thmx@rwXgueVtu(vZ zcNEN-%i`nWAOE>GZ@c+mFlo+CZ(^w!0$BF%r-XFO5EZ^AR}}M})@CH*{}OCgi323| zgsPF^^AD%%7><<Svd5sb zK*EX`tR7eXF{k#PqBPnvf_r} zSw%s_&H&U>*Fu6zyXxZ7Q^f^oZ`DgLgx$E@eU9y*dL0KN4c$_!-FArtub8x7pt6+U zUsdf1H?e){ci`N6G36qy?KIv>dg7)TkCGjwwy$I~ZJ&On0*K~Ue)bVoOJoXr>S<}~ z5l?rQy*u#f{r==S5&QBQ3~WX(w1Q%=N>NEP9+S=q*5V`Ewj2FXT1`zMyKsOYq5`we z3nGVK1T7nK>{h|^!4p4S&!CHz*>rprKNe}eczettuxe9p5^Ld0AXI9IRpJSeF2)>R z)AJswEU#$7&c7d>B-Jf@Irw*im(x#^dEiioUZtwY!u$7gG(+^epZ0VQAxaHtNpIwT z>0po|Yj?#x{?SPcT$HBZ+S76j)MDeA)j{3CZ;HU;gT? z3UgA)q#N7|F|P^PQ?IPcpX69_OOI&>@nFD zLG9SrGx6z(>(X?Q%Uf=_c(T4|e(bHrex0kw~w`WcQW_J@?RgNMxAoLx0 z=Dc-*S20oRX=ncG2DOBfc{?+*LE&9p(e(z`ab9u(43RdV-@15A6DE!Q&A|s1K}qZ2#wFq{`tf7jL@pkihu40nfCzmy+#!ohYj~=! z7FXLNtug!mU$Mk!Ky%yrM@dOeQ@;C1xMh|r2M&6DZm}w8JQ;FihGyr~E*Ydd@GFy9 zU;LL2y78b&H8lXrmd5i#_PZ#^02+*760RO?42z<;ol|+n+xh25KO^e;s<$_z(Cphy z9*wn4mFJ|s#D|6Db0E-uvknL8xmq)JHgZW`c~Xu0>A@4VzY#Ods}=wOlg4t^@0!U z`b_$XV?63kX5U5u$|7ky1*L|B?4Q@Q7$KH)%sI!!Ya^6?5;ZEm`TDM1*q$P1T8 zZfd3|q7EC)yf7Rh3;!LxqSJ>$2xg^ZGKKmXIul*mh~dq3axmQePS(|?$k)iCVJvfc zhx&r=AcjH9-p&7JAd#Z^4_rE6sdly&%h`q^c?8Ga7{3_a9-)AsMs}*Y8mY_43+b5! zCojjW8(cpb@a|9Z*CpxJu*OL1Sl0t&L%2P@2(U~_W3Wi^{tYp$tOXEeTd(9O$t7hC z?Se2$P&gLI%_eYk99&~P9WyZIw}I2PJXPu9E(>)5DjLc=RW(7RB?e|}IM#cYXeGZl zjFu|JmNH7DS}qZ<-&Y9WEdNbkrJ@yvW|&0g-8S1*|K&9N#V0wBU7kj7KkI{HKFA^i z21Yt8Krf6WJqAW|^-=3OBmuHYVAL!t_a+YYCqs4<&#RZi1`SjHvr*0R*~s^R$$>&V zW}#Dxxzk;lQwl!0kHznElJJGmC?bO8ElIBYY8i>m%>5A-SWHamH2GY=#ZKq5ekN%J zaeD}^23K@#lZ)F4ael9vL>}LToJA7*CQ`u7%12l}73Yu*&r1Fk{N>In^o<6@r!MO( zo?E#i6PsNMvk0sAUw6krzoh~Y~^wvu;WCk}su zDj$d6i6p>8uBPgL|HKQ;w&UqVw)%Xu@YF8M&oTO5H9&iUFYRoPA&<*T&Qm79$|1BX z8dLISU2!eTcvKe34;K+hMX!hQXt1i;hg>nKD8!gJ#77a*t!+_G*%Rwn+pKP%pMI28 z7DH457TvaiJ`>Hgse{2#9lL@A0B{dKb(c6li6ho(r*VuHgq)1Ka(p{ha$fV$=*N3- zh<}%#%3^CLm|i-im87+a2{GbpPBkuCk#^NF9Pp0qdE@vs>gW5JwMiE-T!q(<{*T+~ zZ02?-7(p<+vr@~Ipc4~cTJet^8C5=KtcaPE(s;!@=rsuGZ<<8z`9R_oP%>RC=@Ao;5y)!Xl$Npu&Vi(!&72pnEo z;MOm<1`|AU2z|5<|Avuz*5b4>U>6|1pf)}rZO&l_egt{C1 zA^Er;pVJ>A(iDrV$I*{EsNN|FCr3!t%&P|1J?l- z7jo9{>4j@qP_Ut=b;105_H=VY{uDt?V-8Q!PNJmzQ($!o(?T5;k%}c;O$O`3g!s29 zesIKJ$gQ|F8;^&UR@isv%m@;9Wn6eykkewBt_>y$02&eOZw}Tv%`3OdMvlay;gGmL zIgknWr=1O7`G_0zkXV(?BCHp&!(b(_4ASCtfu!3O2k_xPsOVt#(9le7#1lUlt!ILv zPLH*J5$}1cEW;vSP6ckgSSCw5qsMkT!PnLi;gndc&t9ZuSNXS&oubkImxEztMsHxp zMPj=;!f)*{>^^__8F6}GYAU`141GqPaC-kRWTp+ZeRESQGd&zZ1L{a^yrAVH#7%AY zqI6uT^NfV5{-KMee3h4>H$3B~+V{Jy)-VY}y>$E_gv5FU{nIpl(Rf(O|EuUM1EOl8 zFpP8yNOyNE4bn@O0-_?h`_V{uEG)5rl1g`XcXzlTC0$a|4FXaE-*x}(pL_S-nVmUv z-t#_(mv-he^HB%IT=?fXkBb^!fsf7ct!z4U{2?`A&e#i1zVy>V^*kiOED?FR6d|xK zgqohx6%`75N;2AWm^^x5X1F4HFfjh5yW3DH$8??N2dA&N2K}#BLSV9TFK@Q)4&mai zF=Au4X+@1W;4wn7UbeY#CVerLnSym=u2lyK3cJB8^$>G4 zqCb)>nUV$iMEK|)oZ58DzA?%->g_Ma^UyUeRk#)sXb$4#VNxcd2=??-2WO?NX7vAH zxo>H;C10O2g0IzoHGQ4ibzYRNQ$FkK`sK=~7K5UOm!``sJH9!+`6=&VJ*efky_m?f zG# z!R3kMtF)Azx!uA>+xgu>oS&tyZWZ)axaW?B3;KPcZspr9Zh<<*Jjc8*qaUz23x~EN z%WQitXV!y>K1+Vt?z$Lm=*3qo^bUt%?Tb;E-o#Ia-W`-b79Zl#sPwSGSvjH3bWY*7 zUFixqVeB+!-7pKhFbjpyv>p#>XZmuAVlMY(miWpyCM-KIg`r>eSh?I4~I9BvsU8_n0_)~{Xy=}<)CuW9( z?|^F}X*)-Umt{jRF2&sLa1)!Fsh}$S-HHc+)@ujkOp*hUF@}Zaw%{lla?T_@jU9jb z`w+`ZiY*1}Qhn|gz^V~OaiB`?FLKy5Ibj{=FRMvmIl;plr8E5pvH+^jt_vl$17ic0 zQ6lwaMEYs%)C?W`^~^wWaP#eI{!N*~z_mZD*0Cs{x$oJc;<{iDsv3nP6A7zJiS~y@ z@jjW$i>V&^kvj4%e{x)96jUe+s-;-g_0)T2Kq$}8&;^#8<7IKkY}ftzr}rHsvx~TS z5 zqM=lHyN}ph(6pka6i<0YYIgh)B~rFe;22*IYL18H`|~U(e+&XRxjL=6ogJFSi%92h z0{nfBuh-ys0Xk^0Z0Hoe@*=1YW18_?omUY2*9fVH~ts z>4#Lkv}`(J8pNMSUBgA}KDy6{jOE^psD-!6%q&M%sfky`nyPsIcC6^52Lo zdDq-KM&|ry?4$Fx&+cZQK)|!@ssGfT4G@PzsikJTCqY^*rd52L9QWTie7mdLPrKR) z9GBjdd~Bq4?7B_LZBXd`3^ok50&8sHZPWQuCRw7zH2^ghwsuV+SM_1gK9`Iv)J!qb z*Bo%mxpeN3g1CxL%qvyb=*3HGgz16^AMBMH)L2=CI)%P9T#?`ewO=|R>NaN2PGE$Y z6FfYWwze~?kEU;5{03t zMOG|4|JTr=<@dX_R3ej_UU`qNN_Sdqo$gE$Uz8wWq6z5nvS0~&ZaqSm3Q5$;ZgseK z0*=LesKB7l$D|ikl0AMh0$}VE$Ji0d5%Q5a$J_+HmMXlpYt?}2GA4zQCrRYi7PtLM z8)3Hh7>)D&4Ex{fC*$aerwh4WK|GMCIhSoM3f6XopUO|X!V0>#)d5gf`MJCc856IS zEAIz&jz9A=au53xZFa^}96iC$cx2!x&U6;sq$3wXgNKdWMMdBqwOR^L`$We1_?ML0JpC$Ws~;IyGmyFR9jjkb}-{| zc(cxp=llW=`s*bT1}esd2Xv2wp*v7e>tzq~XZJ6$mouZ_??+0Ql+l0nHceFg`P@wDz6@vgXJXpFGZ|aKA6JirsIRE| zoEs98IB4sIry-ajn=OnvZE&3sOFp9zMx`7a>>c5M#Emq!2JAvo7g}KBzKx%^J~;q_komX zkss_?`~@=H9JHg0YG?D}O590a>y(c(zUSPG?C!+%GJBHxdpTkT2X~2txt(+nBnZNu z;nP zmUh{}i3VK0SP_Fu-c_}ty0(JNQ+z03dRXxPFz5Y z-ldbPYxgl?3-Q6*iCAJbj|@M=&ZMu0MBWV(rFCRu%#LKU%j}{|=EM~oe&8xx2j}QI z@fsj?nb3n7hsrS0CGDT}gT9Pxt3=Gt9Fpm%5QPh3W60j+Gpq+mo%Ad+{6)cS#hI}x zK0oP?9hl_krmyyyZxk8H71azJ zJG|ZCeeO*5BGhi^>3R_vhXk2O!Vr|`J6?OFLT(E-h5vr}&F|&4pbVohTceZ|gCK|W zxlI-UKhZhhZd(_YppYEHMOpnEa-GrQP%sr@s_W}X06bn+VQS8Szx|Tp7)WJl9B#c? zMI2UjI;z$5?kO~w5?g>d<5*RQL{#`uKft@}L|t#0>3tx_L-$Kfc*t|c-rn~02rlz8 zn#W+T(<50NY09ukc6>bzGGp_(p~8?-6g;Me(64}}g|5Q=*}F?Gp?0)1WIEXL1yQTusL@HWN##FrQ;f|~K7-*Z>dritf3mmUzcCK=7?2FQn) z1Lee`c+8Z&(xfCXqk5khUnZ`8r|IeaxZXR;{)V2*3yno11QC%s>bN=jzk#Qx9L-2~ zOgNAM;kl4nUa!HSUXW$Ut0*I;_BIWk7{!|akDP623cLMssO=K&Cty+;sL z>Kjvr{W5|Bh9=Ln2;h08aNpN?Xz6 zxjZ!|Q1q5-pd^?b@^RUjPPNg$P(@{D%qJ@BG@tkeIDgWVq_g8M2bq=U3DtL2Lnd%4 z_AzMm`h@rlUQT7Qes(mXu^z*y^O-NatV=dBPa)UpM;F#2!~1G;Xeb$FxpY{syH(_| z4EU>EJFaC;9Vrf$9lQN=AaOncV%Q~9S61#z%+W1+{ecRj_RqOI5HBl-#}1sQQBkil zf28sI@4yQ-X}{FvhlJyzdwj&|r&RX&Pw*$0*az7+umC84><}Y<1Zyg!kzOu4IY()B z@m-m43LQg#QAW7-Aw$T~e^YGgs5=t!o~J`6mPGW~x)CZAp3!!V5q>AFSl26F46mfm z2gIVuLYeHBkJAqw?`BCdE32nE{NKMvHq^M^YQT9@jS+geC41%gc;F)U(E^7JZc_b? zSEP3fvcjRq)50Z&Wjo$hcKmF*ZP#eQpA zS@f!W$49BFbTXD3X;_AxHng-Qwh;aSD`CUK${HobMNOM0?I&5u4{}4u zB)I>hoYp0ouaJV;ndC0>v1qH_9?tZW@035A66V9Jq4-~Jati|ML z_6r64xdDG)#3amVBw|vXSajf|7;;n)F>SLZ|{_yxa3c;oACU~6l?}myK8z6 zY2Mb<<&FsvGV)p?)gED~?3uFOAqixK6op%Ax*3Sbe&z#mFYNIOs40tL&2)UbU@w?0 zj#{IZ(BiLe7N}~5iAwj>Ye%w@$;n-*EU(*)G!$)i6k1S)3iekVmY1En=>*{Z`z{(K zr)`J)V;HP$Vvk8IHYd<2!+d_)PQ1tM9<*VfjA|nt*7x+PKpy8HaYRtC3*A^xDGl_M z3e$cX-1p*)by&+9%!RLb?xG4%8!T0fI=Yjwf(DlEPcq}VEHqD?*04C|!ajpUYbbbP(bOWq>k>)XyDimLIus=Qa3JF<143qab zf;+Ee?;&e4*TL~j#-#9RhrqX&hS;cfEe5qPQR(@?egq?~qR2~QJT{0`ax?$^Hp%i& zpu9jIU+@V#?Db|0$t1nw*UWTGqxzklBAus$_sP~eEl~c7WK4Qx`TO(mYrG#!&j1awF-&o;8hY<(k5)nO@~Z>17b*Eik)b zBt(?uu;DAJS@nQ`%<(=}j%nq84|m8N8w8X?(TGSBJ5kR?8bD;3NNh$;pYO^&Vcef~ z%b5b`7D%@L9|gcJ`gAMz6b1NhbB!CjINb{CM6VGxEu!-<8zrNAHQySyY7b6WhwiK~D!JAltx z&x#P+mJtUg=6mL39>yqCqCUt6b}*d$y~zX3O~8-1dQT%QjnW>LQEIzw4xL%s<>IDM z^=HRj_uSHFJt2$M+vn6Blhpk6K;i(S>2 zX&AfcGADfQ6$)cI!KBo?JFx=NLW3@Mu5a*>$R4&yZ|lOKW=9{|!#Nr3@fQnCXwy@- z?+MO8z)00WmkIyo1clQ-3S03^*Eqc2m4C7I+Z-^)qJ?=wENnP!;#etZ(v^JdiGSac z@Qwg*M}QNE1x*pt*v5&9etn=7ymwd8X7+7ey!*84K2L{}<(0l*7Ksz|F*`c=`0DW(ug~vKlC#^=HM~ktvSD@{6%z+e;0G>vH}g8LF0WEB~S8_p55{FvOT+M7%a)SM1!+m#6vtm9e7ISYyqp@%2)M`-9$s9 zg+s>vpPQC;|Emq0Ex%TxJdXnPLNMv!Ftj4;A`!LlD`g}xQA<@g2)D)&zM@DJ+z-J- zsGwR3D-hLs2oeYx;lFvov^Mx}zO(k>PZ&{-JVH;c4$8al^9X#RN*}KJ<>&!?YHN_DzGN)bh*d3u{#h{`%z(eEwb!Qb7CfkaaA? zD=)=k%mHo?5pIyxzHv#=g9DUOGUF7C{p_{=ZaBE>6RSF$h(pj7P`9Ul^a<3_T`!mm zWO)BlAH#GhSRtIyap$^W&wmf5@n$vwsp0K~G+Z`2%6Z<4*}AopZn^BFW)IHs83}0y z67_&6r3J9EoC_d15}$>!tzMG{$|@?Dnj>^SWhBp+3denA5lPimva;#=wJm@g=E#nU zP8Zwonty^5CYzn7=l+!YJUOMs(nxg>|M{89?psxcW_QmfRC6oemm@EJvz}<|zRWJ6 zRrv(F_G_^~Kzc#BPXNpZ^mo1EwDF3`clCmB5V&Z@gPi4@S{ylZXVM<`?(n*7t^Zh9 zYvq5_zK(0p4Yizt>&Nee0Q3k*IyG#q1OTl(=EHA03J|+K5jncTzh9I^$QhRpTtpPr}(1%RuXsMI`1&teZB%Rx+;DULq%uYcQ zHv9{YbNNnMzE9ZXRNZwViTi}M+;!`O{}d1(cN{xBA@m|~wB!wOU#B&vKpDbvt@nlM z)m62aq7@5%=*$tj`vD}(OdR)@k5^`LpWc>x9#VNzvr9;8=u{-{^J2l|qNwE5Yz6z} zDbaJdq+|;%AS7_2l51(dqy)fQWeHn*q=(yvD7;8Z&mYqYc{O zmWv-W?DhHh3eofNn~rTz(Y52JOIWaj#p)2Juw5x{A;NEz;{a#4=?MT)`gUd|zQJ8t zcm=JDKbf%WvCxos4{&zhf)q&A*f6TxO{bFq>_!z5fE&V(N*7f`3$a>bL*Ox@*sorG zim#Y|DrL9d0tddV`j1XfyWINXRQG)pG{m$&jjz9^7T-4o)BNVL_^E#P`rnqndOPkl zehaf(78`J>50FqNA^okqkQ5^E**E*G=d?5+uP_&vW+eDb$aCqGjxyrs^X^@KjfJ_# z%=rjKQ*`brOY9fK3u#j$;W%Z9ABaRsgV_RWerz9DvrMNiLuo$9d#6k)f_?Ar!*``VNSzLIst^(?S!a4$F0+n}`>$di>Vz>7^Hu z^Id;LX<=u*OD0SyX-i>@XZ4|6F)Ujb%2A0F1gxKJ{N5!1$1!h5`WKt=fX9}xjBfmB zl+=p5zQ#dn`O)MQ?n_~MRrdZ$+7y6&@|gMj)sa176nap&XjwxA*<-54?5!4^tvBE& zo;0~CC#5?GNHE9{vIoC$xtmH2zspXe!$kI+Q` z!FiDGEE|GIIZswhEa+c2gCEj*L~X*)iBI;q$B`!+6Fz?hz!I^cHGF8XPR6l(M$G_q z_uq?=xId~t*QcT|g9-jw^>bQi3aMOff^L5EsL^5>S>sTTD%5-jsgMo|Gn=opQi~1z z?E36Mg)Yg#e6~zRy1d0=bXfZoh{)HXEj2(RgP9^_1a$ZT2A%LR(+X zGZi}EE3WdF{-oVq+B*$;??e_c_kcu6rm}@_3`^8ED~XDl=OJtyibZHDrIhzKaF~6; zj$N{`E6zU{su~vn|C^J!;}ml+#u^b)zz#`3)un}=ZwXZx-in0k5~3;TE`ar`Yeu1@ zjJRmtj)VZ2Sr$ln0Zdrz+!`%B1s$MfS#Aw$ToM5Apl1N@&YL?LCL8;&6fd04lM=AO zUSyvt<_nf1VuTvki6OwF)!Gkhur&nb@sQ~4Q9CGKW=}m&9C@)|ekBXc94Kj!5L%NZ z0Fxx}zMNF8FS#x)&RUv|J)s4%`nX6sFZ(q~kppQCH0Fi=6RA_y2q7*w6qM8$_FMY- zQNo+YjThoSo%0X!pp+3AU1+@WJ4`d^`HefQEc}f9X+n{J&kQ(o_-_s00Z13Z3^xGh z1D7Yl1ZqMh*3w|{&YR0p0V?2sfzr^O=Gy} z!BS}(S0t3A+zq()Qyl9L`06SY?0jl-3Hu?~LIl7$Tj4N5J+%shTG}H;02{~gc;78B z9<0tKPLc0!+8ca}J~zb4GyMrEd4E(51;E}J^A`TSc&32>aG4ZtdT%ZLcc>ru-$e|@ zzZlw$BqC``)WX*w02U)sT(&JYWl}sg(nxb4JndOnU^V6lNAQsNeAik?!eIQC>Gk+b zGl>^I=(C#{KHsq;>RlF_+_7aq>;6Nb<bH;3BZ8<=vjMsSla|nq*9Mdn7g#VCb|ot!;{S?;dyMF ziR4UCaZ%jd$DN7aI7w@xf9#1UQ#nwRMiJWwz+_H34hfF{{+joE`)cTmR}#?hDu;`m zG4GxFEUDiev?3Hp)_%S&5ZdE_WOWI^BmWr-K0P8;EltDeMQc z+*Uk^ylGAOT5SFD>Z<-N{ZVG{$KQI=hp7|BKXCjOEt59@=>H%c{4Wd81>kuClD!8X z&n1CzLps01p{hV*Z&L!j=RC^#C>9_M(IROtNd7j)vZ^}|vn2!Kx#J*9Yz5k<&^c8d@2?>zE!Z&Z;caf;l`)mc9%&W@zQUid93%D=tcFowDYH4DM zKrMKpwfb-!`3(tO6lxW|PkYI=KY`)A2d005f> zNF0>pFZt3x@WG=2D*8s-VO77(_0Pyg_+uowy>ey6*@1k%E;3Jf6NpoaHvpMpKmm&m z0nV*?L!ORCD2?4{SLqbvP5K5#IykGTX+AUvKHo$F{7BA34XO;E^IwB4cV#?j7LOBB ze=(>wRSidh`fZG~cR0sA+E?v@kbrkRIatnzd>?DzuG0I>pS-~glbUVo;YOBjq2&hQAor}Xv3iET|g$@aN%D=jOtoT_{clj-=o&g3qPppDm{4Lgsm{7XpVA;jJdQL zhwb_}pmqX>*7dyX2XuMOc}=9t*^c;=In5!~E>6TCv+J$&FV_7LtRJ6ySHBLxs*msK zgk?_eSFf{7P=V?j(SMlhVp$IrcvCX{MMd(}Vr+5+O<4sEej^P?MGYs*#%C11z4S>C zhw0`l{IT=)X%5o|#d+Z(MxF?f+Vo1YggX(}Zk9U*ddc^9Z^!A#ronl^A({6>u-xk7 zy-B^tJf$trXv4_)YW7K3AL5yiFbAs~8=nXz0z@VQUH~22d_F=92Jl;0o8fXd0ZkJb z*b5ZhXSZTaQ4Ni1wFW>v6Ws2j=+sBH!{((iEcq#?hAbelBUk$|?1Y*n7J$m7rx=J# z)|cA|%)92wzkRS^+n@z&B#c;Y;e}QqzM4HwQ7k>msg{_X1@CT>ReMw6*Q@U()%gR& zGJvlfBm{uQmke_VNjjiZq^evlBlKkn-Y0I^@o#?tum2loKfvtzrxgHFzat3bb@E3j z{(fv(_szS^-OuspQGx*Do+n-^W*5|%@uxNxGMT6R5K4_A`%wBca8m9$!3}Nr$rxh} zOxDkzalEsNp>ePrDnWcp&F=J*w=?_*l!Aei_UdmF0$n!qM?Xb(WC$hJQDDIRmB%mi z4_TS+NbFpG0x0s72bUB7y5HG|3d>Fcp#lXfHA#NPV$OUp!s>3VCFYQ7!R! z3IJh=ly!}QR1d7fp@D{#F(7;eoMCF@^~ZeSY?x;=28%jLN?4H0^%CBb|Kw|sq-5(y zs}pJ|=`O&EyK!g@N1L9WUe7qp+O#N-@$iS<-!R z3BIRn%?M}HO!^g<{Un~mZ&LSB?1UOmO!jJj;umm=qO!8Keyfd0h$ymEvlP*o3|ERz zhp&k6wZz~F>;~yAHD(Gip@-Ao8E4#^b(U7$;fkVEn6#5S`5Z29+y~6d4j@Eq^#Rec zNmELEir=Q;mT`CrCCHW%!1oz6+L4VvRJ&#A%q&!$Hw(*NZp8j7E3ZNdb9u|rv?fugNGPCQYh zi^)`FTsdOd5uZrJ5CgsnkP<1ftyU_vUvb5$F&?~EMM;uCWB|Z>UA|20o=2fQA9&yO zn=N5v+oaxUe!+GV=)@ot0NV&9$^cqkDCr_V_{2yTvDo{u-B(OWdR8)r_|tHN<%h-B z+@mW)a?_jLr=6$Y0JUhYm%IlACg8-){s$3ixlJ;f)#y{6Nb%RG8<$iiRaT2rx@IB& zpuzj`A?}WcPdt9ATW@R+l4doB^BdUd`*z3wj#g1Mf0Sn0?6?RB6bRU_U_UjCW1I>e zdqG%bL@jD0(CEo*8(`Hi3b*bDWIlE+#aa1cd&#|A-s?qcC)kbRQ_QaP?xLc}#Sd_1 zOm)EVp~UsiQ!bJ&elhqiMj;&wf~d?YiRU0qzvj(G65n!qSgt(((hRiCdiH+xoa&bq5thvN|R!8euqLnKw1FEgG0W#oDF z)9+pmQOlF6^LZJ7S$(!BEEfwXIKPX8s9j~Pi<%$zIT%nNAIM+H-Vy-)7GCwnu|=wO z&H3PXSf%}44~Ms`2WLa3i?mZ)S5EW7$^OoW%iXMpI3LJ$;RyH)3$_DYe$ERh0iyv~ z*KOq~kXfW3f^E~$m4d2GJE@TjPkw8t34vD9>$PrAi;eNUs)B(yHce-s zx5}?VBwZv$rww$$1h8jLpP%(VHy=w&cL8Gfe@bruJ8hjc0c;c$b8}1Dnx{vJ%OAUd zkVc67p2*`hmS(caCHQz2zWi@t4rxE>qIoWR=^XnFI#%nxPjXa$y}Dq%=I?xSLD)ad j05nzVYKggxdXht-agWVXH4*4Q0Y2)=uav65kl_CTMv`fr diff --git a/DS4Tool/Resources/delete.png b/DS4Tool/Resources/delete.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d2379e0579a1412ffb3d7b1d1bc1f1108ac814 GIT binary patch literal 3718 zcmeH}_p^6BC+Tt6->L*L7ciJZ#}o*2fMDgfc8px2AzE}msF?YyC>Ny0u*6i1w#9G1jn zDoUL|IYYM2{W>}FObAKiNIN?l9C8d2iYe;6fi+W4mu3;JH&6t66ki|xwb@M zQA8bnsekE{hcN=Rpk#O{P}3p`!{i8!x#@25?mb)uVS4GyzH+FuLgX$b%U%Ag*iaq66xhKnISVssWHw198*1XkkDS z4D1GYc>_RHE@0F;v{d>bQcJ%DxgwR@pw!GKuNiJbF6KjKX$j>N!s)VzFv{9rv(Hn5 zb_M3LN`_0*Egua7P?XAawe8VG0FJg6hm%dl(moK|`AkaSad23>+!(F$Rs&$gFLdlu z6xPTVrbrs*dHI@upTzY(Rne2vM3)9SwGW_Zd(QI6`(HMi#V?y@XE)Z@XY_jDHui&- zA(!Z`2OX9d4}XO!{W(2Z{3KgeM-JCfv(EPH&C<=$vsk0w< z-V*H~z1?|zzLV;Yoop1Gucr%652thryX|WyTpa-yiW#ZnfY`ylsc}emn7YQKd(%R@ zEI!gId(-{4Cok+2Y73_zQ6C_`Y0o_uN92%z;!P%J$&Eha?$jY+NaW-C631xDqn|3H zBVm?+03;*+#I$KkWP~@EDu1K?fM_n4V~f&yP4(5uPa-dc zxhVgu?|U}oB-!GvuT`#eb15o_e({d)x5%V=9*RTzy5aSIiBhCH4%PEiQ&;t|)!nTo zZjC>29If{!VF=gkppYf;hjZC;s_UQ(P)0L4}5FJ~$51Bge-OkB}5>etAu|{w;ExVO(qcks0r{XhpuX4jXU! zmpLbo1~T~!Q7(~z=yl9`_qx9pT=_h&eBazIy`Xx25Gbh+wSzJ%u-hKCLxv`MRX_Wod za(rl8`+N3x;$wemni!_Y{y4M{YyK^=TWD7QTkmoVN?9ioS^JUVauT~aTe)<(UKS__ z7V?ZKb&xVsFH<0s9RfpERF+mQR#I6USqvdlD(;(y)M{BsnXgq)e9Nk`sKl7;nzNgu zD-_FPE79d%NY%HYRu}Q4R^0~O#)!A3MfDHX+WNSt99bI!M7cd^s$!mm%k&7;kIX)M z3Te%`;Al-$uB<4QM@Z>OSvHy-Ww@x4t>yTf75EuZYzdWRAB83?G9C!83bU6=8#GHe z+j>-HWoMzPbgE3Nw0GNOYxl}9rR|!nR_Ecg>iv3xwu0K|6x?;pmiestLK$Tlv!SxW zNiDR}qlCS>5srg9p)VNzp zy)r&tN*u6${0~#ay>2x`iG8Mh_DWQ0^O(|`Nv#)JbV+V~wrhNAo_(HuZv;pMxCQhL zcMSLQ%nX}Lg-aC;6b<@EhDTnHOy$btD@#mEZsl*~PvMADwj@)~!pe z_OWe`qOIkvN>CQo_ZqcoFg5&Btu?J>H_Dog(v7MLr_kMXKd@i06-}&l8#AQ%TC68F z#2)Ryf^O=q?cPssPY-Dcd2yjkMiVG4 zADxj}!`>Vc?s3DI=TB&(SnyM5VxxBb}pSHse;gbS^t9)Il~KrEYXjHyz+$`tolstz?q7>A=jZ1KVzVX2li z({)WH{*|Zp2P`T-ReWEqsjMlPbb->P+e>5j7DToi*I91Ao7);Xd8U!KLEd zXroO+zfXN7v){B&><*fsO824uZFwl9R`$`uPfLIHj$&6at5j>jEIF`&d)|S? zxUS>qGUf^>gQ!B5nn9e=Um5?X(?iOcllTvB`tv7K26l0Dp?P3qvSV>G2wMoJ(V-5+ zFevTs)HazwzFw&k(T(OP!HSn{1~di>`3i;1c~7}KC6yK0B_h*OU;4l+xee2?=pFQ? z%hRE1=jevZ-baZ|FwRV}FCL9AtFK#$QDWhx-;vfr(-5)-w6mql=aKk9`K+o!k&(UO z#zFi`xq^dNggu5XhLtpINsPXw7zb*zz1m&ALCGf&Pr1f)T_ol%X|>YF1T4gJ(zt5R zGP^dkT_DKNBm92nU_|E!B9C1v3(Ae?klp#|y?e$enAOq;``E>^f9OKGJvy>^3 zU2WR_JD)Bw2mWF-vNRSi3i?)gy)^>Yw@)dSPC025=AI@6SFeyw+G z@RlQP$(_#YpoQLVWn7bxxTV;ph_gNX=y%wF-?(Y{(K7Fy!UNA8za6E^^a{+w6sMxP{~Pz#q(nsmVfl<%Ra6Ag|Nj(~~9Ug-~C?3*1oatiRxX zO`CDsgJZQl^;yJ1?4+vA<^0US{B!pX|DvO@dF@lu=*ZE_)RPoC#PyWil%W`!nBBs^ zROIDXRedkE|CAv{okj%;SuS5+4%M~!q1zQgx* z^>Kds5+EgU|M>3tUZ?-OKgYqFB|78vXI#&P2(G{CPt3oTou{*=rxQqsbB_KvN{QjG z{!K1N9Wz4!g7^Uliv-{o;Yzmwcp?tKjvW9BIRLPDr9J4?0)QBp7$7yTYO?RJ<#4eV zitrbT3cP|rilBmTMfl2Lg2fUd#S)?=vao7Zxq3Nhi>mZHxMIB?;=Q5vlrePH7&4C( zpR-n6ysxxur!r_`gtIdraYW5KYA-tLF1i_yp>393w3gisS05U0JTzSPFkSI9+ww8n z^0U|ub=-OGv=Z*N8|J(k`*=OhXE)JzC&7O&-uIsv_a85w{>%(H$P7Czi2jiqw_lXJ zTa@;rBKK<4|Li{k|3?A@0^w8L;Mi41B0n=DbD*|4<8qbc=xV4V1Ll&FTPeG)4hQB& zZKyv+%cDSU=EqDRAm$7F=ta%W(>7O3o=n=%K2kW-B&nVt1A+6A5gUV(Ohx{CU%9xc ziwD&1kSb}I$O%Zkm{-NGfooj(BE`Y}lx@U6Ui)Wos$E+al#S|;`@RZ|8tC0ZczI=b zRvO5~Y?rR>Y`f?>h%wmm!#KOF*cA6YWUPfRS7boy4XHWbVY%#o5$I|fY1G2)BK`-1 CjmLKY literal 0 HcmV?d00001 diff --git a/DS4Tool/Resources/imageres_new.png b/DS4Tool/Resources/imageres_new.png new file mode 100644 index 0000000000000000000000000000000000000000..7bc1970b83be0c2b00381b96ab2632f8fb8b8fd0 GIT binary patch literal 3670 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 D`Nxt@ literal 0 HcmV?d00001 diff --git a/DS4Tool/Resources/none.png b/DS4Tool/Resources/none.png new file mode 100644 index 0000000000000000000000000000000000000000..9e67a4497270876693cb4d662d048fad58e28dec GIT binary patch literal 3176 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 Pe-Y_v8Ee);oudB>kD%{L literal 0 HcmV?d00001 diff --git a/DS4Tool/ScpForm.Designer.cs b/DS4Tool/ScpForm.Designer.cs index c6782fd..41f3e7c 100644 --- a/DS4Tool/ScpForm.Designer.cs +++ b/DS4Tool/ScpForm.Designer.cs @@ -35,40 +35,16 @@ this.chData = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader())); this.tmrUpdate = new System.Windows.Forms.Timer(this.components); this.pnlButton = new System.Windows.Forms.Panel(); - this.linkLabel1 = new System.Windows.Forms.LinkLabel(); + this.label1 = new System.Windows.Forms.Label(); this.btnImportProfiles = new System.Windows.Forms.Button(); this.llbHelp = new System.Windows.Forms.LinkLabel(); this.btnStartStop = new System.Windows.Forms.Button(); this.btnClear = new System.Windows.Forms.Button(); this.lnkControllers = new System.Windows.Forms.LinkLabel(); - this.hideDS4CheckBox = new System.Windows.Forms.CheckBox(); - this.startMinimizedCheckBox = new System.Windows.Forms.CheckBox(); - this.pnlDebug = new System.Windows.Forms.Panel(); - this.pnlStatus = new System.Windows.Forms.Panel(); - this.gpPads = new System.Windows.Forms.GroupBox(); - this.label1 = new System.Windows.Forms.Label(); - this.lbSelPro4 = new System.Windows.Forms.Label(); - this.lbSelPro3 = new System.Windows.Forms.Label(); - this.lbSelPro2 = new System.Windows.Forms.Label(); - this.lbSelPro1 = new System.Windows.Forms.Label(); - this.lbPad4 = new System.Windows.Forms.Label(); - this.lbPad3 = new System.Windows.Forms.Label(); - this.lbPad2 = new System.Windows.Forms.Label(); - this.lbPad1 = new System.Windows.Forms.Label(); - this.bnEditC4 = new System.Windows.Forms.Button(); - this.bnEditC3 = new System.Windows.Forms.Button(); - this.bnEditC2 = new System.Windows.Forms.Button(); this.StartWindowsCheckBox = new System.Windows.Forms.CheckBox(); - this.bnDeleteC4 = new System.Windows.Forms.Button(); - this.bnDeleteC3 = new System.Windows.Forms.Button(); - this.bnDeleteC2 = new System.Windows.Forms.Button(); - this.bnDeleteC1 = new System.Windows.Forms.Button(); - this.bnEditC1 = new System.Windows.Forms.Button(); - this.cBController4 = new System.Windows.Forms.ComboBox(); - this.cBController3 = new System.Windows.Forms.ComboBox(); - this.cBController2 = new System.Windows.Forms.ComboBox(); - this.cBController1 = new System.Windows.Forms.ComboBox(); this.lbLastMessage = new System.Windows.Forms.Label(); + this.startMinimizedCheckBox = new System.Windows.Forms.CheckBox(); + this.hideDS4CheckBox = new System.Windows.Forms.CheckBox(); this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); this.cMTaskbar = new System.Windows.Forms.ContextMenuStrip(this.components); this.editProfileForController1ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); @@ -80,26 +56,67 @@ this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.openProfiles = new System.Windows.Forms.OpenFileDialog(); + this.tabMain = new System.Windows.Forms.TabControl(); + this.tabControllers = new System.Windows.Forms.TabPage(); + this.tabProfiles = new System.Windows.Forms.TabPage(); + this.toolStrip1 = new System.Windows.Forms.ToolStrip(); + this.tsBNewProfle = new System.Windows.Forms.ToolStripButton(); + this.tsBEditProfile = new System.Windows.Forms.ToolStripButton(); + this.tsBDeleteProfile = new System.Windows.Forms.ToolStripButton(); + this.tSBDupProfile = new System.Windows.Forms.ToolStripButton(); + this.lBProfiles = new System.Windows.Forms.ListBox(); + this.tabLog = new System.Windows.Forms.TabPage(); + this.tabAutoProfiles = new System.Windows.Forms.TabPage(); + this.pBStatus4 = new System.Windows.Forms.PictureBox(); + this.pBStatus3 = new System.Windows.Forms.PictureBox(); + this.pBStatus2 = new System.Windows.Forms.PictureBox(); + this.lBBatt4 = new System.Windows.Forms.Label(); + this.lBBatt3 = new System.Windows.Forms.Label(); + this.lBBatt2 = new System.Windows.Forms.Label(); + this.lBBatt1 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.cBController4 = new System.Windows.Forms.ComboBox(); + this.bnEditC1 = new System.Windows.Forms.Button(); + this.cBController3 = new System.Windows.Forms.ComboBox(); + this.cBController2 = new System.Windows.Forms.ComboBox(); + this.bnEditC2 = new System.Windows.Forms.Button(); + this.cBController1 = new System.Windows.Forms.ComboBox(); + this.lbPad4 = new System.Windows.Forms.Label(); + this.lbPad3 = new System.Windows.Forms.Label(); + this.bnEditC4 = new System.Windows.Forms.Button(); + this.bnEditC3 = new System.Windows.Forms.Button(); + this.lbPad2 = new System.Windows.Forms.Label(); + this.lbPad1 = new System.Windows.Forms.Label(); + this.pBStatus1 = new System.Windows.Forms.PictureBox(); + this.tLPControllers = new System.Windows.Forms.TableLayoutPanel(); this.pnlButton.SuspendLayout(); - this.pnlDebug.SuspendLayout(); - this.pnlStatus.SuspendLayout(); - this.gpPads.SuspendLayout(); this.cMTaskbar.SuspendLayout(); + this.tabMain.SuspendLayout(); + this.tabControllers.SuspendLayout(); + this.tabProfiles.SuspendLayout(); + this.toolStrip1.SuspendLayout(); + this.tabLog.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pBStatus4)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pBStatus3)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pBStatus2)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pBStatus1)).BeginInit(); + this.tLPControllers.SuspendLayout(); this.SuspendLayout(); // // lvDebug // - this.lvDebug.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) - | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); this.lvDebug.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.chTime, this.chData}); + this.lvDebug.Dock = System.Windows.Forms.DockStyle.Fill; this.lvDebug.Font = new System.Drawing.Font("Lucida Console", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lvDebug.FullRowSelect = true; - this.lvDebug.Location = new System.Drawing.Point(0, 0); + this.lvDebug.Location = new System.Drawing.Point(3, 3); this.lvDebug.Name = "lvDebug"; - this.lvDebug.Size = new System.Drawing.Size(797, 353); + this.lvDebug.Size = new System.Drawing.Size(780, 281); this.lvDebug.TabIndex = 0; this.lvDebug.UseCompatibleStateImageBehavior = false; this.lvDebug.View = System.Windows.Forms.View.Details; @@ -122,32 +139,38 @@ // // pnlButton // - this.pnlButton.Controls.Add(this.linkLabel1); + this.pnlButton.BackColor = System.Drawing.SystemColors.Control; + this.pnlButton.Controls.Add(this.label1); this.pnlButton.Controls.Add(this.btnImportProfiles); this.pnlButton.Controls.Add(this.llbHelp); this.pnlButton.Controls.Add(this.btnStartStop); this.pnlButton.Controls.Add(this.btnClear); this.pnlButton.Controls.Add(this.lnkControllers); + this.pnlButton.Controls.Add(this.StartWindowsCheckBox); + this.pnlButton.Controls.Add(this.lbLastMessage); + this.pnlButton.Controls.Add(this.startMinimizedCheckBox); + this.pnlButton.Controls.Add(this.hideDS4CheckBox); this.pnlButton.Dock = System.Windows.Forms.DockStyle.Bottom; - this.pnlButton.Location = new System.Drawing.Point(0, 477); + this.pnlButton.Location = new System.Drawing.Point(0, 313); this.pnlButton.Name = "pnlButton"; - this.pnlButton.Size = new System.Drawing.Size(794, 35); + this.pnlButton.Size = new System.Drawing.Size(794, 80); this.pnlButton.TabIndex = 10; // - // linkLabel1 + // label1 // - this.linkLabel1.AutoSize = true; - this.linkLabel1.Location = new System.Drawing.Point(232, 11); - this.linkLabel1.Name = "linkLabel1"; - this.linkLabel1.Size = new System.Drawing.Size(51, 13); - this.linkLabel1.TabIndex = 15; - this.linkLabel1.TabStop = true; - this.linkLabel1.Text = "Programs"; - this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked); + this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(290, 58); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(98, 13); + this.label1.TabIndex = 46; + this.label1.Text = "Used to test values"; + this.label1.Visible = false; // // btnImportProfiles // - this.btnImportProfiles.Location = new System.Drawing.Point(9, 6); + this.btnImportProfiles.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.btnImportProfiles.Location = new System.Drawing.Point(7, 51); this.btnImportProfiles.Name = "btnImportProfiles"; this.btnImportProfiles.Size = new System.Drawing.Size(87, 23); this.btnImportProfiles.TabIndex = 14; @@ -157,19 +180,20 @@ // // llbHelp // + this.llbHelp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.llbHelp.AutoSize = true; - this.llbHelp.Location = new System.Drawing.Point(102, 11); + this.llbHelp.Location = new System.Drawing.Point(641, 8); this.llbHelp.Name = "llbHelp"; - this.llbHelp.Size = new System.Drawing.Size(62, 13); + this.llbHelp.Size = new System.Drawing.Size(79, 13); this.llbHelp.TabIndex = 13; this.llbHelp.TabStop = true; - this.llbHelp.Text = "Help/About"; + this.llbHelp.Text = "Hotkeys/About"; this.llbHelp.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.llbHelp_LinkClicked); // // btnStartStop // this.btnStartStop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.btnStartStop.Location = new System.Drawing.Point(666, 6); + this.btnStartStop.Location = new System.Drawing.Point(666, 51); this.btnStartStop.Name = "btnStartStop"; this.btnStartStop.Size = new System.Drawing.Size(119, 23); this.btnStartStop.TabIndex = 1; @@ -181,7 +205,7 @@ // this.btnClear.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btnClear.Enabled = false; - this.btnClear.Location = new System.Drawing.Point(563, 6); + this.btnClear.Location = new System.Drawing.Point(563, 51); this.btnClear.Name = "btnClear"; this.btnClear.Size = new System.Drawing.Size(97, 23); this.btnClear.TabIndex = 9; @@ -191,8 +215,9 @@ // // lnkControllers // + this.lnkControllers.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.lnkControllers.AutoSize = true; - this.lnkControllers.Location = new System.Drawing.Point(170, 11); + this.lnkControllers.Location = new System.Drawing.Point(726, 8); this.lnkControllers.Name = "lnkControllers"; this.lnkControllers.Size = new System.Drawing.Size(56, 13); this.lnkControllers.TabIndex = 11; @@ -200,218 +225,11 @@ this.lnkControllers.Text = "Controllers"; this.lnkControllers.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lnkControllers_LinkClicked); // - // hideDS4CheckBox - // - this.hideDS4CheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.hideDS4CheckBox.AutoSize = true; - this.hideDS4CheckBox.Location = new System.Drawing.Point(675, 109); - this.hideDS4CheckBox.Name = "hideDS4CheckBox"; - this.hideDS4CheckBox.Size = new System.Drawing.Size(119, 17); - this.hideDS4CheckBox.TabIndex = 13; - this.hideDS4CheckBox.Text = "Hide DS4 Controller"; - this.hideDS4CheckBox.UseVisualStyleBackColor = true; - this.hideDS4CheckBox.CheckedChanged += new System.EventHandler(this.hideDS4CheckBox_CheckedChanged); - // - // startMinimizedCheckBox - // - this.startMinimizedCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.startMinimizedCheckBox.AutoSize = true; - this.startMinimizedCheckBox.Location = new System.Drawing.Point(572, 109); - this.startMinimizedCheckBox.Name = "startMinimizedCheckBox"; - this.startMinimizedCheckBox.Size = new System.Drawing.Size(97, 17); - this.startMinimizedCheckBox.TabIndex = 40; - this.startMinimizedCheckBox.Text = "Start Minimized"; - this.startMinimizedCheckBox.UseVisualStyleBackColor = true; - this.startMinimizedCheckBox.CheckedChanged += new System.EventHandler(this.startMinimizedCheckBox_CheckedChanged); - // - // pnlDebug - // - this.pnlDebug.Controls.Add(this.lvDebug); - this.pnlDebug.Dock = System.Windows.Forms.DockStyle.Fill; - this.pnlDebug.Location = new System.Drawing.Point(0, 124); - this.pnlDebug.Name = "pnlDebug"; - this.pnlDebug.Size = new System.Drawing.Size(794, 353); - this.pnlDebug.TabIndex = 11; - // - // pnlStatus - // - this.pnlStatus.Controls.Add(this.gpPads); - this.pnlStatus.Dock = System.Windows.Forms.DockStyle.Top; - this.pnlStatus.Location = new System.Drawing.Point(0, 0); - this.pnlStatus.Name = "pnlStatus"; - this.pnlStatus.Size = new System.Drawing.Size(794, 124); - this.pnlStatus.TabIndex = 9; - // - // gpPads - // - this.gpPads.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) - | System.Windows.Forms.AnchorStyles.Right))); - this.gpPads.Controls.Add(this.label1); - this.gpPads.Controls.Add(this.lbSelPro4); - this.gpPads.Controls.Add(this.lbSelPro3); - this.gpPads.Controls.Add(this.lbSelPro2); - this.gpPads.Controls.Add(this.lbSelPro1); - this.gpPads.Controls.Add(this.lbPad4); - this.gpPads.Controls.Add(this.lbPad3); - this.gpPads.Controls.Add(this.lbPad2); - this.gpPads.Controls.Add(this.lbPad1); - this.gpPads.Controls.Add(this.bnEditC4); - this.gpPads.Controls.Add(this.bnEditC3); - this.gpPads.Controls.Add(this.hideDS4CheckBox); - this.gpPads.Controls.Add(this.bnEditC2); - this.gpPads.Controls.Add(this.StartWindowsCheckBox); - this.gpPads.Controls.Add(this.startMinimizedCheckBox); - this.gpPads.Controls.Add(this.bnDeleteC4); - this.gpPads.Controls.Add(this.bnDeleteC3); - this.gpPads.Controls.Add(this.bnDeleteC2); - this.gpPads.Controls.Add(this.bnDeleteC1); - this.gpPads.Controls.Add(this.bnEditC1); - this.gpPads.Controls.Add(this.cBController4); - this.gpPads.Controls.Add(this.cBController3); - this.gpPads.Controls.Add(this.cBController2); - this.gpPads.Controls.Add(this.cBController1); - this.gpPads.Controls.Add(this.lbLastMessage); - this.gpPads.Location = new System.Drawing.Point(-6, -9); - this.gpPads.Name = "gpPads"; - this.gpPads.Size = new System.Drawing.Size(803, 182); - this.gpPads.TabIndex = 1; - this.gpPads.TabStop = false; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(12, 117); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(35, 13); - this.label1.TabIndex = 46; - this.label1.Text = "label1"; - this.label1.Visible = false; - // - // lbSelPro4 - // - this.lbSelPro4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lbSelPro4.AutoSize = true; - this.lbSelPro4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbSelPro4.Location = new System.Drawing.Point(470, 86); - this.lbSelPro4.Name = "lbSelPro4"; - this.lbSelPro4.Size = new System.Drawing.Size(96, 15); - this.lbSelPro4.TabIndex = 45; - this.lbSelPro4.Text = "Selected Profile:"; - // - // lbSelPro3 - // - this.lbSelPro3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lbSelPro3.AutoSize = true; - this.lbSelPro3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbSelPro3.Location = new System.Drawing.Point(470, 62); - this.lbSelPro3.Name = "lbSelPro3"; - this.lbSelPro3.Size = new System.Drawing.Size(96, 15); - this.lbSelPro3.TabIndex = 45; - this.lbSelPro3.Text = "Selected Profile:"; - // - // lbSelPro2 - // - this.lbSelPro2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lbSelPro2.AutoSize = true; - this.lbSelPro2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbSelPro2.Location = new System.Drawing.Point(470, 40); - this.lbSelPro2.Name = "lbSelPro2"; - this.lbSelPro2.Size = new System.Drawing.Size(96, 15); - this.lbSelPro2.TabIndex = 45; - this.lbSelPro2.Text = "Selected Profile:"; - // - // lbSelPro1 - // - this.lbSelPro1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.lbSelPro1.AutoSize = true; - this.lbSelPro1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbSelPro1.Location = new System.Drawing.Point(470, 17); - this.lbSelPro1.Name = "lbSelPro1"; - this.lbSelPro1.Size = new System.Drawing.Size(96, 15); - this.lbSelPro1.TabIndex = 45; - this.lbSelPro1.Text = "Selected Profile:"; - // - // lbPad4 - // - this.lbPad4.AutoSize = true; - this.lbPad4.Font = new System.Drawing.Font("Lucida Console", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbPad4.Location = new System.Drawing.Point(12, 89); - this.lbPad4.Name = "lbPad4"; - this.lbPad4.Size = new System.Drawing.Size(167, 13); - this.lbPad4.TabIndex = 44; - this.lbPad4.Text = "Pad 4 : Disconnected"; - // - // lbPad3 - // - this.lbPad3.AutoSize = true; - this.lbPad3.Font = new System.Drawing.Font("Lucida Console", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbPad3.Location = new System.Drawing.Point(12, 66); - this.lbPad3.Name = "lbPad3"; - this.lbPad3.Size = new System.Drawing.Size(167, 13); - this.lbPad3.TabIndex = 44; - this.lbPad3.Text = "Pad 3 : Disconnected"; - // - // lbPad2 - // - this.lbPad2.AutoSize = true; - this.lbPad2.Font = new System.Drawing.Font("Lucida Console", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbPad2.Location = new System.Drawing.Point(12, 43); - this.lbPad2.Name = "lbPad2"; - this.lbPad2.Size = new System.Drawing.Size(167, 13); - this.lbPad2.TabIndex = 44; - this.lbPad2.Text = "Pad 2 : Disconnected"; - // - // lbPad1 - // - this.lbPad1.AutoSize = true; - this.lbPad1.Font = new System.Drawing.Font("Lucida Console", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.lbPad1.Location = new System.Drawing.Point(12, 19); - this.lbPad1.Name = "lbPad1"; - this.lbPad1.Size = new System.Drawing.Size(167, 13); - this.lbPad1.TabIndex = 44; - this.lbPad1.Text = "Pad 1 : Disconnected"; - // - // bnEditC4 - // - this.bnEditC4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.bnEditC4.Location = new System.Drawing.Point(698, 83); - this.bnEditC4.Name = "bnEditC4"; - this.bnEditC4.Size = new System.Drawing.Size(40, 23); - this.bnEditC4.TabIndex = 43; - this.bnEditC4.Tag = "3"; - this.bnEditC4.Text = "Edit"; - this.bnEditC4.UseVisualStyleBackColor = true; - this.bnEditC4.Click += new System.EventHandler(this.editButtons_Click); - // - // bnEditC3 - // - this.bnEditC3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.bnEditC3.Location = new System.Drawing.Point(698, 60); - this.bnEditC3.Name = "bnEditC3"; - this.bnEditC3.Size = new System.Drawing.Size(40, 23); - this.bnEditC3.TabIndex = 43; - this.bnEditC3.Tag = "2"; - this.bnEditC3.Text = "Edit"; - this.bnEditC3.UseVisualStyleBackColor = true; - this.bnEditC3.Click += new System.EventHandler(this.editButtons_Click); - // - // bnEditC2 - // - this.bnEditC2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.bnEditC2.Location = new System.Drawing.Point(698, 37); - this.bnEditC2.Name = "bnEditC2"; - this.bnEditC2.Size = new System.Drawing.Size(40, 23); - this.bnEditC2.TabIndex = 43; - this.bnEditC2.Tag = "1"; - this.bnEditC2.Text = "Edit"; - this.bnEditC2.UseVisualStyleBackColor = true; - this.bnEditC2.Click += new System.EventHandler(this.editButtons_Click); - // // StartWindowsCheckBox // - this.StartWindowsCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.StartWindowsCheckBox.Anchor = System.Windows.Forms.AnchorStyles.Bottom; this.StartWindowsCheckBox.AutoSize = true; - this.StartWindowsCheckBox.Location = new System.Drawing.Point(452, 109); + this.StartWindowsCheckBox.Location = new System.Drawing.Point(228, 28); this.StartWindowsCheckBox.Name = "StartWindowsCheckBox"; this.StartWindowsCheckBox.Size = new System.Drawing.Size(117, 17); this.StartWindowsCheckBox.TabIndex = 40; @@ -419,119 +237,39 @@ this.StartWindowsCheckBox.UseVisualStyleBackColor = true; this.StartWindowsCheckBox.CheckedChanged += new System.EventHandler(this.StartWindowsCheckBox_CheckedChanged); // - // bnDeleteC4 - // - this.bnDeleteC4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.bnDeleteC4.Location = new System.Drawing.Point(744, 83); - this.bnDeleteC4.Name = "bnDeleteC4"; - this.bnDeleteC4.Size = new System.Drawing.Size(47, 23); - this.bnDeleteC4.TabIndex = 43; - this.bnDeleteC4.Tag = "3"; - this.bnDeleteC4.Text = "Delete"; - this.bnDeleteC4.UseVisualStyleBackColor = true; - this.bnDeleteC4.Click += new System.EventHandler(this.deleteButtons_Click); - // - // bnDeleteC3 - // - this.bnDeleteC3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.bnDeleteC3.Location = new System.Drawing.Point(744, 60); - this.bnDeleteC3.Name = "bnDeleteC3"; - this.bnDeleteC3.Size = new System.Drawing.Size(47, 23); - this.bnDeleteC3.TabIndex = 43; - this.bnDeleteC3.Tag = "2"; - this.bnDeleteC3.Text = "Delete"; - this.bnDeleteC3.UseVisualStyleBackColor = true; - this.bnDeleteC3.Click += new System.EventHandler(this.deleteButtons_Click); - // - // bnDeleteC2 - // - this.bnDeleteC2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.bnDeleteC2.Location = new System.Drawing.Point(744, 37); - this.bnDeleteC2.Name = "bnDeleteC2"; - this.bnDeleteC2.Size = new System.Drawing.Size(47, 23); - this.bnDeleteC2.TabIndex = 43; - this.bnDeleteC2.Tag = "1"; - this.bnDeleteC2.Text = "Delete"; - this.bnDeleteC2.UseVisualStyleBackColor = true; - this.bnDeleteC2.Click += new System.EventHandler(this.deleteButtons_Click); - // - // bnDeleteC1 - // - this.bnDeleteC1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.bnDeleteC1.Location = new System.Drawing.Point(744, 13); - this.bnDeleteC1.Name = "bnDeleteC1"; - this.bnDeleteC1.Size = new System.Drawing.Size(47, 23); - this.bnDeleteC1.TabIndex = 43; - this.bnDeleteC1.Tag = "0"; - this.bnDeleteC1.Text = "Delete"; - this.bnDeleteC1.UseVisualStyleBackColor = true; - this.bnDeleteC1.Click += new System.EventHandler(this.deleteButtons_Click); - // - // bnEditC1 - // - this.bnEditC1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.bnEditC1.Location = new System.Drawing.Point(698, 13); - this.bnEditC1.Name = "bnEditC1"; - this.bnEditC1.Size = new System.Drawing.Size(40, 23); - this.bnEditC1.TabIndex = 43; - this.bnEditC1.Tag = "0"; - this.bnEditC1.Text = "Edit"; - this.bnEditC1.UseVisualStyleBackColor = true; - this.bnEditC1.Click += new System.EventHandler(this.editButtons_Click); - // - // cBController4 - // - this.cBController4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.cBController4.FormattingEnabled = true; - this.cBController4.Location = new System.Drawing.Point(571, 84); - this.cBController4.Name = "cBController4"; - this.cBController4.Size = new System.Drawing.Size(121, 21); - this.cBController4.TabIndex = 42; - this.cBController4.Tag = "3"; - this.cBController4.SelectedValueChanged += new System.EventHandler(this.Profile_Changed); - // - // cBController3 - // - this.cBController3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.cBController3.FormattingEnabled = true; - this.cBController3.Location = new System.Drawing.Point(571, 61); - this.cBController3.Name = "cBController3"; - this.cBController3.Size = new System.Drawing.Size(121, 21); - this.cBController3.TabIndex = 42; - this.cBController3.Tag = "2"; - this.cBController3.SelectedValueChanged += new System.EventHandler(this.Profile_Changed); - // - // cBController2 - // - this.cBController2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.cBController2.FormattingEnabled = true; - this.cBController2.Location = new System.Drawing.Point(571, 38); - this.cBController2.Name = "cBController2"; - this.cBController2.Size = new System.Drawing.Size(121, 21); - this.cBController2.TabIndex = 42; - this.cBController2.Tag = "1"; - this.cBController2.SelectedValueChanged += new System.EventHandler(this.Profile_Changed); - // - // cBController1 - // - this.cBController1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.cBController1.FormattingEnabled = true; - this.cBController1.Location = new System.Drawing.Point(571, 15); - this.cBController1.Name = "cBController1"; - this.cBController1.Size = new System.Drawing.Size(121, 21); - this.cBController1.TabIndex = 42; - this.cBController1.Tag = "0"; - this.cBController1.SelectedValueChanged += new System.EventHandler(this.Profile_Changed); - // // lbLastMessage // - this.lbLastMessage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.lbLastMessage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.lbLastMessage.ForeColor = System.Drawing.SystemColors.GrayText; - this.lbLastMessage.Location = new System.Drawing.Point(12, 110); + this.lbLastMessage.Location = new System.Drawing.Point(7, 8); this.lbLastMessage.Name = "lbLastMessage"; - this.lbLastMessage.Size = new System.Drawing.Size(434, 17); + this.lbLastMessage.Size = new System.Drawing.Size(628, 17); this.lbLastMessage.TabIndex = 41; - this.lbLastMessage.Visible = false; + // + // startMinimizedCheckBox + // + this.startMinimizedCheckBox.Anchor = System.Windows.Forms.AnchorStyles.Bottom; + this.startMinimizedCheckBox.AutoSize = true; + this.startMinimizedCheckBox.Location = new System.Drawing.Point(348, 28); + this.startMinimizedCheckBox.Name = "startMinimizedCheckBox"; + this.startMinimizedCheckBox.Size = new System.Drawing.Size(97, 17); + this.startMinimizedCheckBox.TabIndex = 40; + this.startMinimizedCheckBox.Text = "Start Minimized"; + this.startMinimizedCheckBox.UseVisualStyleBackColor = true; + this.startMinimizedCheckBox.CheckedChanged += new System.EventHandler(this.startMinimizedCheckBox_CheckedChanged); + // + // hideDS4CheckBox + // + this.hideDS4CheckBox.Anchor = System.Windows.Forms.AnchorStyles.Bottom; + this.hideDS4CheckBox.AutoSize = true; + this.hideDS4CheckBox.Location = new System.Drawing.Point(451, 28); + this.hideDS4CheckBox.Name = "hideDS4CheckBox"; + this.hideDS4CheckBox.Size = new System.Drawing.Size(119, 17); + this.hideDS4CheckBox.TabIndex = 13; + this.hideDS4CheckBox.Text = "Hide DS4 Controller"; + this.hideDS4CheckBox.UseVisualStyleBackColor = true; + this.hideDS4CheckBox.CheckedChanged += new System.EventHandler(this.hideDS4CheckBox_CheckedChanged); // // notifyIcon1 // @@ -541,7 +279,8 @@ this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon"))); this.notifyIcon1.Text = "DS4 Xinput Tool"; this.notifyIcon1.Visible = true; - this.notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon_Click); + this.notifyIcon1.BalloonTipClicked += new System.EventHandler(this.notifyIcon1_BalloonTipClicked); + this.notifyIcon1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseClick); // // cMTaskbar // @@ -596,6 +335,7 @@ // // openToolStripMenuItem // + this.openToolStripMenuItem.Font = new System.Drawing.Font("Segoe UI", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.openToolStripMenuItem.Name = "openToolStripMenuItem"; this.openToolStripMenuItem.Size = new System.Drawing.Size(214, 22); this.openToolStripMenuItem.Text = "Open"; @@ -605,7 +345,7 @@ // this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; this.exitToolStripMenuItem.Size = new System.Drawing.Size(214, 22); - this.exitToolStripMenuItem.Text = "Exit"; + this.exitToolStripMenuItem.Text = "Exit (Middle Mouse)"; this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); // // toolStripSeparator2 @@ -618,15 +358,456 @@ this.openProfiles.Filter = "XML Files (*.xml)|*.xml"; this.openProfiles.Multiselect = true; // + // tabMain + // + this.tabMain.Controls.Add(this.tabControllers); + this.tabMain.Controls.Add(this.tabProfiles); + this.tabMain.Controls.Add(this.tabLog); + this.tabMain.Controls.Add(this.tabAutoProfiles); + this.tabMain.Dock = System.Windows.Forms.DockStyle.Fill; + this.tabMain.Location = new System.Drawing.Point(0, 0); + this.tabMain.Name = "tabMain"; + this.tabMain.SelectedIndex = 0; + this.tabMain.Size = new System.Drawing.Size(794, 313); + this.tabMain.TabIndex = 12; + this.tabMain.SelectedIndexChanged += new System.EventHandler(this.tabControl1_SelectedIndexChanged); + // + // tabControllers + // + this.tabControllers.Controls.Add(this.tLPControllers); + this.tabControllers.Location = new System.Drawing.Point(4, 22); + this.tabControllers.Name = "tabControllers"; + this.tabControllers.Size = new System.Drawing.Size(786, 287); + this.tabControllers.TabIndex = 3; + this.tabControllers.Text = "Controllers"; + this.tabControllers.UseVisualStyleBackColor = true; + // + // tabProfiles + // + this.tabProfiles.Controls.Add(this.toolStrip1); + this.tabProfiles.Controls.Add(this.lBProfiles); + this.tabProfiles.Location = new System.Drawing.Point(4, 22); + this.tabProfiles.Name = "tabProfiles"; + this.tabProfiles.Padding = new System.Windows.Forms.Padding(3); + this.tabProfiles.Size = new System.Drawing.Size(786, 287); + this.tabProfiles.TabIndex = 0; + this.tabProfiles.Text = "Profiles"; + this.tabProfiles.UseVisualStyleBackColor = true; + // + // toolStrip1 + // + this.toolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; + this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.tsBNewProfle, + this.tsBEditProfile, + this.tsBDeleteProfile, + this.tSBDupProfile}); + this.toolStrip1.Location = new System.Drawing.Point(3, 3); + this.toolStrip1.Name = "toolStrip1"; + this.toolStrip1.Size = new System.Drawing.Size(780, 25); + this.toolStrip1.TabIndex = 1; + this.toolStrip1.Text = "toolStrip1"; + // + // tsBNewProfle + // + this.tsBNewProfle.Image = global::ScpServer.Properties.Resources.newprofile; + this.tsBNewProfle.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsBNewProfle.Name = "tsBNewProfle"; + this.tsBNewProfle.Size = new System.Drawing.Size(88, 22); + this.tsBNewProfle.Text = "New Profile"; + this.tsBNewProfle.TextAlign = System.Drawing.ContentAlignment.TopLeft; + this.tsBNewProfle.Click += new System.EventHandler(this.tsBNewProfile_Click); + // + // tsBEditProfile + // + this.tsBEditProfile.Image = global::ScpServer.Properties.Resources.edit; + this.tsBEditProfile.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsBEditProfile.Name = "tsBEditProfile"; + this.tsBEditProfile.Size = new System.Drawing.Size(84, 22); + this.tsBEditProfile.Text = "Edit Profile"; + this.tsBEditProfile.TextAlign = System.Drawing.ContentAlignment.TopLeft; + this.tsBEditProfile.Click += new System.EventHandler(this.tsBNEditProfile_Click); + // + // tsBDeleteProfile + // + this.tsBDeleteProfile.Image = ((System.Drawing.Image)(resources.GetObject("tsBDeleteProfile.Image"))); + this.tsBDeleteProfile.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tsBDeleteProfile.Name = "tsBDeleteProfile"; + this.tsBDeleteProfile.Size = new System.Drawing.Size(97, 22); + this.tsBDeleteProfile.Text = "Delete Profile"; + this.tsBDeleteProfile.TextAlign = System.Drawing.ContentAlignment.TopLeft; + this.tsBDeleteProfile.Click += new System.EventHandler(this.tsBDeleteProfle_Click); + // + // tSBDupProfile + // + this.tSBDupProfile.Image = ((System.Drawing.Image)(resources.GetObject("tSBDupProfile.Image"))); + this.tSBDupProfile.ImageTransparentColor = System.Drawing.Color.Magenta; + this.tSBDupProfile.Name = "tSBDupProfile"; + this.tSBDupProfile.Size = new System.Drawing.Size(120, 22); + this.tSBDupProfile.Text = "Dupliacate Profile"; + this.tSBDupProfile.TextAlign = System.Drawing.ContentAlignment.TopLeft; + this.tSBDupProfile.Click += new System.EventHandler(this.tSBDupProfile_Click); + // + // lBProfiles + // + this.lBProfiles.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lBProfiles.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.lBProfiles.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lBProfiles.FormattingEnabled = true; + this.lBProfiles.ItemHeight = 16; + this.lBProfiles.Location = new System.Drawing.Point(3, 29); + this.lBProfiles.MultiColumn = true; + this.lBProfiles.Name = "lBProfiles"; + this.lBProfiles.Size = new System.Drawing.Size(780, 256); + this.lBProfiles.TabIndex = 0; + this.lBProfiles.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.lBProfiles_MouseDoubleClick); + // + // tabLog + // + this.tabLog.Controls.Add(this.lvDebug); + this.tabLog.Location = new System.Drawing.Point(4, 22); + this.tabLog.Name = "tabLog"; + this.tabLog.Padding = new System.Windows.Forms.Padding(3); + this.tabLog.Size = new System.Drawing.Size(786, 287); + this.tabLog.TabIndex = 1; + this.tabLog.Text = "Log"; + this.tabLog.UseVisualStyleBackColor = true; + // + // tabAutoProfiles + // + this.tabAutoProfiles.Location = new System.Drawing.Point(4, 22); + this.tabAutoProfiles.Name = "tabAutoProfiles"; + this.tabAutoProfiles.Size = new System.Drawing.Size(786, 287); + this.tabAutoProfiles.TabIndex = 2; + this.tabAutoProfiles.Text = "Auto Profiles (Alpha)"; + this.tabAutoProfiles.UseVisualStyleBackColor = true; + // + // pBStatus4 + // + this.pBStatus4.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pBStatus4.Image = ((System.Drawing.Image)(resources.GetObject("pBStatus4.Image"))); + this.pBStatus4.InitialImage = global::ScpServer.Properties.Resources.BT; + this.pBStatus4.Location = new System.Drawing.Point(370, 106); + this.pBStatus4.Name = "pBStatus4"; + this.pBStatus4.Size = new System.Drawing.Size(39, 20); + this.pBStatus4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pBStatus4.TabIndex = 47; + this.pBStatus4.TabStop = false; + // + // pBStatus3 + // + this.pBStatus3.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pBStatus3.Image = ((System.Drawing.Image)(resources.GetObject("pBStatus3.Image"))); + this.pBStatus3.InitialImage = global::ScpServer.Properties.Resources.BT; + this.pBStatus3.Location = new System.Drawing.Point(370, 77); + this.pBStatus3.Name = "pBStatus3"; + this.pBStatus3.Size = new System.Drawing.Size(39, 20); + this.pBStatus3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pBStatus3.TabIndex = 47; + this.pBStatus3.TabStop = false; + // + // pBStatus2 + // + this.pBStatus2.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pBStatus2.Image = ((System.Drawing.Image)(resources.GetObject("pBStatus2.Image"))); + this.pBStatus2.InitialImage = global::ScpServer.Properties.Resources.BT; + this.pBStatus2.Location = new System.Drawing.Point(370, 48); + this.pBStatus2.Name = "pBStatus2"; + this.pBStatus2.Size = new System.Drawing.Size(39, 20); + this.pBStatus2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pBStatus2.TabIndex = 47; + this.pBStatus2.TabStop = false; + // + // lBBatt4 + // + this.lBBatt4.Anchor = System.Windows.Forms.AnchorStyles.None; + this.lBBatt4.AutoSize = true; + this.lBBatt4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lBBatt4.Location = new System.Drawing.Point(521, 109); + this.lBBatt4.Name = "lBBatt4"; + this.lBBatt4.Size = new System.Drawing.Size(39, 15); + this.lBBatt4.TabIndex = 44; + this.lBBatt4.Text = "100%"; + // + // lBBatt3 + // + this.lBBatt3.Anchor = System.Windows.Forms.AnchorStyles.None; + this.lBBatt3.AutoSize = true; + this.lBBatt3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lBBatt3.Location = new System.Drawing.Point(521, 80); + this.lBBatt3.Name = "lBBatt3"; + this.lBBatt3.Size = new System.Drawing.Size(39, 15); + this.lBBatt3.TabIndex = 44; + this.lBBatt3.Text = "100%"; + // + // lBBatt2 + // + this.lBBatt2.Anchor = System.Windows.Forms.AnchorStyles.None; + this.lBBatt2.AutoSize = true; + this.lBBatt2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lBBatt2.Location = new System.Drawing.Point(521, 51); + this.lBBatt2.Name = "lBBatt2"; + this.lBBatt2.Size = new System.Drawing.Size(39, 15); + this.lBBatt2.TabIndex = 44; + this.lBBatt2.Text = "100%"; + // + // lBBatt1 + // + this.lBBatt1.Anchor = System.Windows.Forms.AnchorStyles.None; + this.lBBatt1.AutoSize = true; + this.lBBatt1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lBBatt1.Location = new System.Drawing.Point(521, 22); + this.lBBatt1.Name = "lBBatt1"; + this.lBBatt1.Size = new System.Drawing.Size(39, 15); + this.lBBatt1.TabIndex = 44; + this.lBBatt1.Text = "100%"; + // + // label5 + // + this.label5.Anchor = System.Windows.Forms.AnchorStyles.None; + this.label5.AutoSize = true; + this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label5.Location = new System.Drawing.Point(515, 0); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(51, 15); + this.label5.TabIndex = 45; + this.label5.Text = "Battery"; + // + // label4 + // + this.label4.Anchor = System.Windows.Forms.AnchorStyles.None; + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label4.Location = new System.Drawing.Point(366, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(47, 15); + this.label4.TabIndex = 45; + this.label4.Text = "Status"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label3.Location = new System.Drawing.Point(3, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(21, 15); + this.label3.TabIndex = 45; + this.label3.Text = "ID"; + // + // label2 + // + this.label2.Anchor = System.Windows.Forms.AnchorStyles.None; + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(624, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(109, 15); + this.label2.TabIndex = 45; + this.label2.Text = "Selected Profile"; + // + // cBController4 + // + this.cBController4.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.cBController4.FormattingEnabled = true; + this.cBController4.Location = new System.Drawing.Point(622, 106); + this.cBController4.Name = "cBController4"; + this.cBController4.Size = new System.Drawing.Size(114, 21); + this.cBController4.TabIndex = 42; + this.cBController4.Tag = "3"; + this.cBController4.SelectedValueChanged += new System.EventHandler(this.Profile_Changed); + // + // bnEditC1 + // + this.bnEditC1.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.bnEditC1.Location = new System.Drawing.Point(742, 18); + this.bnEditC1.Name = "bnEditC1"; + this.bnEditC1.Size = new System.Drawing.Size(41, 23); + this.bnEditC1.TabIndex = 43; + this.bnEditC1.Tag = "0"; + this.bnEditC1.Text = "Edit"; + this.bnEditC1.UseVisualStyleBackColor = true; + this.bnEditC1.Click += new System.EventHandler(this.editButtons_Click); + // + // cBController3 + // + this.cBController3.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.cBController3.FormattingEnabled = true; + this.cBController3.Location = new System.Drawing.Point(622, 77); + this.cBController3.Name = "cBController3"; + this.cBController3.Size = new System.Drawing.Size(114, 21); + this.cBController3.TabIndex = 42; + this.cBController3.Tag = "2"; + this.cBController3.SelectedValueChanged += new System.EventHandler(this.Profile_Changed); + // + // cBController2 + // + this.cBController2.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.cBController2.FormattingEnabled = true; + this.cBController2.Location = new System.Drawing.Point(622, 48); + this.cBController2.Name = "cBController2"; + this.cBController2.Size = new System.Drawing.Size(114, 21); + this.cBController2.TabIndex = 42; + this.cBController2.Tag = "1"; + this.cBController2.SelectedValueChanged += new System.EventHandler(this.Profile_Changed); + // + // bnEditC2 + // + this.bnEditC2.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.bnEditC2.Location = new System.Drawing.Point(742, 47); + this.bnEditC2.Name = "bnEditC2"; + this.bnEditC2.Size = new System.Drawing.Size(41, 23); + this.bnEditC2.TabIndex = 43; + this.bnEditC2.Tag = "1"; + this.bnEditC2.Text = "Edit"; + this.bnEditC2.UseVisualStyleBackColor = true; + this.bnEditC2.Click += new System.EventHandler(this.editButtons_Click); + // + // cBController1 + // + this.cBController1.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.cBController1.FormattingEnabled = true; + this.cBController1.Location = new System.Drawing.Point(622, 19); + this.cBController1.Name = "cBController1"; + this.cBController1.Size = new System.Drawing.Size(114, 21); + this.cBController1.TabIndex = 42; + this.cBController1.Tag = "0"; + this.cBController1.SelectedValueChanged += new System.EventHandler(this.Profile_Changed); + // + // lbPad4 + // + this.lbPad4.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lbPad4.AutoSize = true; + this.lbPad4.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbPad4.Location = new System.Drawing.Point(3, 109); + this.lbPad4.Name = "lbPad4"; + this.lbPad4.Size = new System.Drawing.Size(123, 15); + this.lbPad4.TabIndex = 44; + this.lbPad4.Text = "Pad 4 : Disconnected"; + // + // lbPad3 + // + this.lbPad3.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lbPad3.AutoSize = true; + this.lbPad3.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbPad3.Location = new System.Drawing.Point(3, 80); + this.lbPad3.Name = "lbPad3"; + this.lbPad3.Size = new System.Drawing.Size(123, 15); + this.lbPad3.TabIndex = 44; + this.lbPad3.Text = "Pad 3 : Disconnected"; + // + // bnEditC4 + // + this.bnEditC4.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.bnEditC4.Location = new System.Drawing.Point(742, 105); + this.bnEditC4.Name = "bnEditC4"; + this.bnEditC4.Size = new System.Drawing.Size(41, 23); + this.bnEditC4.TabIndex = 43; + this.bnEditC4.Tag = "3"; + this.bnEditC4.Text = "Edit"; + this.bnEditC4.UseVisualStyleBackColor = true; + this.bnEditC4.Click += new System.EventHandler(this.editButtons_Click); + // + // bnEditC3 + // + this.bnEditC3.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.bnEditC3.Location = new System.Drawing.Point(742, 76); + this.bnEditC3.Name = "bnEditC3"; + this.bnEditC3.Size = new System.Drawing.Size(41, 23); + this.bnEditC3.TabIndex = 43; + this.bnEditC3.Tag = "2"; + this.bnEditC3.Text = "Edit"; + this.bnEditC3.UseVisualStyleBackColor = true; + this.bnEditC3.Click += new System.EventHandler(this.editButtons_Click); + // + // lbPad2 + // + this.lbPad2.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lbPad2.AutoSize = true; + this.lbPad2.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbPad2.Location = new System.Drawing.Point(3, 51); + this.lbPad2.Name = "lbPad2"; + this.lbPad2.Size = new System.Drawing.Size(123, 15); + this.lbPad2.TabIndex = 44; + this.lbPad2.Text = "Pad 2 : Disconnected"; + // + // lbPad1 + // + this.lbPad1.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lbPad1.AutoSize = true; + this.lbPad1.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbPad1.Location = new System.Drawing.Point(3, 22); + this.lbPad1.Name = "lbPad1"; + this.lbPad1.Size = new System.Drawing.Size(123, 15); + this.lbPad1.TabIndex = 44; + this.lbPad1.Text = "Pad 1 : Disconnected"; + // + // pBStatus1 + // + this.pBStatus1.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pBStatus1.Image = ((System.Drawing.Image)(resources.GetObject("pBStatus1.Image"))); + this.pBStatus1.InitialImage = global::ScpServer.Properties.Resources.BT; + this.pBStatus1.Location = new System.Drawing.Point(370, 19); + this.pBStatus1.Name = "pBStatus1"; + this.pBStatus1.Size = new System.Drawing.Size(39, 20); + this.pBStatus1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; + this.pBStatus1.TabIndex = 47; + this.pBStatus1.TabStop = false; + // + // tLPControllers + // + this.tLPControllers.ColumnCount = 5; + this.tLPControllers.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 51.34884F)); + this.tLPControllers.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 23.34039F)); + this.tLPControllers.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.31077F)); + this.tLPControllers.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 120F)); + this.tLPControllers.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 45F)); + this.tLPControllers.Controls.Add(this.pBStatus1, 1, 1); + this.tLPControllers.Controls.Add(this.lbPad1, 0, 1); + this.tLPControllers.Controls.Add(this.lbPad2, 0, 2); + this.tLPControllers.Controls.Add(this.bnEditC3, 4, 3); + this.tLPControllers.Controls.Add(this.bnEditC4, 4, 4); + this.tLPControllers.Controls.Add(this.lbPad3, 0, 3); + this.tLPControllers.Controls.Add(this.lbPad4, 0, 4); + this.tLPControllers.Controls.Add(this.cBController1, 3, 1); + this.tLPControllers.Controls.Add(this.bnEditC2, 4, 2); + this.tLPControllers.Controls.Add(this.cBController2, 3, 2); + this.tLPControllers.Controls.Add(this.cBController3, 3, 3); + this.tLPControllers.Controls.Add(this.bnEditC1, 4, 1); + this.tLPControllers.Controls.Add(this.cBController4, 3, 4); + this.tLPControllers.Controls.Add(this.label2, 3, 0); + this.tLPControllers.Controls.Add(this.label3, 0, 0); + this.tLPControllers.Controls.Add(this.label4, 1, 0); + this.tLPControllers.Controls.Add(this.label5, 2, 0); + this.tLPControllers.Controls.Add(this.lBBatt1, 2, 1); + this.tLPControllers.Controls.Add(this.lBBatt2, 2, 2); + this.tLPControllers.Controls.Add(this.lBBatt3, 2, 3); + this.tLPControllers.Controls.Add(this.lBBatt4, 2, 4); + this.tLPControllers.Controls.Add(this.pBStatus2, 1, 2); + this.tLPControllers.Controls.Add(this.pBStatus3, 1, 3); + this.tLPControllers.Controls.Add(this.pBStatus4, 1, 4); + this.tLPControllers.Dock = System.Windows.Forms.DockStyle.Top; + this.tLPControllers.Location = new System.Drawing.Point(0, 0); + this.tLPControllers.Name = "tLPControllers"; + this.tLPControllers.RowCount = 5; + this.tLPControllers.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tLPControllers.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tLPControllers.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tLPControllers.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tLPControllers.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tLPControllers.Size = new System.Drawing.Size(786, 130); + this.tLPControllers.TabIndex = 46; + // // ScpForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(794, 512); - this.Controls.Add(this.pnlDebug); + this.BackColor = System.Drawing.Color.White; + this.ClientSize = new System.Drawing.Size(794, 393); + this.Controls.Add(this.tabMain); this.Controls.Add(this.pnlButton); - this.Controls.Add(this.pnlStatus); - this.MinimumSize = new System.Drawing.Size(560, 192); + this.MinimumSize = new System.Drawing.Size(420, 190); this.Name = "ScpForm"; this.Text = "DS4Windows 1.0 Beta J2K Build"; this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form_Close); @@ -634,11 +815,20 @@ this.Resize += new System.EventHandler(this.Form_Resize); this.pnlButton.ResumeLayout(false); this.pnlButton.PerformLayout(); - this.pnlDebug.ResumeLayout(false); - this.pnlStatus.ResumeLayout(false); - this.gpPads.ResumeLayout(false); - this.gpPads.PerformLayout(); this.cMTaskbar.ResumeLayout(false); + this.tabMain.ResumeLayout(false); + this.tabControllers.ResumeLayout(false); + this.tabProfiles.ResumeLayout(false); + this.tabProfiles.PerformLayout(); + this.toolStrip1.ResumeLayout(false); + this.toolStrip1.PerformLayout(); + this.tabLog.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pBStatus4)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pBStatus3)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pBStatus2)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pBStatus1)).EndInit(); + this.tLPControllers.ResumeLayout(false); + this.tLPControllers.PerformLayout(); this.ResumeLayout(false); } @@ -651,35 +841,12 @@ private System.Windows.Forms.Timer tmrUpdate; private System.Windows.Forms.Panel pnlButton; private System.Windows.Forms.Button btnStartStop; - private System.Windows.Forms.Panel pnlDebug; private System.Windows.Forms.Button btnClear; - private System.Windows.Forms.Panel pnlStatus; - private System.Windows.Forms.GroupBox gpPads; private System.Windows.Forms.NotifyIcon notifyIcon1; private System.Windows.Forms.CheckBox hideDS4CheckBox; private System.Windows.Forms.CheckBox startMinimizedCheckBox; private System.Windows.Forms.Label lbLastMessage; private System.Windows.Forms.LinkLabel lnkControllers; - private System.Windows.Forms.ComboBox cBController4; - private System.Windows.Forms.ComboBox cBController3; - private System.Windows.Forms.ComboBox cBController2; - private System.Windows.Forms.ComboBox cBController1; - private System.Windows.Forms.Button bnEditC4; - private System.Windows.Forms.Button bnEditC3; - private System.Windows.Forms.Button bnEditC2; - private System.Windows.Forms.Button bnEditC1; - private System.Windows.Forms.Button bnDeleteC1; - private System.Windows.Forms.Button bnDeleteC4; - private System.Windows.Forms.Button bnDeleteC3; - private System.Windows.Forms.Button bnDeleteC2; - private System.Windows.Forms.Label lbPad4; - private System.Windows.Forms.Label lbPad3; - private System.Windows.Forms.Label lbPad2; - private System.Windows.Forms.Label lbPad1; - private System.Windows.Forms.Label lbSelPro1; - private System.Windows.Forms.Label lbSelPro4; - private System.Windows.Forms.Label lbSelPro3; - private System.Windows.Forms.Label lbSelPro2; private System.Windows.Forms.ContextMenuStrip cMTaskbar; private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem editProfileForController1ToolStripMenuItem; @@ -694,7 +861,42 @@ private System.Windows.Forms.Button btnImportProfiles; private System.Windows.Forms.CheckBox StartWindowsCheckBox; private System.Windows.Forms.Label label1; - private System.Windows.Forms.LinkLabel linkLabel1; + private System.Windows.Forms.TabControl tabMain; + private System.Windows.Forms.TabPage tabProfiles; + private System.Windows.Forms.TabPage tabLog; + private System.Windows.Forms.ListBox lBProfiles; + private System.Windows.Forms.ToolStrip toolStrip1; + private System.Windows.Forms.ToolStripButton tsBNewProfle; + private System.Windows.Forms.ToolStripButton tsBEditProfile; + private System.Windows.Forms.ToolStripButton tsBDeleteProfile; + private System.Windows.Forms.TabPage tabAutoProfiles; + private System.Windows.Forms.ToolStripButton tSBDupProfile; + private System.Windows.Forms.TabPage tabControllers; + private System.Windows.Forms.TableLayoutPanel tLPControllers; + private System.Windows.Forms.PictureBox pBStatus1; + private System.Windows.Forms.Label lbPad1; + private System.Windows.Forms.Label lbPad2; + private System.Windows.Forms.Button bnEditC3; + private System.Windows.Forms.Button bnEditC4; + private System.Windows.Forms.Label lbPad3; + private System.Windows.Forms.Label lbPad4; + private System.Windows.Forms.ComboBox cBController1; + private System.Windows.Forms.Button bnEditC2; + private System.Windows.Forms.ComboBox cBController2; + private System.Windows.Forms.ComboBox cBController3; + private System.Windows.Forms.Button bnEditC1; + private System.Windows.Forms.ComboBox cBController4; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label lBBatt1; + private System.Windows.Forms.Label lBBatt2; + private System.Windows.Forms.Label lBBatt3; + private System.Windows.Forms.Label lBBatt4; + private System.Windows.Forms.PictureBox pBStatus2; + private System.Windows.Forms.PictureBox pBStatus3; + private System.Windows.Forms.PictureBox pBStatus4; //private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; } } diff --git a/DS4Tool/ScpForm.cs b/DS4Tool/ScpForm.cs index cda2c70..96e3fb3 100644 --- a/DS4Tool/ScpForm.cs +++ b/DS4Tool/ScpForm.cs @@ -2,57 +2,118 @@ using System.Windows.Forms; using System.Runtime.InteropServices; using DS4Control; +using DS4Library; using System.IO; using System.Reflection; using System.Collections.Generic; using System.Net; using System.Management; +using System.Drawing; using Microsoft.Win32; using System.Diagnostics; namespace ScpServer { public partial class ScpForm : Form { - double version = 8.2; + double version = 9; private DS4Control.Control rootHub; delegate void LogDebugDelegate(DateTime Time, String Data); - protected Label[] Pads; + protected Label[] Pads, Batteries; protected ComboBox[] cbs; protected Button[] ebns; - protected Button[] dbns; - protected Label[] protexts; + protected PictureBox[] statPB; protected ToolStripMenuItem[] shortcuts; WebClient wc = new WebClient(); + Timer test = new Timer(), processcheck = new Timer(); + #region Aero + /*[StructLayout(LayoutKind.Sequential)] + public struct MARGINS + { + public int Left; + public int Right; + public int Top; + public int Bottom; + } + + [DllImport("dwmapi.dll")] + public static extern int DwmExtendFrameIntoClientArea(IntPtr hWnd, ref MARGINS pMargins); + ///

+ /// Determins whether the Desktop Windows Manager is enabled + /// and can therefore display Aero + /// + [DllImport("dwmapi.dll", PreserveSig = false)] + public static extern bool DwmIsCompositionEnabled(); + + + /// + /// Override the OnPaintBackground method, to draw the desired + /// Glass regions black and display as Glass + /// + protected override void OnPaintBackground(PaintEventArgs e) + { + base.OnPaint(e); + if (DwmIsCompositionEnabled()) + { + e.Graphics.Clear(Color.Black); + // put back the original form background for non-glass area + Rectangle clientArea = new Rectangle( + marg.Left, + marg.Top, + this.ClientRectangle.Width - marg.Left - marg.Right, + this.ClientRectangle.Height - marg.Top - marg.Bottom); + Brush b = new SolidBrush(this.BackColor); + e.Graphics.FillRectangle(b, clientArea); + } + } + + MARGINS marg = new MARGINS() { Left = 0, Right = 0, Top = 0, Bottom = 0 }; + /// + /// Use the form padding values to define a Glass margin + /// + private void trackBar1_Scroll(object sender, EventArgs e) + { + this.Padding = new Padding(this.trackBar1.Value); + int value = (int)trackBar1.Value; + marg = new MARGINS() { Left = value, Right = value, Top = value, Bottom = value }; + DwmExtendFrameIntoClientArea(this.Handle, ref marg); + //SetGlassRegion(); + //Invalidate(); + }*/ + #endregion + + protected void SetupArrays() + { + Pads = new Label[4] { lbPad1, lbPad2, lbPad3, lbPad4 }; + Batteries = new Label[4] { lBBatt1, lBBatt2, lBBatt3, lBBatt4 }; + cbs = new ComboBox[4] { cBController1, cBController2, cBController3, cBController4 }; + ebns = new Button[4] { bnEditC1, bnEditC2, bnEditC3, bnEditC4 }; + statPB = new PictureBox[4] { pBStatus1, pBStatus2, pBStatus3, pBStatus4 }; + + shortcuts = new ToolStripMenuItem[4] { (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[0], + (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[1], + (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[2], + (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[3] }; + } public ScpForm() { InitializeComponent(); ThemeUtil.SetTheme(lvDebug); - Pads = new Label[4] { lbPad1, lbPad2, lbPad3, lbPad4 }; - cbs = new ComboBox[4] { cBController1, cBController2, cBController3, cBController4 }; - ebns = new Button[4] { bnEditC1, bnEditC2, bnEditC3, bnEditC4 }; - dbns = new Button[4] { bnDeleteC1, bnDeleteC2, bnDeleteC3, bnDeleteC4 }; - protexts = new Label[4] { lbSelPro1, lbSelPro2, lbSelPro3, lbSelPro4 }; - - shortcuts = new ToolStripMenuItem[4] { (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[0], - (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[1], - (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[2], - (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[3] }; + SetupArrays(); foreach (ToolStripMenuItem t in shortcuts) t.DropDownItemClicked += Profile_Changed_Menu; CheckDrivers(); - Timer test = new Timer(), processcheck = new Timer(); //test.Start(); - processcheck.Start(); + //processcheck.Start(); processcheck.Tick += processcheck_Tick; - test.Tick += test_Tick; + test.Tick += test_Tick; } void processcheck_Tick(object sender, EventArgs e) { - Process pc = new Process(); + //Process[] processes = Process.GetProcessesByName(""); } private void test_Tick(object sender, EventArgs e) @@ -88,15 +149,18 @@ namespace ScpServer wd.ShowDialog(); } } - - private void Check_Version(object sender, System.ComponentModel.AsyncCompletedEventArgs e) + + private void linkLabel1_LinkClicked_1(object sender, LinkLabelLinkClickedEventArgs e) { + Uri url = new Uri("https://dl.dropboxusercontent.com/u/16364552/DS4Tool/newest%20version.txt"); //Sorry other devs, gonna have to find your own server + wc.DownloadFile(url, Global.appdatapath + "\\version.txt"); + Global.setLastChecked(DateTime.Now); double newversion; try { if (double.TryParse(File.ReadAllText(Global.appdatapath + "\\version.txt"), out newversion)) if (newversion > version) - if (MessageBox.Show("Download now?", "New Version Available!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) + if (MessageBox.Show("Download now?", "DS4Windows Update Available!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { if (!File.Exists("Updater.exe")) { @@ -110,7 +174,38 @@ namespace ScpServer else File.Delete(Global.appdatapath + "\\version.txt"); else - File.Delete(Global.appdatapath + "\\version.txt"); + { + File.Delete(Global.appdatapath + "\\version.txt"); + MessageBox.Show("No new version", "You're up to date"); + } + else + File.Delete(Global.appdatapath + "\\version.txt"); + } + catch { }; + } + + private void Check_Version(object sender, System.ComponentModel.AsyncCompletedEventArgs e) + { + double newversion; + try + { + if (double.TryParse(File.ReadAllText(Global.appdatapath + "\\version.txt"), out newversion)) + if (newversion > version) + if (MessageBox.Show("Download now?", "DS4Windows Update Available!", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) + { + if (!File.Exists("Updater.exe")) + { + Uri url2 = new Uri("https://dl.dropboxusercontent.com/u/16364552/DS4Tool/Updater.exe"); + WebClient wc2 = new WebClient(); + wc2.DownloadFile(url2, "Updater.exe"); + } + System.Diagnostics.Process.Start("Updater.exe"); + this.Close(); + } + else + File.Delete(Global.appdatapath + "\\version.txt"); + else + File.Delete(Global.appdatapath + "\\version.txt"); else File.Delete(Global.appdatapath + "\\version.txt"); } @@ -143,16 +238,7 @@ namespace ScpServer RegistryKey KeyLoc = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", false); StartWindowsCheckBox.Checked = (KeyLoc.GetValue("DS4Tool") != null); - Pads = new Label[4] { lbPad1, lbPad2, lbPad3, lbPad4 }; - cbs = new ComboBox[4] { cBController1, cBController2, cBController3, cBController4 }; - ebns = new Button[4] { bnEditC1, bnEditC2, bnEditC3, bnEditC4 }; - dbns = new Button[4] { bnDeleteC1, bnDeleteC2, bnDeleteC3, bnDeleteC4 }; - protexts = new Label[4] { lbSelPro1, lbSelPro2, lbSelPro3, lbSelPro4 }; - - shortcuts = new ToolStripMenuItem[4] { (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[0], - (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[1], - (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[2], - (ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[3] }; + SetupArrays(); if (startMinimizedCheckBox.Checked) { this.WindowState = FormWindowState.Minimized; @@ -173,6 +259,13 @@ namespace ScpServer wc.DownloadFileCompleted += Check_Version; Global.setLastChecked(DateTime.Now); } + WinProgs WP = new WinProgs(profilenames.ToArray()); + WP.TopLevel = false; + WP.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + WP.Visible = true; + WP.Dock = DockStyle.Fill; + WP.Enabled = false; + tabAutoProfiles.Controls.Add(WP); } List profilenames = new List(); public void RefreshProfiles() @@ -184,6 +277,8 @@ namespace ScpServer foreach (String s in profiles) if (s.EndsWith(".xml")) profilenames.Add(Path.GetFileNameWithoutExtension(s)); + lBProfiles.Items.Clear(); + lBProfiles.Items.AddRange(profilenames.ToArray()); for (int i = 0; i < 4; i++) { cbs[i].Items.Clear(); @@ -261,6 +356,16 @@ namespace ScpServer } } + protected void ShowNotification(object sender, string text) + { + if (Form.ActiveForm != this) + { + this.notifyIcon1.BalloonTipText = text; + notifyIcon1.BalloonTipTitle = "DS4Windows"; + notifyIcon1.ShowBalloonTip(1); + } + } + protected void Form_Resize(object sender, EventArgs e) { if (FormWindowState.Minimized == this.WindowState) @@ -278,11 +383,8 @@ namespace ScpServer //Added last message alternative if (this.Height > 220) - lbLastMessage.Visible = false; + lbLastMessage.Visible = tabMain.SelectedIndex != 2; else lbLastMessage.Visible = true; - if (protexts != null) - for (int i = 0; i < 4; i++) - protexts[i].Visible = (this.Width > 665); } protected void btnStartStop_Click(object sender, EventArgs e) @@ -341,10 +443,17 @@ namespace ScpServer { // If controllers are detected, but not checked, automatically check #1 //bool checkFirst = true; - String tooltip = "DS4Windows"; + String tooltip = "DS4Windows v" + version; for (Int32 Index = 0; Index < Pads.Length; Index++) { - Pads[Index].Text = rootHub.getDS4ControllerInfo(Index); + Pads[Index].Text = rootHub.getDS4MacAddress(Index); + switch (rootHub.getDS4Status(Index)) + { + case "USB": statPB[Index].Image = Properties.Resources.USB; break; + case "BT": statPB[Index].Image = Properties.Resources.BT; break; + default: statPB[Index].Image = Properties.Resources.none; break; + } + Batteries[Index].Text = rootHub.getDS4Battery(Index); if (Pads[Index].Text != String.Empty) { Pads[Index].Enabled = true; @@ -352,9 +461,10 @@ namespace ScpServer { cbs[Index].Enabled = true; ebns[Index].Enabled = true; - dbns[Index].Enabled = true; - protexts[Index].Enabled = true; shortcuts[Index].Enabled = true; + Batteries[Index].Enabled = true; + MinimumSize = new Size(MinimumSize.Width, 190 + 29 * Index); + rootHub.DS4Controllers[Index].Report += ScpForm_Report; } // As above //if (checkFirst && (Pads[Index].Checked && Index != 0)) @@ -366,10 +476,12 @@ namespace ScpServer Pads[Index].Enabled = false; cbs[Index].Enabled = false; ebns[Index].Enabled = false; - dbns[Index].Enabled = false; - protexts[Index].Enabled = false; - if (OptionsDialog[Index] != null) - OptionsDialog[Index].Close(); + Batteries[Index].Enabled = false; + if (opt != null && opt.device == Index) + { + opt.Close(); + opt = null; + } shortcuts[Index].Enabled = false; // As above //if (Index == 0) @@ -385,22 +497,139 @@ namespace ScpServer // Pads[0].Checked = true; notifyIcon1.Text = tooltip; } + + delegate void HotKeysDelegate(object sender, EventArgs e); + void ScpForm_Report(object sender, EventArgs e) + { + if (InvokeRequired) + Invoke(new HotKeysDelegate(Hotkeys), new object[] { sender, e }); + else + Hotkeys(sender, e); + } + + void Hotkeys(object sender, EventArgs e) + { + //DS4Device device = (DS4Device)sender; + for (int i = 0; i < 4; i++) + { + string slide = rootHub.TouchpadSlide(0); + if (slide == "left") + { + if (cbs[i].SelectedIndex == 0) + cbs[i].SelectedIndex = cbs[0].Items.Count - 2; + else + cbs[i].SelectedIndex--; + } + else if (slide == "right") + { + if (cbs[i].SelectedIndex == cbs[0].Items.Count - 2) + cbs[i].SelectedIndex = 0; + else + cbs[i].SelectedIndex++; + } + if (slide.Contains("t")) + { + LogDebug(DateTime.Now, "Controller " + (i + 1) + " is now using Profile \"" + cbs[i].Text + "\""); + ShowNotification(this, "Controller " + (i + 1) + " is now using Profile \"" + cbs[i].Text + "\""); + } + } + } + protected void On_Debug(object sender, DS4Control.DebugEventArgs e) { LogDebug(e.Time, e.Data); } - private Options[] OptionsDialog = { null, null, null, null }; + + private void lBProfiles_MouseDoubleClick(object sender, MouseEventArgs e) + { + if (lBProfiles.SelectedIndex >= 0) + ShowOptions(4, lBProfiles.SelectedItem.ToString()); + } + + + private void tsBNewProfile_Click(object sender, EventArgs e) + { + ShowOptions(4, ""); + } + + + private void tsBNEditProfile_Click(object sender, EventArgs e) + { + if (lBProfiles.SelectedIndex >= 0) + ShowOptions(4, lBProfiles.SelectedItem.ToString()); + } + + private void tsBDeleteProfle_Click(object sender, EventArgs e) + { + if (lBProfiles.SelectedIndex >= 0) + { + string filename = lBProfiles.SelectedItem.ToString(); + if (MessageBox.Show("\"" + filename + "\" cannot be restored.", "Delete Profile?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) + { + System.IO.File.Delete(Global.appdatapath + "\\Profiles\\" + filename + ".xml"); + RefreshProfiles(); + } + } + } + + + private void tSBDupProfile_Click(object sender, EventArgs e) + { + string filename = ""; + if (lBProfiles.SelectedIndex >= 0) + { + filename = lBProfiles.SelectedItem.ToString(); + MessageTextBox MTB = new MessageTextBox(filename, this); + MTB.TopLevel = false; + MTB.Dock = DockStyle.Top; + MTB.Visible = true; + MTB.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + tabProfiles.Controls.Add(MTB); + lBProfiles.SendToBack(); + toolStrip1.SendToBack(); + toolStrip1.Enabled = false; + lBProfiles.Enabled = false; + MTB.FormClosed += delegate { toolStrip1.Enabled = true; lBProfiles.Enabled = true; }; + } + } + //private Options[] OptionsDialog = { null, null, null, null }; + Options opt; + private System.Drawing.Size oldsize; private void ShowOptions(int devID, string profile) { - if (OptionsDialog[devID] == null) + //if (OptionsDialog[devID] == null) + if (opt == null) { - Options opt; - opt = OptionsDialog[devID] = new Options(rootHub, devID, profile); + this.Show(); + WindowState = FormWindowState.Normal; + toolStrip1.Enabled = false; + opt = new Options(rootHub, devID, profile, this); opt.Text = "Options for Controller " + (devID + 1); opt.Icon = this.Icon; - opt.FormClosed += delegate { OptionsDialog[devID] = null; RefreshProfiles(); }; - opt.Show(); + opt.TopLevel = false; + opt.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + opt.Visible = true; + opt.Dock = DockStyle.Fill; + tabProfiles.Controls.Add(opt); + lBProfiles.SendToBack(); + toolStrip1.SendToBack(); + FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + opt.FormClosed += delegate + { + opt = null; + RefreshProfiles(); + FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable; + this.Size = oldsize; + oldsize = new System.Drawing.Size(0, 0); + toolStrip1.Enabled = true; + }; + oldsize = this.Size; + if (this.Size.Height < 470) + this.Size = new System.Drawing.Size(this.Size.Width, 470); + if (this.Size.Width < 910) + this.Size = new System.Drawing.Size(910, this.Size.Height); + tabMain.SelectedIndex = 1; } } private void editButtons_Click(object sender, EventArgs e) @@ -426,23 +655,10 @@ namespace ScpServer private void Enable_Controls(int device, bool on) { ebns[device].Enabled = on; - dbns[device].Enabled = on; cbs[device].Enabled = on; shortcuts[device].Enabled = on; } - private void deleteButtons_Click(object sender, EventArgs e) - { - Button bn = (Button)sender; - int tdevice = Int32.Parse(bn.Tag.ToString()); - string filename = cbs[tdevice].Items[cbs[tdevice].SelectedIndex].ToString(); - if (MessageBox.Show("\"" + filename + "\" cannot be restored.", "Delete Profile?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) - { - System.IO.File.Delete(Global.appdatapath + "\\Profiles\\" +filename + ".xml"); - Global.setAProfile(tdevice, null); - RefreshProfiles(); - } - } - + private void hotkeysButton_Click(object sender, EventArgs e) { Hotkeys hotkeysForm = new Hotkeys(); @@ -504,6 +720,7 @@ namespace ScpServer else ebns[tdevice].Text = "Edit"; } + ControllerStatusChanged(); } private void Profile_Changed_Menu(object sender, ToolStripItemClickedEventArgs e) @@ -537,31 +754,26 @@ namespace ScpServer private void openToolStripMenuItem_Click(object sender, EventArgs e) { - notifyIcon_Click(sender, e); - } + this.Show(); + WindowState = FormWindowState.Normal; + } - private void notifyIcon_Click(object sender, EventArgs e) + private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) + { + if (e.Button == System.Windows.Forms.MouseButtons.Left) + { + this.Show(); + WindowState = FormWindowState.Normal; + } + else if (e.Button == System.Windows.Forms.MouseButtons.Middle) + this.Close(); + } + private void notifyIcon1_BalloonTipClicked(object sender, EventArgs e) { this.Show(); WindowState = FormWindowState.Normal; } - private void linkProfiles_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - openProfiles.InitialDirectory = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + @"\Profiles\"; - if (openProfiles.ShowDialog() == System.Windows.Forms.DialogResult.OK) - { - string[] files = openProfiles .FileNames; - for (int i = 0; i < files.Length; i++) - { - string[] temp = files[i].Split('\\'); - files[i] = temp[temp.Length-1]; - File.Copy(openProfiles.FileNames[i], Global.appdatapath + "\\Profiles\\" + files[i], true); - } - RefreshProfiles(); - } - } - private void llbHelp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { Hotkeys hotkeysForm = new Hotkeys(); @@ -583,8 +795,16 @@ namespace ScpServer protected void Form_Close(object sender, FormClosingEventArgs e) { - Global.setFormWidth(this.Width); - Global.setFormHeight(this.Height); + if (oldsize == new System.Drawing.Size(0, 0)) + { + Global.setFormWidth(this.Width); + Global.setFormHeight(this.Height); + } + else + { + Global.setFormWidth(oldsize.Width); + Global.setFormHeight(oldsize.Height); + } Global.Save(); rootHub.Stop(); } @@ -604,6 +824,29 @@ namespace ScpServer WP.ShowDialog(); } + private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) + { + lbLastMessage.Visible = tabMain.SelectedIndex != 2; + if (tabMain.SelectedIndex == 3 && opt == null) + { + if (this.Size.Width < 755 || this.Size.Height < 355) + oldsize = Size; + if (this.Size.Height < 355) + this.Size = new System.Drawing.Size(this.Size.Width, 355); + if (this.Size.Width < 755) + this.Size = new System.Drawing.Size(755, this.Size.Height); + + } + else if (oldsize != new System.Drawing.Size(0, 0) && opt == null) + { + Size = oldsize; + oldsize = new System.Drawing.Size(0, 0); + } + + } + + + } public class ThemeUtil diff --git a/DS4Tool/ScpForm.resx b/DS4Tool/ScpForm.resx index 49fecf4..002297b 100644 --- a/DS4Tool/ScpForm.resx +++ b/DS4Tool/ScpForm.resx @@ -6302,4 +6302,255 @@ 449, 17 + + 568, 17 + + + 568, 17 + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEpSURBVDhPYxhc4GJ69P+zyRH/oVwMsMXX/f9GL2fs8ucS + gv9/XDnz/8eZHf932ZtgKFqgp/7/9YJJ/193F/1faqaPacipaL//76c2/P8+p/X/x96y/xvN9eCKQJpB + hn+bWgs2YKGhNnZXgGx+3ZD6/0Nb1v+Xdcn/V+ir/wdpfregDy42Q0Eau2YYANn8NMf3//OSULAGkI3P + C4PAYtPlpfBrhgGQzQ/S3P4/SLD7fyfEAIwJ2owMQM5+mBv0/6a/FhwTbTtYc2Mm3GYYvuavR9gQkOZH + 7cVgp9+KsgY7G6QJxIaJ4TRkvZM1WDMosO6leqL4GaQJJAaSu5Psjj0a19ib/7+X6Q/2O7YAAxkCkgPh + +fpa2F0B8sI8HTXskkAAksMnPxCAgQEAgp/brMfRrFIAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADQSURBVDhPlZCxCsIwEIbziO76CL6CXYNjJl1dMnQpLobu + Lm7ViuCkUwW1jtItcmdPbXoh8YOflHD5+nNCa225iFhg2AXu8jyPk/gEQJSEhsvz3a6PV/yGh8aYT9pR + Hq4BkCQJm14rEuxON2ywKi423VQ47EKS9ukbt0HTPPH0CQCl1FcSajBdHuwk3aNYSomPKR2BC9cAqB81 + picINRgvSjucb+1AFXj/dwPaDZ0dgZssy9gGoxnTwAcsjIC//gYICmAACO7ABwl8RAlCEUKIFyWXYHlY + K643AAAAAElFTkSuQmCC + + + + + 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 + 1WDefQHxFbbcLCQjmgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAACcAAAAUCAYAAAAOTSQ2AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH + DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp + bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE + sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs + AIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4 + JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR + 3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQd + li7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtF + ehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGX + wzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNF + hImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH55 + 4SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJ + VgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB + 5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyC + qbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiE + j6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I + 1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9 + rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhG + fDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp + B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJ + yeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJC + YVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQln + yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v + vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp + vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L + Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA + bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z + llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW + ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s + xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6 + eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw + YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR + XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm + WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl + xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2 + dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8 + V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za + Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v + Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb + PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/ + 0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h + /HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr + XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS + fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+ + tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/ + 6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEwAACxMBAJqcGAAAAT5JREFUSEvNlL2Kg1AQ + RvNsptdgY2EhaCPYphERBn8iKSzEMgQCQbBSECx9Nne/Czew7GRj1iA3cCCcKTzMiLt5npWFlarASlVg + pSqwcgl5nlOSJMTNQBAE5Pv+0/kSWPkK+v5N00TDMJDneb8CDMOgcRypaRqyLOvfgax8RRRF1HWdCGjb + lmzbfgQgDOF934s40zS3jQPY2PV6pfv9TpfLRUTIjUm33++3P6sEGyvLkuq6FjHYVFVVwmmatioMsPId + sLGiKChNUwrDULB2YxJWvgNOiU0dj8cHn9gaYOVSEIZzyo1JPhXIyiUg7Ha7iXPGcSxOiSD8l25tICtf + 4bquCMM5T6fTj3cMQXCYZVm2/afEcRw6n88igHv5EYgZOBwO28YBnFXX9acPxuyv+RJYqQqsVAVWqgIr + 1WDefQHxFbbcLCQjmgAAAABJRU5ErkJggg== + + + + + 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 + 1WDefQHxFbbcLCQjmgAAAABJRU5ErkJggg== + + + + + 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 + 1WDefQHxFbbcLCQjmgAAAABJRU5ErkJggg== + + \ No newline at end of file diff --git a/DS4Tool/WinProgs.Designer.cs b/DS4Tool/WinProgs.Designer.cs index 827654f..f1e0617 100644 --- a/DS4Tool/WinProgs.Designer.cs +++ b/DS4Tool/WinProgs.Designer.cs @@ -32,7 +32,6 @@ this.button2 = new System.Windows.Forms.Button(); this.listBox2 = new System.Windows.Forms.ListBox(); this.label1 = new System.Windows.Forms.Label(); - this.lBProfiles = new System.Windows.Forms.ListBox(); this.comboBox1 = new System.Windows.Forms.ComboBox(); this.comboBox2 = new System.Windows.Forms.ComboBox(); this.comboBox3 = new System.Windows.Forms.ComboBox(); @@ -42,6 +41,7 @@ this.label3 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); this.SuspendLayout(); // // listBox1 @@ -52,8 +52,6 @@ this.listBox1.Size = new System.Drawing.Size(279, 199); this.listBox1.TabIndex = 0; this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged); - this.listBox1.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listBox1_KeyDown); - this.listBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listBox1_MouseDoubleClick); // // button2 // @@ -72,8 +70,6 @@ this.listBox2.Size = new System.Drawing.Size(220, 199); this.listBox2.TabIndex = 0; this.listBox2.SelectedIndexChanged += new System.EventHandler(this.listBox2_SelectedIndexChanged); - this.listBox2.KeyDown += new System.Windows.Forms.KeyEventHandler(this.listBox2_KeyDown); - this.listBox2.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listBox2_MouseDoubleClick); // // label1 // @@ -82,15 +78,6 @@ this.label1.Size = new System.Drawing.Size(717, 19); this.label1.TabIndex = 3; // - // lBProfiles - // - this.lBProfiles.FormattingEnabled = true; - this.lBProfiles.Location = new System.Drawing.Point(516, 136); - this.lBProfiles.Name = "lBProfiles"; - this.lBProfiles.Size = new System.Drawing.Size(196, 30); - this.lBProfiles.TabIndex = 4; - this.lBProfiles.Visible = false; - // // comboBox1 // this.comboBox1.FormattingEnabled = true; @@ -173,11 +160,24 @@ this.label5.TabIndex = 7; this.label5.Text = "Controller 4"; // + // label6 + // + this.label6.AutoSize = true; + this.label6.BackColor = System.Drawing.Color.Transparent; + this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label6.Location = new System.Drawing.Point(530, 129); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(182, 24); + this.label6.TabIndex = 8; + this.label6.Text = "Not yet ready for use"; + // // WinProgs // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.White; this.ClientSize = new System.Drawing.Size(736, 230); + this.Controls.Add(this.label6); this.Controls.Add(this.label5); this.Controls.Add(this.label4); this.Controls.Add(this.label3); @@ -186,7 +186,6 @@ this.Controls.Add(this.comboBox3); this.Controls.Add(this.comboBox2); this.Controls.Add(this.comboBox1); - this.Controls.Add(this.lBProfiles); this.Controls.Add(this.label1); this.Controls.Add(this.bnSave); this.Controls.Add(this.button2); @@ -205,7 +204,6 @@ private System.Windows.Forms.Button button2; private System.Windows.Forms.ListBox listBox2; private System.Windows.Forms.Label label1; - private System.Windows.Forms.ListBox lBProfiles; private System.Windows.Forms.ComboBox comboBox1; private System.Windows.Forms.ComboBox comboBox2; private System.Windows.Forms.ComboBox comboBox3; @@ -215,5 +213,6 @@ private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label6; } } \ No newline at end of file diff --git a/DS4Tool/WinProgs.cs b/DS4Tool/WinProgs.cs index 5ea4249..e2551f7 100644 --- a/DS4Tool/WinProgs.cs +++ b/DS4Tool/WinProgs.cs @@ -19,22 +19,23 @@ namespace ScpServer public partial class WinProgs : Form { ToolTip tp = new ToolTip(); + ComboBox[] cbs; public WinProgs(string[] oc) { InitializeComponent(); - comboBox1.Text = "(none)"; - comboBox2.Text = "(none)"; - comboBox3.Text = "(none)"; - comboBox4.Text = "(none)"; - comboBox1.Items.AddRange(oc); - comboBox2.Items.AddRange(oc); - comboBox3.Items.AddRange(oc); - comboBox4.Items.AddRange(oc); - foreach (string o in oc) - lBProfiles.Items.Add(o); - string[] lods = Directory.GetDirectories(@"C:\Program Files (x86)\Steam\SteamApps\common"); - foreach (string s in lods) - listBox1.Items.Add(Path.GetFileName(s)); + cbs = new ComboBox[4] { comboBox1, comboBox2, comboBox3, comboBox4 }; + for (int i = 0; i < 4; i++) + { + cbs[i].Text = "(none)"; + cbs[i].Items.AddRange(oc); + } + try + { + string[] lods = Directory.GetDirectories(@"C:\Program Files (x86)\Steam\steamapps\common"); + foreach (string s in lods) + listBox1.Items.Add(Path.GetFileName(s)); + } + catch { } if (!File.Exists(Global.appdatapath + @"\Auto Profiles.xml")) Create(); //foreach (ListBox.ObjectCollection s in listBox1.Items) @@ -47,21 +48,6 @@ namespace ScpServer } - private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e) - { - string s = listBox1.SelectedItem.ToString(); - string[] lods = Directory.GetFiles(@"C:\Program Files (x86)\Steam\SteamApps\common\" + s, "*.exe", SearchOption.AllDirectories); - listBox2.Items.Clear(); - foreach (string st in lods) - if (!st.Contains("setup") && !st.Contains("dotnet") && !st.Contains("SETUP") && !st.Contains("vcredist")) - listBox2.Items.Add(Path.GetFileNameWithoutExtension(st)); - } - - private void listBox1_KeyDown(object sender, KeyEventArgs e) - { - if (e.KeyValue == 13) - listBox1_MouseDoubleClick(sender, null); - } List lods = new List(); private void listBox1_SelectedIndexChanged(object sender, EventArgs e) { @@ -79,35 +65,15 @@ namespace ScpServer listBox2.Items.Add(Path.GetFileNameWithoutExtension(st)); } - private void listBox2_MouseDoubleClick(object sender, MouseEventArgs e) - { - - } - - private void listBox2_KeyDown(object sender, KeyEventArgs e) - { - if (e.KeyValue == 13) - listBox2_MouseDoubleClick(sender, null); - } - private void listBox2_SelectedIndexChanged(object sender, EventArgs e) { if (listBox2.SelectedIndex >= 0) - label1.Text = lods[listBox2.SelectedIndex]; + { + label1.Text = lods[listBox2.SelectedIndex]; + LoadP(); + } } - private void Controller_CheckedChanged(object sender, EventArgs e) - { - /*if (cBC1.Checked) - Global.setAProfile(0, lBProfiles.SelectedItem.ToString()); - if (cBC2.Checked) - Global.setAProfile(1, lBProfiles.SelectedItem.ToString()); - if (cBC3.Checked) - Global.setAProfile(2, lBProfiles.SelectedItem.ToString()); - if (cBC4.Checked) - Global.setAProfile(3, lBProfiles.SelectedItem.ToString());*/ - Save(); - } protected String m_Profile = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool\\Auto Profiles.xml"; protected XmlDocument m_Xdoc = new XmlDocument(); @@ -143,13 +109,11 @@ namespace ScpServer //try { XmlNode Node; - Node = m_Xdoc.SelectSingleNode("Programs"); - //Node = m_Xdoc.CreateComment(String.Format(" Auto-Profile Configuration Data. {0} ", DateTime.Now)); - //m_Xdoc.AppendChild(Node); + Node = m_Xdoc.SelectSingleNode("Programs"); string programname = listBox2.SelectedItem.ToString(); //if (programname.Contains(" ")) - programname.Replace(' ', ','); + programname = programname.Replace(' ', '_'); XmlNode xmlprogram = m_Xdoc.CreateNode(XmlNodeType.Element, programname, null); XmlNode xmlController1 = m_Xdoc.CreateNode(XmlNodeType.Element, "Controller1", null); @@ -180,6 +144,42 @@ namespace ScpServer return Saved; } + public void LoadP() + { + //try + { + if (File.Exists(m_Profile)) + { + XmlNode Item; + m_Xdoc.Load(m_Profile); + string programname = listBox2.SelectedItem.ToString(); + programname = programname.Replace(' ', '_'); + string[] profiles = new string[4]; + for (int i = 0; i < 4; i++) + { + try + { + Item = m_Xdoc.SelectSingleNode("/Programs/" + programname + "/Controller" + (i + 1)); + profiles[i] = Item.InnerText; + for (int j = 0; j < cbs[i].Items.Count; j++) + if (cbs[i].Items[j].ToString() == profiles[i]) + { + cbs[i].SelectedIndex = j; + break; + } + //else + //cbs[i].Text = "(none)"; + } + catch { cbs[i].Text = "(none)"; } + } + } + } + //catch { missingSetting = true; } + //return missingSetting; + //if (missingSetting) + //label1.Content = "Current version not found, please re-run DS4Tool"; + } + private void CBProfile_IndexChanged(object sender, EventArgs e) {