From a4d7372e7bcc3451e52d815c8ba19762ab7820bb Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sat, 2 Mar 2019 05:42:49 -0600 Subject: [PATCH 01/17] Do not reset custom led setting while switching profiles Related to issue #596 --- DS4Windows/DS4Control/ScpUtil.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DS4Windows/DS4Control/ScpUtil.cs b/DS4Windows/DS4Control/ScpUtil.cs index 7c3b961..fdf3ef7 100644 --- a/DS4Windows/DS4Control/ScpUtil.cs +++ b/DS4Windows/DS4Control/ScpUtil.cs @@ -3983,8 +3983,8 @@ namespace DS4Windows m_Leds[device] = new DS4Color(tempColor); m_ChargingLeds[device] = new DS4Color(Color.Black); m_FlashLeds[device] = new DS4Color(Color.Black); - useCustomLeds[device] = false; - m_CustomLeds[device] = new DS4Color(Color.Blue); + //useCustomLeds[device] = false; + //m_CustomLeds[device] = new DS4Color(Color.Blue); chargingType[device] = 0; launchProgram[device] = string.Empty; From 425b1dd47abbcdf5becb6e71e72a53c0e2321fa7 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sun, 3 Mar 2019 00:35:17 -0600 Subject: [PATCH 02/17] Change haptic changing routine to skip always searching for existing device --- DS4Windows/DS4Control/ControlService.cs | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/DS4Windows/DS4Control/ControlService.cs b/DS4Windows/DS4Control/ControlService.cs index 580efe4..3f497a5 100644 --- a/DS4Windows/DS4Control/ControlService.cs +++ b/DS4Windows/DS4Control/ControlService.cs @@ -1109,7 +1109,7 @@ namespace DS4Windows if (processingData[ind].Rumble[1] == 0x08) { - setRumble(Big, Small, ind); + SetDevRumble(device, Big, Small, ind); } } } @@ -1304,8 +1304,22 @@ namespace DS4Windows Debug(this, args); } - //sets the rumble adjusted with rumble boost + // sets the rumble adjusted with rumble boost. General use method public virtual void setRumble(byte heavyMotor, byte lightMotor, int deviceNum) + { + if (deviceNum < 4) + { + DS4Device device = DS4Controllers[deviceNum]; + if (device != null) + SetDevRumble(device, heavyMotor, lightMotor, deviceNum); + //device.setRumble((byte)lightBoosted, (byte)heavyBoosted); + } + } + + // sets the rumble adjusted with rumble boost. Method more used for + // report handling. Avoid constant checking for a device. + public void SetDevRumble(DS4Device device, + byte heavyMotor, byte lightMotor, int deviceNum) { byte boost = getRumbleBoost(deviceNum); uint lightBoosted = ((uint)lightMotor * (uint)boost) / 100; @@ -1315,12 +1329,7 @@ namespace DS4Windows if (heavyBoosted > 255) heavyBoosted = 255; - if (deviceNum < 4) - { - DS4Device device = DS4Controllers[deviceNum]; - if (device != null) - device.setRumble((byte)lightBoosted, (byte)heavyBoosted); - } + device.setRumble((byte)lightBoosted, (byte)heavyBoosted); } public DS4State getDS4State(int ind) From 6533585a070d5b921092944054dbc038c2d41d25 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sun, 3 Mar 2019 19:27:57 -0600 Subject: [PATCH 03/17] Make sure to stop USB controller while suspending Related to issue #595 --- DS4Windows/DS4Control/ControlService.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/DS4Windows/DS4Control/ControlService.cs b/DS4Windows/DS4Control/ControlService.cs index 3f497a5..0d5e044 100644 --- a/DS4Windows/DS4Control/ControlService.cs +++ b/DS4Windows/DS4Control/ControlService.cs @@ -510,6 +510,10 @@ namespace DS4Windows tempDevice.StopUpdate(); tempDevice.DisconnectDongle(true); } + else + { + tempDevice.StopUpdate(); + } } else { From 1dbf9abb026726655e3d58649e02fa9158a0fc21 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Mon, 4 Mar 2019 17:21:58 -0600 Subject: [PATCH 04/17] Implemented square stick functionality Related to issue #341. --- DS4Windows/DS4Control/Mapping.cs | 118 + DS4Windows/DS4Control/ScpUtil.cs | 25 + DS4Windows/DS4Forms/Options.Designer.cs | 32 + DS4Windows/DS4Forms/Options.cs | 24 + DS4Windows/DS4Forms/Options.resx | 4421 +++++++++++++++++++---- 5 files changed, 3836 insertions(+), 784 deletions(-) diff --git a/DS4Windows/DS4Control/Mapping.cs b/DS4Windows/DS4Control/Mapping.cs index 5851706..b28c9ca 100644 --- a/DS4Windows/DS4Control/Mapping.cs +++ b/DS4Windows/DS4Control/Mapping.cs @@ -79,6 +79,88 @@ namespace DS4Windows new Queue(), new Queue() }; + struct DS4Vector2 + { + public double x; + public double y; + + public DS4Vector2(double x, double y) + { + this.x = x; + this.y = y; + } + } + + class DS4SquareStick + { + public DS4Vector2 current; + public DS4Vector2 squared; + + public DS4SquareStick() + { + current = new DS4Vector2(0.0, 0.0); + squared = new DS4Vector2(0.0, 0.0); + } + + public void CircleToSquare() + { + const double PiOverFour = Math.PI / 4.0; + const double roundness = 5.0; + + // Determine the theta angle + double angle = Math.Atan2(current.y, -current.x); + angle += Math.PI; + double cosAng = Math.Cos(angle); + // Scale according to which wall we're clamping to + // X+ wall + if (angle <= PiOverFour || angle > 7.0 * PiOverFour) + { + double tempVal = 1.0 / cosAng; + //Console.WriteLine("1 ANG: {0} | TEMP: {1}", angle, tempVal); + squared.x = current.x * tempVal; + squared.y = current.y * tempVal; + } + // Y+ wall + else if (angle > PiOverFour && angle <= 3.0 * PiOverFour) + { + double tempVal = 1.0 / Math.Sin(angle); + //Console.WriteLine("2 ANG: {0} | TEMP: {1}", angle, tempVal); + squared.x = current.x * tempVal; + squared.y = current.y * tempVal; + } + // X- wall + else if (angle > 3.0 * PiOverFour && angle <= 5.0 * PiOverFour) + { + double tempVal = -1.0 / cosAng; + //Console.WriteLine("3 ANG: {0} | TEMP: {1}", angle, tempVal); + squared.x = current.x * tempVal; + squared.y = current.y * tempVal; + } + // Y- wall + else if (angle > 5.0 * PiOverFour && angle <= 7.0 * PiOverFour) + { + double tempVal = -1.0 / Math.Sin(angle); + //Console.WriteLine("4 ANG: {0} | TEMP: {1}", angle, tempVal); + squared.x = current.x * tempVal; + squared.y = current.y * tempVal; + } + else return; + + //double lengthOld = Math.Sqrt((x * x) + (y * y)); + double length = current.x / cosAng; + //Console.WriteLine("LENGTH TEST ({0}) ({1}) {2}", lengthOld, length, (lengthOld == length).ToString()); + double factor = Math.Pow(length, roundness); + //double ogX = current.x, ogY = current.y; + current.x += (squared.x - current.x) * factor; + current.y += (squared.y - current.y) * factor; + //Console.WriteLine("INPUT: {0} {1} | {2} {3} | {4} {5} | {6} {7}", + // ogX, ogY, current.x, current.y, squared.x, squared.y, length, factor); + } + } + + static DS4SquareStick[] outSqrStk = new DS4SquareStick[4] { new DS4SquareStick(), + new DS4SquareStick(), new DS4SquareStick(), new DS4SquareStick()}; + static ReaderWriterLockSlim syncStateLock = new ReaderWriterLockSlim(); public static SyntheticState globalState = new SyntheticState(); @@ -788,6 +870,24 @@ namespace DS4Windows if (r2Sens != 1.0) dState.R2 = (byte)Global.Clamp(0, r2Sens * dState.R2, 255); + if (getSquareStickLS(device)) + { + double capX = dState.LX >= 128 ? 127.0 : 128.0; + double capY = dState.LY >= 128 ? 127.0 : 128.0; + double tempX = (dState.LX - 128.0) / capX; + double tempY = (dState.LY - 128.0) / capY; + DS4SquareStick sqstick = outSqrStk[device]; + sqstick.current.x = tempX; sqstick.current.y = tempY; + sqstick.CircleToSquare(); + //Console.WriteLine("Input ({0}) | Output ({1})", tempY, sqstick.current.y); + tempX = sqstick.current.x < -1.0 ? -1.0 : sqstick.current.x > 1.0 + ? 1.0 : sqstick.current.x; + tempY = sqstick.current.y < -1.0 ? -1.0 : sqstick.current.y > 1.0 + ? 1.0 : sqstick.current.y; + dState.LX = (byte)(tempX * capX + 128.0); + dState.LY = (byte)(tempY * capY + 128.0); + } + int lsOutCurveMode = lsOutCurveModeArray[device] = getLsOutCurveMode(device); if (lsOutCurveMode > 0) { @@ -859,6 +959,24 @@ namespace DS4Windows } } + if (getSquareStickRS(device)) + { + double capX = dState.RX >= 128 ? 127.0 : 128.0; + double capY = dState.RY >= 128 ? 127.0 : 128.0; + double tempX = (dState.RX - 128.0) / capX; + double tempY = (dState.RY - 128.0) / capY; + DS4SquareStick sqstick = outSqrStk[device]; + sqstick.current.x = tempX; sqstick.current.y = tempY; + sqstick.CircleToSquare(); + tempX = sqstick.current.x < -1.0 ? -1.0 : sqstick.current.x > 1.0 + ? 1.0 : sqstick.current.x; + tempY = sqstick.current.y < -1.0 ? -1.0 : sqstick.current.y > 1.0 + ? 1.0 : sqstick.current.y; + //Console.WriteLine("Input ({0}) | Output ({1})", tempY, sqstick.current.y); + dState.RX = (byte)(tempX * capX + 128.0); + dState.RY = (byte)(tempY * capY + 128.0); + } + int rsOutCurveMode = rsOutCurveModeArray[device] = getRsOutCurveMode(device); if (rsOutCurveMode > 0) { diff --git a/DS4Windows/DS4Control/ScpUtil.cs b/DS4Windows/DS4Control/ScpUtil.cs index fdf3ef7..faa6ae3 100644 --- a/DS4Windows/DS4Control/ScpUtil.cs +++ b/DS4Windows/DS4Control/ScpUtil.cs @@ -1059,6 +1059,18 @@ namespace DS4Windows return m_Config.btPollRate[index]; } + public static bool[] squareStickLS => m_Config.sqLSStickMode; + public static bool getSquareStickLS(int device) + { + return m_Config.sqLSStickMode[device]; + } + + public static bool[] squareStickRS => m_Config.sqRSStickMode; + public static bool getSquareStickRS(int device) + { + return m_Config.sqRSStickMode[device]; + } + public static int[] lsOutCurveMode => m_Config.lsOutCurveMode; public static int getLsOutCurveMode(int index) { @@ -1500,6 +1512,8 @@ namespace DS4Windows MouseCursor.GYRO_MOUSE_DEADZONE }; public bool[] gyroMouseToggle = new bool[5] { false, false, false, false, false }; + public bool[] sqLSStickMode = new bool[5] { false, false, false, false, false }; + public bool[] sqRSStickMode = new bool[5] { false, false, false, false, false }; public int[] lsOutCurveMode = new int[5] { 0, 0, 0, 0, 0 }; public int[] rsOutCurveMode = new int[5] { 0, 0, 0, 0, 0 }; public int[] l2OutCurveMode = new int[5] { 0, 0, 0, 0, 0 }; @@ -1847,6 +1861,9 @@ namespace DS4Windows XmlNode xmlLsOutputCurveMode = m_Xdoc.CreateNode(XmlNodeType.Element, "LSOutputCurveMode", null); xmlLsOutputCurveMode.InnerText = stickOutputCurveString(lsOutCurveMode[device]); Node.AppendChild(xmlLsOutputCurveMode); XmlNode xmlRsOutputCurveMode = m_Xdoc.CreateNode(XmlNodeType.Element, "RSOutputCurveMode", null); xmlRsOutputCurveMode.InnerText = stickOutputCurveString(rsOutCurveMode[device]); Node.AppendChild(xmlRsOutputCurveMode); + XmlNode xmlLsSquareStickMode = m_Xdoc.CreateNode(XmlNodeType.Element, "LSSquareStick", null); xmlLsSquareStickMode.InnerText = sqLSStickMode[device].ToString(); Node.AppendChild(xmlLsSquareStickMode); + XmlNode xmlRsSquareStickMode = m_Xdoc.CreateNode(XmlNodeType.Element, "RSSquareStick", null); xmlRsSquareStickMode.InnerText = sqRSStickMode[device].ToString(); Node.AppendChild(xmlRsSquareStickMode); + XmlNode xmlL2OutputCurveMode = m_Xdoc.CreateNode(XmlNodeType.Element, "L2OutputCurveMode", null); xmlL2OutputCurveMode.InnerText = axisOutputCurveString(l2OutCurveMode[device]); Node.AppendChild(xmlL2OutputCurveMode); XmlNode xmlR2OutputCurveMode = m_Xdoc.CreateNode(XmlNodeType.Element, "R2OutputCurveMode", null); xmlR2OutputCurveMode.InnerText = axisOutputCurveString(r2OutCurveMode[device]); Node.AppendChild(xmlR2OutputCurveMode); @@ -2770,6 +2787,12 @@ namespace DS4Windows try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/RSOutputCurveMode"); rsOutCurveMode[device] = stickOutputCurveId(Item.InnerText); } catch { rsOutCurveMode[device] = 0; missingSetting = true; } + try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/LSSquareStick"); bool.TryParse(Item.InnerText, out sqLSStickMode[device]); } + catch { sqLSStickMode[device] = false; missingSetting = true; } + + try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/RSSquareStick"); bool.TryParse(Item.InnerText, out sqRSStickMode[device]); } + catch { sqRSStickMode[device] = false; missingSetting = true; } + try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/L2OutputCurveMode"); l2OutCurveMode[device] = axisOutputCurveId(Item.InnerText); } catch { l2OutCurveMode[device] = 0; missingSetting = true; } @@ -4005,6 +4028,8 @@ namespace DS4Windows gyroSmoothing[device] = false; gyroSmoothWeight[device] = 0.5; gyroMouseHorizontalAxis[device] = 0; + sqLSStickMode[device] = false; + sqRSStickMode[device] = false; lsOutCurveMode[device] = 0; rsOutCurveMode[device] = 0; l2OutCurveMode[device] = 0; diff --git a/DS4Windows/DS4Forms/Options.Designer.cs b/DS4Windows/DS4Forms/Options.Designer.cs index f9cf0af..a0aee43 100644 --- a/DS4Windows/DS4Forms/Options.Designer.cs +++ b/DS4Windows/DS4Forms/Options.Designer.cs @@ -397,6 +397,9 @@ this.shareTouchInvStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.psTouchInvStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.advColorDialog = new DS4Windows.AdvancedColorDialog(); + this.squStickTabPage = new System.Windows.Forms.TabPage(); + this.lsSquStickCk = new System.Windows.Forms.CheckBox(); + this.rsSquStickCk = new System.Windows.Forms.CheckBox(); ((System.ComponentModel.ISupportInitialize)(this.nUDRainbow)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.tBBlueBar)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.tBGreenBar)).BeginInit(); @@ -491,6 +494,7 @@ ((System.ComponentModel.ISupportInitialize)(this.nUDSZS)).BeginInit(); this.cMGyroTriggers.SuspendLayout(); this.cMTouchDisableInvert.SuspendLayout(); + this.squStickTabPage.SuspendLayout(); this.SuspendLayout(); // // lowColorChooserButton @@ -2826,6 +2830,7 @@ this.tCSens.Controls.Add(this.tPDeadzone); this.tCSens.Controls.Add(this.antiDeadzoneTabPage); this.tCSens.Controls.Add(this.maxZoneTabPage); + this.tCSens.Controls.Add(this.squStickTabPage); this.tCSens.Controls.Add(this.tPOutCurve); this.tCSens.Controls.Add(this.tPCurve); this.tCSens.Controls.Add(this.tpRotation); @@ -4227,6 +4232,28 @@ resources.ApplyResources(this.psTouchInvStripMenuItem, "psTouchInvStripMenuItem"); this.psTouchInvStripMenuItem.CheckedChanged += new System.EventHandler(this.TouchDisableInvert_CheckedChanged); // + // squStickTabPage + // + this.squStickTabPage.Controls.Add(this.rsSquStickCk); + this.squStickTabPage.Controls.Add(this.lsSquStickCk); + resources.ApplyResources(this.squStickTabPage, "squStickTabPage"); + this.squStickTabPage.Name = "squStickTabPage"; + this.squStickTabPage.UseVisualStyleBackColor = true; + // + // lsSquStickCk + // + resources.ApplyResources(this.lsSquStickCk, "lsSquStickCk"); + this.lsSquStickCk.Name = "lsSquStickCk"; + this.lsSquStickCk.UseVisualStyleBackColor = true; + this.lsSquStickCk.Click += new System.EventHandler(this.lsSquStickCk_Click); + // + // rsSquStickCk + // + resources.ApplyResources(this.rsSquStickCk, "rsSquStickCk"); + this.rsSquStickCk.Name = "rsSquStickCk"; + this.rsSquStickCk.UseVisualStyleBackColor = true; + this.rsSquStickCk.Click += new System.EventHandler(this.rsSquStickCk_Click); + // // Options // resources.ApplyResources(this, "$this"); @@ -4294,6 +4321,7 @@ this.pnlLSTrack.ResumeLayout(false); this.pnlRSTrack.ResumeLayout(false); this.fLPTiltControls.ResumeLayout(false); + this.fLPTiltControls.PerformLayout(); this.tCControls.ResumeLayout(false); this.tPControls.ResumeLayout(false); this.pnlController.ResumeLayout(false); @@ -4350,6 +4378,7 @@ ((System.ComponentModel.ISupportInitialize)(this.nUDSZS)).EndInit(); this.cMGyroTriggers.ResumeLayout(false); this.cMTouchDisableInvert.ResumeLayout(false); + this.squStickTabPage.ResumeLayout(false); this.ResumeLayout(false); } @@ -4725,5 +4754,8 @@ private System.Windows.Forms.Label label27; private System.Windows.Forms.NumericUpDown gyroMouseDzNUD; private System.Windows.Forms.CheckBox toggleGyroMCb; + private System.Windows.Forms.TabPage squStickTabPage; + private System.Windows.Forms.CheckBox rsSquStickCk; + private System.Windows.Forms.CheckBox lsSquStickCk; } } \ No newline at end of file diff --git a/DS4Windows/DS4Forms/Options.cs b/DS4Windows/DS4Forms/Options.cs index 48d0284..72aab2e 100644 --- a/DS4Windows/DS4Forms/Options.cs +++ b/DS4Windows/DS4Forms/Options.cs @@ -631,6 +631,9 @@ namespace DS4Windows btnBrowse.Text = Path.GetFileNameWithoutExtension(LaunchProgram[device]); } + lsSquStickCk.Checked = squareStickLS[device]; + rsSquStickCk.Checked = squareStickRS[device]; + cBDinput.Checked = DinputOnly[device]; olddinputcheck = cBDinput.Checked; cbStartTouchpadOff.Checked = StartTouchpadOff[device]; @@ -807,6 +810,9 @@ namespace DS4Windows nUDSXS.Value = 1; nUDSZS.Value = 1; + lsSquStickCk.Checked = false; + rsSquStickCk.Checked = false; + cBLaunchProgram.Checked = false; pBProgram.Image = null; btnBrowse.Text = Properties.Resources.Browse; @@ -1312,6 +1318,8 @@ namespace DS4Windows SZMaxzone[device] = (double)nUDSixAxisZMaxZone.Value; SXAntiDeadzone[device] = (double)nUDSixaxisXAntiDead.Value; SZAntiDeadzone[device] = (double)nUDSixaxisZAntiDead.Value; + squareStickLS[device] = lsSquStickCk.Checked; + squareStickRS[device] = rsSquStickCk.Checked; MouseAccel[device] = cBMouseAccel.Checked; DinputOnly[device] = cBDinput.Checked; StartTouchpadOff[device] = cbStartTouchpadOff.Checked; @@ -3099,6 +3107,22 @@ namespace DS4Windows } } + private void lsSquStickCk_Click(object sender, EventArgs e) + { + if (loading == false) + { + squareStickLS[device] = lsSquStickCk.Checked; + } + } + + private void rsSquStickCk_Click(object sender, EventArgs e) + { + if (loading == false) + { + squareStickRS[device] = rsSquStickCk.Checked; + } + } + private void trackFrictionNUD_ValueChanged(object sender, EventArgs e) { if (loading == false) diff --git a/DS4Windows/DS4Forms/Options.resx b/DS4Windows/DS4Forms/Options.resx index d50766a..714bdb4 100644 --- a/DS4Windows/DS4Forms/Options.resx +++ b/DS4Windows/DS4Forms/Options.resx @@ -1335,6 +1335,198 @@ 1 + + pnlTPMouse + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBTouchpad + + + 0 + + + rBTPControls + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBTouchpad + + + 1 + + + rBTPMouse + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBTouchpad + + + 2 + + + fLPTouchSwipe + + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBTouchpad + + + 3 + + + 2, 259 + + + 270, 190 + + + 246 + + + Touchpad + + + gBTouchpad + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPControls + + + 1 + + + trackFrictionLb + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlTPMouse + + + 0 + + + trackFrictionNUD + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlTPMouse + + + 1 + + + trackballCk + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlTPMouse + + + 2 + + + touchpadDisInvertButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlTPMouse + + + 3 + + + label25 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlTPMouse + + + 4 + + + label15 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlTPMouse + + + 5 + + + touchpadInvertComboBox + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlTPMouse + + + 6 + + + cbStartTouchpadOff + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlTPMouse + + + 16 + + + 0, 36 + + + 2, 2, 2, 2 + + + 266, 149 + + + 257 + + + pnlTPMouse + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBTouchpad + + + 0 + True @@ -1566,30 +1758,6 @@ 16 - - 0, 36 - - - 2, 2, 2, 2 - - - 266, 149 - - - 257 - - - pnlTPMouse - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - gBTouchpad - - - 0 - True @@ -1656,156 +1824,126 @@ 2 + + bnSwipeUp + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTouchSwipe + + + 0 + + + lbSwipeUp + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTouchSwipe + + + 1 + + + bnSwipeDown + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTouchSwipe + + + 2 + + + lbSwipeDown + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTouchSwipe + + + 3 + + + bnSwipeLeft + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTouchSwipe + + + 4 + + + lbSwipeLeft + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTouchSwipe + + + 5 + + + bnSwipeRight + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTouchSwipe + + + 6 + + + lbSwipeRight + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTouchSwipe + + + 7 + + + 6, 40 + + + 260, 148 + + + 256 + + + fLPTouchSwipe + + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBTouchpad + + + 3 + 326, 13 - - False - - - 117, 22 - - - Control - - - 114, 6 - - - 117, 22 - - - Default - - - 127, 22 - - - Inverted - - - 127, 22 - - - Inverted X - - - 127, 22 - - - Inverted Y - - - 117, 22 - - - Dpad - - - 127, 22 - - - Inverted - - - 127, 22 - - - Inverted X - - - 127, 22 - - - Inverted Y - - - 117, 22 - - - Left Stick - - - 127, 22 - - - Inverted - - - 127, 22 - - - Inverted X - - - 127, 22 - - - Inverted Y - - - 117, 22 - - - Right Stick - - - 117, 22 - - - Face Buttons - - - 147, 22 - - - w/ Scan Code - - - False - - - 117, 22 - - - WASD - - - 147, 22 - - - w/ Scan Code - - - 117, 22 - - - Arrow Keys - - - 127, 22 - - - Inverted - - - 127, 22 - - - Inverted X - - - 127, 22 - - - Inverted Y - - - 117, 22 - - - Mouse - 118, 208 @@ -1845,6 +1983,153 @@ 0 + + False + + + 117, 22 + + + Control + + + 114, 6 + + + 117, 22 + + + Default + + + 117, 22 + + + Dpad + + + 127, 22 + + + Inverted + + + 127, 22 + + + Inverted X + + + 127, 22 + + + Inverted Y + + + 117, 22 + + + Left Stick + + + 127, 22 + + + Inverted + + + 127, 22 + + + Inverted X + + + 127, 22 + + + Inverted Y + + + 117, 22 + + + Right Stick + + + 127, 22 + + + Inverted + + + 127, 22 + + + Inverted X + + + 127, 22 + + + Inverted Y + + + 117, 22 + + + Face Buttons + + + False + + + 117, 22 + + + WASD + + + 147, 22 + + + w/ Scan Code + + + 117, 22 + + + Arrow Keys + + + 147, 22 + + + w/ Scan Code + + + 117, 22 + + + Mouse + + + 127, 22 + + + Inverted + + + 127, 22 + + + Inverted X + + + 127, 22 + + + Inverted Y + NoControl @@ -2067,50 +2352,173 @@ 7 - - 6, 40 + + btPollRateLabel - - 260, 148 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 256 + + gBOther - - fLPTouchSwipe + + 0 - - System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + btPollRateComboBox - - gBTouchpad + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + gBOther + + + 1 + + + enableTouchToggleCheckbox + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBOther + + + 2 + + + cBDinput + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBOther + + 3 - - 2, 259 + + pBProgram - - 270, 190 + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 246 + + gBOther - - Touchpad + + 4 - - gBTouchpad + + cBLaunchProgram - + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBOther + + + 5 + + + btnBrowse + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBOther + + + 6 + + + lbUseController + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBOther + + + 7 + + + cBMouseAccel + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBOther + + + 8 + + + nUDSixaxis + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBOther + + + 9 + + + cBControllerInput + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBOther + + + 10 + + + cBIdleDisconnect + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBOther + + + 12 + + + 281, 221 + + + 272, 256 + + + 247 + + + Other + + + gBOther + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - tPControls + + fLPSettings - - 1 + + 5 True @@ -2524,29 +2932,149 @@ with profile 12 - - 281, 221 + + btnRainbow - - 272, 256 + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + gBLightbar + + + 0 + + + lbRainbowB + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBLightbar + + + 1 + + + nUDRainbowB + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBLightbar + + + 2 + + + cBFlashType + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBLightbar + + + 3 + + + cBWhileCharging + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBLightbar + + + 4 + + + btnFlashColor + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBLightbar + + + 5 + + + btnChargingColor + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBLightbar + + + 6 + + + lbWhileCharging + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBLightbar + + + 7 + + + lbPercentFlashBar + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBLightbar + + + 8 + + + nUDflashLED + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBLightbar + + + 9 + + + 3, 3 + + + 272, 233 + + 247 - - Other + + Lightbar - - gBOther + + gBLightbar - + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + fLPSettings - - 5 + + 0 NoControl @@ -2833,29 +3361,53 @@ with profile 9 - - 3, 3 + + lbPercentRumble - - 272, 233 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + + gBRumble + + + 0 + + + btnRumbleLightTest + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBRumble + + + 1 + + + 281, 3 + + + 272, 46 + + 247 - - Lightbar + + Rumble - - gBLightbar + + gBRumble - + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + fLPSettings - - 0 + + 2 True @@ -2914,30 +3466,6 @@ with profile 1 - - 281, 3 - - - 272, 46 - - - 247 - - - Rumble - - - gBRumble - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - fLPSettings - - - 2 - True @@ -3046,6 +3574,225 @@ with profile 153, 17 + + pnlSATrack + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 0 + + + lbL2Track + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 1 + + + lbRSTip + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 2 + + + lbInputDelay + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 3 + + + lbR2Track + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 4 + + + lbLSTip + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 5 + + + lbSATip + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 6 + + + tBR2 + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 7 + + + tBL2 + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 8 + + + pnlSixaxis + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 9 + + + pnlLSTrack + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 10 + + + pnlRSTrack + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 11 + + + 4, 22 + + + 3, 3, 3, 3 + + + 438, 485 + + + 2 + + + Controller Readings + + + lbL2TrackS + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tCControls + + + 2 + + + btnSATrack + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSATrack + + + 0 + + + btnSATrackS + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSATrack + + + 1 + + + 300, 88 + + + 2, 2, 2, 2 + + + 125, 125 + + + 252 + + + pnlSATrack + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 0 + False @@ -3109,30 +3856,6 @@ with profile 1 - - 300, 88 - - - 2, 2, 2, 2 - - - 125, 125 - - - 252 - - - pnlSATrack - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - lbL2TrackS - - - 0 - True @@ -3397,6 +4120,123 @@ with profile 8 + + tBsixaxisAccelX + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSixaxis + + + 0 + + + lb6Accel + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSixaxis + + + 1 + + + tBsixaxisGyroX + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSixaxis + + + 2 + + + lb6Gryo + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSixaxis + + + 3 + + + tBsixaxisGyroY + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSixaxis + + + 4 + + + tBsixaxisGyroZ + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSixaxis + + + 5 + + + tBsixaxisAccelY + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSixaxis + + + 6 + + + tBsixaxisAccelZ + + + System.Windows.Forms.TrackBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSixaxis + + + 7 + + + 300, 233 + + + 125, 125 + + + 236 + + + pnlSixaxis + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + lbL2TrackS + + + 9 + False @@ -3619,26 +4459,53 @@ with profile 7 - - 300, 233 + + btnLSTrack - + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlLSTrack + + + 0 + + + btnLSTrackS + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlLSTrack + + + 1 + + + 5, 88 + + + 2, 2, 2, 2 + + 125, 125 - - 236 + + 250 - - pnlSixaxis + + pnlLSTrack - + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + lbL2TrackS - - 9 + + 10 False @@ -3703,29 +4570,53 @@ with profile 1 - - 5, 88 + + btnRSTrackS - + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlRSTrack + + + 0 + + + btnRSTrack + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlRSTrack + + + 1 + + + 151, 88 + + 2, 2, 2, 2 - + 125, 125 - - 250 + + 251 - - pnlLSTrack + + pnlRSTrack - + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + lbL2TrackS - - 10 + + 11 False @@ -3790,55 +4681,181 @@ with profile 1 - - 151, 88 + + bnGyroZN - - 2, 2, 2, 2 + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 125, 125 + + fLPTiltControls - - 251 + + 0 - - pnlRSTrack + + lbGyroZN - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - lbL2TrackS + + fLPTiltControls - - 11 + + 1 - - 4, 22 + + bnGyroZP - - 3, 3, 3, 3 + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 438, 485 + + fLPTiltControls - + 2 - - Controller Readings + + lbGyroZP - - lbL2TrackS + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + fLPTiltControls - - tCControls + + 3 - + + bnGyroXP + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTiltControls + + + 4 + + + lbGyroXP + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTiltControls + + + 5 + + + bnGyroXN + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTiltControls + + + 6 + + + lbGyroXN + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTiltControls + + + 7 + + + lblSteeringWheelEmulationAxis + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTiltControls + + + 8 + + + cBSteeringWheelEmulationAxis + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTiltControls + + + 9 + + + lblSteeringWheelEmulationRange + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTiltControls + + + 10 + + + cBSteeringWheelEmulationRange + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTiltControls + + + 11 + + + btnSteeringWheelEmulationCalibrate + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPTiltControls + + + 12 + + + 4, 43 + + + 271, 203 + + + 254 + + + fLPTiltControls + + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBGyro + + 2 @@ -4255,30 +5272,120 @@ with profile 12 - - 4, 43 + + tPControls - - 271, 203 + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 254 + + tCControls - - fLPTiltControls + + 0 - - System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + tPSpecial - - gBGyro + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - 2 + + tCControls + + + 1 + + + Left + + + 0, 0 + + + 446, 511 + + + 253 + + + tCControls + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 4 True + + lBControls + + + System.Windows.Forms.ListBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPControls + + + 0 + + + lbControlTip + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPControls + + + 2 + + + pnlController + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPControls + + + 3 + + + 4, 22 + + + 3, 3, 3, 3 + + + 438, 485 + + + 0 + + + Controls + + + tPControls + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tCControls + + + 0 + Top, Bottom, Left @@ -4438,6 +5545,654 @@ with profile Zoom + + pBHoveredButton + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 0 + + + lbLRS + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 1 + + + lbLLS + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 2 + + + bnRSDown + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 3 + + + lbLTouchUpper + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 4 + + + lbLTouchRight + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 5 + + + bnL3 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 6 + + + lbLTouchLM + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 7 + + + bnRSUp + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 8 + + + lbLR2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 9 + + + bnRSRight + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 10 + + + lbLL2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 11 + + + bnR3 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 12 + + + lbLR1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 13 + + + bnRSLeft + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 14 + + + lbLL1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 15 + + + bnLSLeft + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 16 + + + lbLPS + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 17 + + + bnLSUp + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 18 + + + lbLLeft + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 19 + + + bnLSRight + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 20 + + + lbLright + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 21 + + + bnLSDown + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 22 + + + lbLDown + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 23 + + + bnR2 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 24 + + + bnUp + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 25 + + + bnDown + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 26 + + + bnTriangle + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 27 + + + bnR1 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 28 + + + bnSquare + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 29 + + + bnRight + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 30 + + + lbLUp + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 31 + + + bnLeft + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 32 + + + lbLShare + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 33 + + + bnOptions + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 34 + + + bnShare + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 35 + + + lbLOptions + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 36 + + + bnL1 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 37 + + + bnTouchRight + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 38 + + + bnL2 + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 39 + + + lbLTriangle + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 40 + + + bnTouchLeft + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 41 + + + lbLSquare + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 42 + + + bnTouchMulti + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 43 + + + lbLCircle + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 44 + + + lbLCross + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 45 + + + bnTouchUpper + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 46 + + + btnLightbar + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 47 + + + bnPS + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 48 + + + bnCross + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 49 + + + bnCircle + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 50 + + + lbControlName + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlController + + + 51 + + + 2, 2 + + + 2, 2, 2, 2 + + + 422, 230 + + + 282 + + + pnlController + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPControls + + + 3 + False @@ -6088,74 +7843,89 @@ with profile 51 - - 2, 2 + + pnlActions - - 2, 2, 2, 2 - - - 422, 230 - - - 282 - - - pnlController - - + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - tPControls + + tPSpecial - - 3 + + 0 - + 4, 22 - - 3, 3, 3, 3 - - + 438, 485 - - 0 + + 3 - - Controls + + Special Actions - - tPControls + + tPSpecial - + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + tCControls - + + 1 + + + lVActions + + + System.Windows.Forms.ListView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlActions + + 0 - - Name + + panel2 - - 140 + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Trigger + + pnlActions - - 105 + + 1 - - Action + + Fill - - 100 + + 0, 0 + + + 438, 485 + + + 15 + + + pnlActions + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPSpecial + + + 0 Fill @@ -6181,6 +7951,135 @@ with profile 0 + + Name + + + 140 + + + Trigger + + + 105 + + + Action + + + 100 + + + fLPActionButtons + + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 0 + + + lbActionsTip + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 1 + + + Top + + + 0, 0 + + + 2, 2, 2, 2 + + + 438, 66 + + + 16 + + + panel2 + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlActions + + + 1 + + + btnNewAction + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPActionButtons + + + 0 + + + btnEditAction + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPActionButtons + + + 1 + + + btnRemAction + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPActionButtons + + + 2 + + + Fill + + + 0, 28 + + + 438, 38 + + + 15 + + + fLPActionButtons + + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel2 + + + 0 + NoControl @@ -6262,30 +8161,6 @@ with profile 2 - - Fill - - - 0, 28 - - - 438, 38 - - - 15 - - - fLPActionButtons - - - System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel2 - - - 0 - Top @@ -6319,105 +8194,6 @@ with profile 1 - - Top - - - 0, 0 - - - 2, 2, 2, 2 - - - 438, 66 - - - 16 - - - panel2 - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - pnlActions - - - 1 - - - Fill - - - 0, 0 - - - 438, 485 - - - 15 - - - pnlActions - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tPSpecial - - - 0 - - - 4, 22 - - - 438, 485 - - - 3 - - - Special Actions - - - tPSpecial - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tCControls - - - 1 - - - Left - - - 0, 0 - - - 446, 511 - - - 253 - - - tCControls - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 4 - 4, 22 @@ -6445,6 +8221,792 @@ with profile 0 + + nUDSixaxisZAntiDead + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 0 + + + nUDSixaxisXAntiDead + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 1 + + + label20 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 2 + + + label19 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 3 + + + nUDR2AntiDead + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 4 + + + label3 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 5 + + + nUDL2AntiDead + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 6 + + + label4 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 7 + + + nUDRSAntiDead + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 8 + + + label2 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 9 + + + nUDLSAntiDead + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 10 + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + antiDeadzoneTabPage + + + 11 + + + 4, 22 + + + 3, 3, 3, 3 + + + 264, 52 + + + 2 + + + Anti-Deadzone + + + antiDeadzoneTabPage + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tCSens + + + 1 + + + nUDSixAxisZMaxZone + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 0 + + + nUDSixAxisXMaxZone + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 1 + + + label18 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 2 + + + label17 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 3 + + + nUDR2Maxzone + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 4 + + + nUDL2Maxzone + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 5 + + + label8 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 6 + + + label7 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 7 + + + nUDRSMaxZone + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 8 + + + label6 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 9 + + + nUDLSMaxZone + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 10 + + + label5 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + maxZoneTabPage + + + 11 + + + 4, 22 + + + 3, 3, 3, 3 + + + 264, 52 + + + 3 + + + Max Zone + + + maxZoneTabPage + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tCSens + + + 2 + + + 130, 13 + + + No + + + 104, 24 + + + 1 + + + RS + + + rsSquStickCk + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + squStickTabPage + + + 0 + + + 13, 13 + + + No + + + 91, 24 + + + 0 + + + LS + + + lsSquStickCk + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + squStickTabPage + + + 1 + + + 4, 22 + + + 3, 3, 3, 3 + + + 264, 52 + + + 6 + + + Square Stick + + + squStickTabPage + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tCSens + + + 3 + + + cBSixaxisZOutputCurve + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 0 + + + cBSixaxisXOutputCurve + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 1 + + + label24 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 2 + + + label23 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 3 + + + cBR2OutputCurve + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 4 + + + cBL2OutputCurve + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 5 + + + label22 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 6 + + + label21 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 7 + + + rsOutCurveComboBox + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 8 + + + lsOutCurveComboBox + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 9 + + + label10 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 10 + + + label9 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPOutCurve + + + 11 + + + 4, 22 + + + 264, 52 + + + 4 + + + Output Curve + + + tPOutCurve + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tCSens + + + 4 + + + nUDLSCurve + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPCurve + + + 0 + + + nUDRSCurve + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPCurve + + + 1 + + + lbRSCurve + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPCurve + + + 2 + + + lbRSCurvePercent + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPCurve + + + 3 + + + lbLSCurvePercent + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPCurve + + + 4 + + + lbLSCurve + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tPCurve + + + 5 + + + 4, 22 + + + 3, 3, 3, 3 + + + 264, 52 + + + 1 + + + Curve (Input) + + + tPCurve + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tCSens + + + 5 + + + nUDRSRotation + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tpRotation + + + 0 + + + label14 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tpRotation + + + 1 + + + nUDLSRotation + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tpRotation + + + 2 + + + label13 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tpRotation + + + 3 + + + 4, 22 + + + 3, 3, 3, 3 + + + 264, 52 + + + 5 + + + Rotation + + + tpRotation + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tCSens + + + 6 + + + 281, 55 + + + 272, 78 + + + 234 + + + tCSens + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPSettings + + + 3 + 214, 29 @@ -6751,33 +9313,6 @@ with profile 11 - - 4, 22 - - - 3, 3, 3, 3 - - - 264, 52 - - - 2 - - - Anti-Deadzone - - - antiDeadzoneTabPage - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tCSens - - - 1 - 220, 29 @@ -7084,33 +9619,6 @@ with profile 11 - - 4, 22 - - - 3, 3, 3, 3 - - - 264, 52 - - - 3 - - - Max Zone - - - maxZoneTabPage - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tCSens - - - 2 - Linear @@ -7495,30 +10003,6 @@ with profile 11 - - 4, 22 - - - 264, 52 - - - 4 - - - Output Curve - - - tPOutCurve - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tCSens - - - 3 - 36, 16 @@ -7687,33 +10171,6 @@ with profile 5 - - 4, 22 - - - 3, 3, 3, 3 - - - 264, 52 - - - 1 - - - Curve (Input) - - - tPCurve - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tCSens - - - 4 - 160, 21 @@ -7816,57 +10273,267 @@ with profile 3 - - 4, 22 - - - 3, 3, 3, 3 - - - 264, 52 - - - 5 - - - Rotation - - - tpRotation - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tCSens - - - 5 - - - 281, 55 - - - 272, 78 - - - 234 - - - tCSens - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - fLPSettings - - - 3 - True + + rBSAControls + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBGyro + + + 0 + + + rBSAMouse + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBGyro + + + 1 + + + pnlSAMouse + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBGyro + + + 3 + + + 3, 242 + + + 272, 257 + + + 248 + + + Gyro + + + gBGyro + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPSettings + + + 1 + + + lbL2S + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 0 + + + nUDL2S + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 1 + + + nUDLSS + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 2 + + + lbSixaxisXS + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 3 + + + nUDR2S + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 4 + + + lbSixaxisZS + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 5 + + + nUDRSS + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 6 + + + lbR2LS + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 7 + + + nUDSXS + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 8 + + + lbRSS + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 9 + + + lbLSS + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 10 + + + nUDSZS + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBSensitivity + + + 11 + + + 281, 139 + + + 272, 76 + + + 257 + + + Sensitivity + + + gBSensitivity + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + fLPSettings + + + 4 + + + Fill + + + TopDown + + + 446, 0 + + + 2, 2, 2, 2 + + + 565, 511 + + + 254 + + + fLPSettings + + + System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 3 + True @@ -7933,6 +10600,294 @@ with profile 1 + + toggleGyroMCb + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 0 + + + label27 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 1 + + + gyroMouseDzNUD + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 2 + + + label26 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 3 + + + triggerCondAndCombo + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 4 + + + cBGyroMouseXAxis + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 5 + + + label16 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 6 + + + lbGyroSmooth + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 7 + + + cBGyroSmooth + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 8 + + + lbSmoothWeight + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 9 + + + nUDGyroSmoothWeight + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 10 + + + label12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 11 + + + nUDGyroMouseVertScale + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 12 + + + label11 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 13 + + + gyroTriggerBehavior + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 14 + + + cBGyroInvertY + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 15 + + + cBGyroInvertX + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 16 + + + lbGyroInvert + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 17 + + + lbGyroTriggers + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 18 + + + btnGyroTriggers + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 19 + + + nUDGyroSensitivity + + + System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 20 + + + lbGyroSens + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + pnlSAMouse + + + 21 + + + 6, 39 + + + 2, 2, 2, 2 + + + 263, 207 + + + 259 + + + pnlSAMouse + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + gBGyro + + + 3 + True @@ -8569,54 +11524,6 @@ with profile 21 - - 6, 39 - - - 2, 2, 2, 2 - - - 263, 207 - - - 259 - - - pnlSAMouse - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - gBGyro - - - 3 - - - 3, 242 - - - 272, 257 - - - 248 - - - Gyro - - - gBGyro - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - fLPSettings - - - 1 - True @@ -8935,63 +11842,18 @@ with profile 11 - - 281, 139 - - - 272, 76 - - - 257 - - - Sensitivity - - - gBSensitivity - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - fLPSettings - - - 4 - - - Fill - - - TopDown - - - 446, 0 - - - 2, 2, 2, 2 - - - 565, 511 - - - 254 - - - fLPSettings - - - System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 3 - 482, 17 + + 195, 444 + + + cMGyroTriggers + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + 194, 22 @@ -9112,18 +11974,18 @@ with profile Always on - - 195, 444 - - - cMGyroTriggers - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 144, 63 + + 195, 422 + + + cMTouchDisableInvert + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + 194, 22 @@ -9238,15 +12100,6 @@ with profile PS - - 195, 422 - - - cMTouchDisableInvert - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 647, 17 @@ -9683,7 +12536,7 @@ with profile advColorDialog - DS4Windows.AdvancedColorDialog, DS4Windows, Version=1.6.8.0, Culture=neutral, PublicKeyToken=null + DS4Windows.AdvancedColorDialog, DS4Windows, Version=1.6.12.0, Culture=neutral, PublicKeyToken=null Options From 098bbf057d0173f160adbdad8a6e4a6af6ab9c6f Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Tue, 5 Mar 2019 03:34:15 -0600 Subject: [PATCH 05/17] Made a note about UWP apps causing exclusive mode problems --- DS4Windows/Properties/Resources.Designer.cs | 2 +- DS4Windows/Properties/Resources.resx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DS4Windows/Properties/Resources.Designer.cs b/DS4Windows/Properties/Resources.Designer.cs index 60e5a65..ac196ac 100644 --- a/DS4Windows/Properties/Resources.Designer.cs +++ b/DS4Windows/Properties/Resources.Designer.cs @@ -1482,7 +1482,7 @@ namespace DS4Windows.Properties { } /// - /// Looks up a localized string similar to You must quit other applications like Steam, Uplay, NVIDIA IN-GAME before activating the 'Hide DS4 Controller' option.. + /// Looks up a localized string similar to You must quit other applications like UWP apps (Netflix), Steam, Uplay, NVIDIA IN-GAME before activating the 'Hide DS4 Controller' option.. /// public static string QuitOtherPrograms { get { diff --git a/DS4Windows/Properties/Resources.resx b/DS4Windows/Properties/Resources.resx index e284d89..5348a7c 100644 --- a/DS4Windows/Properties/Resources.resx +++ b/DS4Windows/Properties/Resources.resx @@ -566,7 +566,7 @@ EXPERIMENTAL: Auto-Disable BT when connecting to USB - You must quit other applications like Steam, Uplay, NVIDIA IN-GAME before activating the 'Hide DS4 Controller' option. + You must quit other applications like UWP apps (Netflix), Steam, Uplay, NVIDIA IN-GAME before activating the 'Hide DS4 Controller' option. ..\Resources\rainbow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a From 8d4d4b0758d5fd4a80f3734828d8fdc23ec10c13 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Tue, 5 Mar 2019 05:14:39 -0600 Subject: [PATCH 06/17] Fixed auto profile use for hotplugging Related to issue #578 --- DS4Windows/DS4Control/ControlService.cs | 38 +++++++++++++++---------- DS4Windows/DS4Control/Mapping.cs | 6 ++-- DS4Windows/DS4Control/ScpUtil.cs | 3 ++ 3 files changed, 29 insertions(+), 18 deletions(-) diff --git a/DS4Windows/DS4Control/ControlService.cs b/DS4Windows/DS4Control/ControlService.cs index 0d5e044..ab8bfa9 100644 --- a/DS4Windows/DS4Control/ControlService.cs +++ b/DS4Windows/DS4Control/ControlService.cs @@ -364,17 +364,21 @@ namespace DS4Windows device.SyncChange += this.On_SyncChange; device.SyncChange += DS4Devices.UpdateSerial; device.SerialChange += this.On_SerialChange; - if (device.isValidSerial() && containsLinkedProfile(device.getMacAddress())) + if (!useTempProfile[i]) { - ProfilePath[i] = getLinkedProfile(device.getMacAddress()); - } - else - { - ProfilePath[i] = OlderProfilePath[i]; + if (device.isValidSerial() && containsLinkedProfile(device.getMacAddress())) + { + ProfilePath[i] = getLinkedProfile(device.getMacAddress()); + } + else + { + ProfilePath[i] = OlderProfilePath[i]; + } + + LoadProfile(i, false, this, false, false); } touchPad[i] = new Mouse(i, device); - LoadProfile(i, false, this, false, false); device.LightBarColor = getMainColor(i); if (!getDInputOnly(i) && device.isSynced()) @@ -605,17 +609,21 @@ namespace DS4Windows device.SyncChange += this.On_SyncChange; device.SyncChange += DS4Devices.UpdateSerial; device.SerialChange += this.On_SerialChange; - if (device.isValidSerial() && containsLinkedProfile(device.getMacAddress())) + if (!useTempProfile[Index]) { - ProfilePath[Index] = getLinkedProfile(device.getMacAddress()); - } - else - { - ProfilePath[Index] = OlderProfilePath[Index]; + if (device.isValidSerial() && containsLinkedProfile(device.getMacAddress())) + { + ProfilePath[Index] = getLinkedProfile(device.getMacAddress()); + } + else + { + ProfilePath[Index] = OlderProfilePath[Index]; + } + + LoadProfile(Index, false, this, false, false); } touchPad[Index] = new Mouse(Index, device); - LoadProfile(Index, false, this, false, false); device.LightBarColor = getMainColor(Index); int tempIdx = Index; @@ -1093,7 +1101,7 @@ namespace DS4Windows cState = Mapping.SetCurveAndDeadzone(ind, cState, TempState[ind]); - if (!recordingMacro && (!string.IsNullOrEmpty(tempprofilename[ind]) || + if (!recordingMacro && (useTempProfile[ind] || containsCustomAction(ind) || containsCustomExtras(ind) || getProfileActionCount(ind) > 0)) { diff --git a/DS4Windows/DS4Control/Mapping.cs b/DS4Windows/DS4Control/Mapping.cs index b28c9ca..7e8b1e2 100644 --- a/DS4Windows/DS4Control/Mapping.cs +++ b/DS4Windows/DS4Control/Mapping.cs @@ -1317,7 +1317,7 @@ namespace DS4Windows //DS4StateFieldMapping outputfieldMapping = new DS4StateFieldMapping(cState, eState, tp); SyntheticState deviceState = Mapping.deviceState[device]; - if (getProfileActionCount(device) > 0 || !string.IsNullOrEmpty(tempprofilename[device])) + if (getProfileActionCount(device) > 0 || useTempProfile[device]) MapCustomAction(device, cState, MappedState, eState, tp, ctrl, fieldMapping, outputfieldMapping); if (ctrl.DS4Controllers[device] == null) return; @@ -1896,7 +1896,7 @@ namespace DS4Windows { actionFound = true; - if (!actionDone[index].dev[device] && string.IsNullOrEmpty(tempprofilename[device])) + if (!actionDone[index].dev[device] && !useTempProfile[device]) { actionDone[index].dev[device] = true; untriggeraction[device] = action; @@ -2286,7 +2286,7 @@ namespace DS4Windows if ((action.controls == action.ucontrols && !actionDone[index].dev[device]) || //if trigger and end trigger are the same action.controls != action.ucontrols) { - if (!string.IsNullOrEmpty(tempprofilename[device])) + if (useTempProfile[device]) { //foreach (DS4Controls dc in action.uTrigger) for (int i = 0, arlen = action.uTrigger.Count; i < arlen; i++) diff --git a/DS4Windows/DS4Control/ScpUtil.cs b/DS4Windows/DS4Control/ScpUtil.cs index faa6ae3..7cef8cf 100644 --- a/DS4Windows/DS4Control/ScpUtil.cs +++ b/DS4Windows/DS4Control/ScpUtil.cs @@ -237,6 +237,7 @@ namespace DS4Windows public static bool runHotPlug = false; public const int XINPUT_UNPLUG_SETTLE_TIME = 250; // Inhibit races that occur with the asynchronous teardown of ScpVBus -> X360 driver instance. public static string[] tempprofilename = new string[5] { string.Empty, string.Empty, string.Empty, string.Empty, string.Empty }; + public static bool[] useTempProfile = new bool[5] { false, false, false, false, false }; public static bool[] tempprofileDistance = new bool[5] { false, false, false, false, false }; public static bool[] useDInputOnly = new bool[5] { true, true, true, true, true }; public static bool[] linkedProfileCheck = new bool[4] { true, true, true, true }; @@ -1308,6 +1309,7 @@ namespace DS4Windows { m_Config.LoadProfile(device, launchprogram, control, "", xinputChange, postLoad); tempprofilename[device] = string.Empty; + useTempProfile[device] = false; tempprofileDistance[device] = false; } @@ -1316,6 +1318,7 @@ namespace DS4Windows { m_Config.LoadProfile(device, launchprogram, control, appdatapath + @"\Profiles\" + name + ".xml"); tempprofilename[device] = name; + useTempProfile[device] = true; tempprofileDistance[device] = name.ToLower().Contains("distance"); } From dce8a354e20410ecfa3f3c2b49320e0a8b4dd263 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Tue, 5 Mar 2019 07:47:39 -0600 Subject: [PATCH 07/17] Added tip jar section back to README. --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 329fc27..2e542c1 100644 --- a/README.md +++ b/README.md @@ -92,3 +92,14 @@ be made during code review to try to tweak the changes in order to improve application performance. However, there is a chance that a pull request will be rejected if no reasonable solution can be found to incorporate code changes. +## Tip Jar + +If you would like to send some coin my way, here are some means by +which to do so. + +**PayPal:** https://paypal.me/ryochan7 +**Bitcoin:** 1DnMJwjdd7JRfHJap2mmTmADYm38SzR2z9 +**Dogecoin:** D9fhbXp9bCHEhuS8vX1BmVu6t7Y2nVNUCK +**Litecoin:** La5mniW7SFMH2RhqDgUty3RwkBSYbjbnJ6 +**Monero:** 49RvRMiMewaeez1Y2auxHmfMaAUYfhUpBem4ohzRJd9b5acPcxzh1icjnhZfjnYd1S7NQ57reQ7cP1swGre3rpfzUgJhEB7 + From b9178441d486bc91e8278c83f44134257cd73b40 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Tue, 5 Mar 2019 07:49:13 -0600 Subject: [PATCH 08/17] Updated TODO file --- TODO.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/TODO.md b/TODO.md index 03146a9..4c15c46 100644 --- a/TODO.md +++ b/TODO.md @@ -1,10 +1,11 @@ # TODO -* Look into adding periodic rumble updates when data does not change +* ~~Look into adding periodic rumble updates when data does not change~~ * ~~Look into newer version of HidGuardian~~ -* Look into distributing profile properties around various objects +* ~~Look into distributing profile properties around various objects rather than using a lot of getters to obtain properties each poll. It will complicate the architecture a little bit but hopefully -any speed difference will make up for it. +any speed difference will make up for it.~~ * Remove old welcome dialog and make new driver installer executable. Use newer standards (WPF) and bundle app with DS4Windows + From 923f487f39a071d6490111454ec1646da26c3b71 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Wed, 6 Mar 2019 02:11:55 -0600 Subject: [PATCH 09/17] Added dead check to skip some processes --- DS4Windows/DS4Control/Mapping.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/DS4Windows/DS4Control/Mapping.cs b/DS4Windows/DS4Control/Mapping.cs index 7e8b1e2..abf1aff 100644 --- a/DS4Windows/DS4Control/Mapping.cs +++ b/DS4Windows/DS4Control/Mapping.cs @@ -870,7 +870,7 @@ namespace DS4Windows if (r2Sens != 1.0) dState.R2 = (byte)Global.Clamp(0, r2Sens * dState.R2, 255); - if (getSquareStickLS(device)) + if (getSquareStickLS(device) && (dState.LX != 128 || dState.LY != 128)) { double capX = dState.LX >= 128 ? 127.0 : 128.0; double capY = dState.LY >= 128 ? 127.0 : 128.0; @@ -889,7 +889,7 @@ namespace DS4Windows } int lsOutCurveMode = lsOutCurveModeArray[device] = getLsOutCurveMode(device); - if (lsOutCurveMode > 0) + if (lsOutCurveMode > 0 && (dState.LX != 128 || dState.LY != 128)) { double capX = dState.LX >= 128 ? 127.0 : 128.0; double capY = dState.LY >= 128 ? 127.0 : 128.0; @@ -959,7 +959,7 @@ namespace DS4Windows } } - if (getSquareStickRS(device)) + if (getSquareStickRS(device) && (dState.RX != 128 || dState.RY != 128)) { double capX = dState.RX >= 128 ? 127.0 : 128.0; double capY = dState.RY >= 128 ? 127.0 : 128.0; @@ -978,7 +978,7 @@ namespace DS4Windows } int rsOutCurveMode = rsOutCurveModeArray[device] = getRsOutCurveMode(device); - if (rsOutCurveMode > 0) + if (rsOutCurveMode > 0 && (dState.RX != 128 || dState.RY != 128)) { double capX = dState.RX >= 128 ? 127.0 : 128.0; double capY = dState.RY >= 128 ? 127.0 : 128.0; @@ -1049,7 +1049,7 @@ namespace DS4Windows } int l2OutCurveMode = tempIntArray[device] = getL2OutCurveMode(device); - if (l2OutCurveMode > 0) + if (l2OutCurveMode > 0 && dState.L2 != 0) { double temp = dState.L2 / 255.0; if (l2OutCurveMode == 1) @@ -1070,7 +1070,7 @@ namespace DS4Windows } int r2OutCurveMode = tempIntArray[device] = getR2OutCurveMode(device); - if (r2OutCurveMode > 0) + if (r2OutCurveMode > 0 && dState.R2 != 0) { double temp = dState.R2 / 255.0; if (r2OutCurveMode == 1) @@ -1147,7 +1147,7 @@ namespace DS4Windows } int sxOutCurveMode = tempIntArray[device] = getSXOutCurveMode(device); - if (sxOutCurveMode > 0) + if (sxOutCurveMode > 0 && dState.Motion.outputAccelX != 0) { double temp = dState.Motion.outputAccelX / 128.0; double sign = Math.Sign(temp); @@ -1173,7 +1173,7 @@ namespace DS4Windows } int szOutCurveMode = tempIntArray[device] = getSZOutCurveMode(device); - if (szOutCurveMode > 0) + if (szOutCurveMode > 0 && dState.Motion.outputAccelZ != 0) { double temp = dState.Motion.outputAccelZ / 128.0; double sign = Math.Sign(temp); From 72802bb5c633e46f2921650eecfae8cd65369e1e Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Wed, 6 Mar 2019 09:55:35 -0600 Subject: [PATCH 10/17] Small message change --- DS4Windows/Properties/Resources.Designer.cs | 2 +- DS4Windows/Properties/Resources.resx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DS4Windows/Properties/Resources.Designer.cs b/DS4Windows/Properties/Resources.Designer.cs index ac196ac..2fd43bf 100644 --- a/DS4Windows/Properties/Resources.Designer.cs +++ b/DS4Windows/Properties/Resources.Designer.cs @@ -1482,7 +1482,7 @@ namespace DS4Windows.Properties { } /// - /// Looks up a localized string similar to You must quit other applications like UWP apps (Netflix), Steam, Uplay, NVIDIA IN-GAME before activating the 'Hide DS4 Controller' option.. + /// Looks up a localized string similar to You must quit other applications like UWP apps (Netflix), Steam, Uplay, NVIDIA IN-GAME before activating the 'Hide DS4 Controller' option. For more info check https://github.com/Ryochan7/DS4Windows/wiki/Exclusive-Mode-(Hide-DS4-Controller-config-option)-tips-and-issues. /// public static string QuitOtherPrograms { get { diff --git a/DS4Windows/Properties/Resources.resx b/DS4Windows/Properties/Resources.resx index 5348a7c..d6ae880 100644 --- a/DS4Windows/Properties/Resources.resx +++ b/DS4Windows/Properties/Resources.resx @@ -566,7 +566,7 @@ EXPERIMENTAL: Auto-Disable BT when connecting to USB - You must quit other applications like UWP apps (Netflix), Steam, Uplay, NVIDIA IN-GAME before activating the 'Hide DS4 Controller' option. + You must quit other applications like UWP apps (Netflix), Steam, Uplay, NVIDIA IN-GAME before activating the 'Hide DS4 Controller' option. For more info check https://github.com/Ryochan7/DS4Windows/wiki/Exclusive-Mode-(Hide-DS4-Controller-config-option)-tips-and-issues ..\Resources\rainbow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a From ef01b4d3b3b218ab2c4515028932939e024c624c Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Thu, 7 Mar 2019 01:06:55 -0600 Subject: [PATCH 11/17] Altered controller readings to better represent mapped state Related to issue #587. --- DS4Windows/DS4Control/ControlService.cs | 7 +- DS4Windows/DS4Forms/Options.cs | 135 +++++++----------------- 2 files changed, 43 insertions(+), 99 deletions(-) diff --git a/DS4Windows/DS4Control/ControlService.cs b/DS4Windows/DS4Control/ControlService.cs index ab8bfa9..ffa6a47 100644 --- a/DS4Windows/DS4Control/ControlService.cs +++ b/DS4Windows/DS4Control/ControlService.cs @@ -1352,6 +1352,11 @@ namespace DS4Windows public DS4State getDS4StateMapped(int ind) { return MappedState[ind]; - } + } + + public DS4State getDS4StateTemp(int ind) + { + return TempState[ind]; + } } } diff --git a/DS4Windows/DS4Forms/Options.cs b/DS4Windows/DS4Forms/Options.cs index 72aab2e..b923282 100644 --- a/DS4Windows/DS4Forms/Options.cs +++ b/DS4Windows/DS4Forms/Options.cs @@ -954,6 +954,7 @@ namespace DS4Windows DS4StateExposed exposeState = Program.rootHub.ExposedState[tempDeviceNum]; DS4State baseState = Program.rootHub.getDS4State(tempDeviceNum); + DS4State interState = Program.rootHub.getDS4StateTemp(tempDeviceNum); SetDynamicTrackBarValue(tBsixaxisGyroX, (exposeState.getGyroYaw() + tBsixaxisGyroX.Value * 2) / 3); SetDynamicTrackBarValue(tBsixaxisGyroY, (exposeState.getGyroPitch() + tBsixaxisGyroY.Value * 2) / 3); @@ -965,137 +966,75 @@ namespace DS4Windows int x = baseState.LX; int y = baseState.LY; - double tempLSS = (double)nUDLSS.Value; - btnLSTrackS.Visible = tempLSS != 1; - double tempLSCurve = (double)nUDLSCurve.Value; - if (tempLSCurve > 0.0) - { - float max = x + y; - double curvex; - double curvey; - double multimax = TValue(382.5, max, tempLSCurve); - double multimin = TValue(127.5, max, tempLSCurve); - if ((x > 127.5f && y > 127.5f) || (x < 127.5f && y < 127.5f)) - { - curvex = (x > 127.5f ? Math.Min(x, (x / max) * multimax) : Math.Max(x, (x / max) * multimin)); - curvey = (y > 127.5f ? Math.Min(y, (y / max) * multimax) : Math.Max(y, (y / max) * multimin)); - } - else - { - if (x < 127.5f) - { - curvex = Math.Min(x, (x / max) * multimax); - curvey = Math.Min(y, (-(y / max) * multimax + 510)); - } - else - { - curvex = Math.Min(x, (-(x / max) * multimax + 510)); - curvey = Math.Min(y, (y / max) * multimax); - } - } - btnLSTrack.Location = new Point((int)(dpix * curvex / 2.09), (int)(dpiy * curvey / 2.09)); - } - else - { - btnLSTrack.Location = new Point((int)(dpix * x / 2.09), (int)(dpiy * y / 2.09)); - btnLSTrackS.Visible = tempLSS != 1; - } + btnLSTrack.Location = new Point((int)(dpix * x / 2.09), + (int)(dpiy * y / 2.09)); + bool mappedLS = interState.LX != x || interState.LY != y; + btnLSTrackS.Visible = mappedLS; - if (tempLSS != 1) + if (mappedLS) { - btnLSTrackS.Location = new Point((int)(tempLSS * (btnLSTrack.Location.X - pnlLSTrack.Size.Width / 2f) + pnlLSTrack.Size.Width / 2f), - (int)(tempLSS * (btnLSTrack.Location.Y - pnlLSTrack.Size.Height / 2f) + pnlLSTrack.Size.Height / 2f)); + btnLSTrackS.Location = new Point((int)(dpix * interState.LX / 2.09), (int)(dpiy * interState.LY / 2.09)); } x = baseState.RX; y = baseState.RY; - double tempRSS = (double)nUDRSS.Value; - btnRSTrackS.Visible = tempRSS != 1; - double tempRSCurve = (double)nUDRSCurve.Value; - if (tempRSCurve > 0.0) + bool mappedRS = interState.RX != x || interState.RY != y; + btnRSTrackS.Visible = mappedRS; + + btnRSTrack.Location = new Point((int)(dpix * x / 2.09), (int)(dpiy * y / 2.09)); + + if (mappedRS) { - float max = x + y; - double curvex; - double curvey; - double multimax = TValue(382.5, max, tempRSCurve); - double multimin = TValue(127.5, max, tempRSCurve); - if ((x > 127.5f && y > 127.5f) || (x < 127.5f && y < 127.5f)) - { - curvex = (x > 127.5f ? Math.Min(x, (x / max) * multimax) : Math.Max(x, (x / max) * multimin)); - curvey = (y > 127.5f ? Math.Min(y, (y / max) * multimax) : Math.Max(y, (y / max) * multimin)); - } - else - { - if (x < 127.5f) - { - curvex = Math.Min(x, (x / max) * multimax); - curvey = Math.Min(y, (-(y / max) * multimax + 510)); - } - else - { - curvex = Math.Min(x, (-(x / max) * multimax + 510)); - curvey = Math.Min(y, (y / max) * multimax); - } - } - btnRSTrack.Location = new Point((int)(dpix * curvex / 2.09), (int)(dpiy * curvey / 2.09)); - } - else - { - btnRSTrack.Location = new Point((int)(dpix * x / 2.09), (int)(dpiy * y / 2.09)); - btnRSTrackS.Visible = tempRSS != 1; - } - - if (tempRSS != 1) - { - btnRSTrackS.Location = new Point((int)(tempRSS * (btnRSTrack.Location.X - pnlRSTrack.Size.Width / 2f) + pnlRSTrack.Size.Width / 2f), - (int)(tempRSS * (btnRSTrack.Location.Y - pnlRSTrack.Size.Height / 2f) + pnlRSTrack.Size.Height / 2f)); + btnRSTrackS.Location = new Point((int)(dpix * interState.RX / 2.09), (int)(dpiy * interState.RY / 2.09)); } x = exposeState.getAccelX() + 127; y = exposeState.getAccelZ() + 127; - btnSATrack.Location = new Point((int)(dpix * Global.Clamp(0, x / 2.09, pnlSATrack.Size.Width)), (int)(dpiy * Global.Clamp(0, y / 2.09, pnlSATrack.Size.Height))); + btnSATrack.Location = new Point((int)(dpix * Global.Clamp(0, x / 2.09, pnlSATrack.Size.Width)), + (int)(dpiy * Global.Clamp(0, y / 2.09, pnlSATrack.Size.Height))); - double tempSXS = (double)nUDSXS.Value; - double tempSZS = (double)nUDSZS.Value; - btnSATrackS.Visible = tempSXS != 1 || tempSZS != 1; - if (tempSXS != 1 || tempSZS != 1) + bool mappedSix = interState.Motion.accelX != 0 || interState.Motion.accelZ != 0; + btnSATrackS.Visible = mappedSix; + if (mappedSix) { - btnSATrackS.Location = new Point((int)(tempSXS * (btnSATrack.Location.X - pnlSATrack.Size.Width / 2f) + pnlSATrack.Size.Width / 2f), - (int)(tempSZS * (btnSATrack.Location.Y - pnlSATrack.Size.Height / 2f) + pnlSATrack.Size.Height / 2f)); + btnSATrackS.Location = new Point((int)(dpix * Global.Clamp(0, (interState.Motion.accelX + 127) / 2.09, pnlSATrack.Size.Width)), + (int)(dpiy * Global.Clamp(0, (interState.Motion.accelZ + 127) / 2.09, pnlSATrack.Size.Height))); } - double tempL2 = (double)nUDL2.Value; - double tempL2S = (double)nUDL2S.Value; tBL2.Value = baseState.L2; - lbL2Track.Location = new Point(tBL2.Location.X - (int)(dpix * 25), - Math.Max((int)(((tBL2.Location.Y + tBL2.Size.Height) - (tBL2.Value * tempL2S) / (tBL2.Size.Height * .0209f / Math.Pow(dpix, 2))) - dpix * 20), - (int)(1 * ((tBL2.Location.Y + tBL2.Size.Height) - 255 / (tBL2.Size.Height * .0209f / Math.Pow(dpix, 2))) - dpix * 20))); + lbL2Track.Location = new Point(tBL2.Location.X - (int)(dpix * 25), + (int)(tBL2.Location.Y + tBL2.Size.Height - interState.L2 / (tBL2.Size.Height * .0209f / Math.Pow(dpix, 2.0)) - (dpix * 20))); - if (tBL2.Value * tempL2S >= 255) + //lbL2Track.Location = new Point(tBL2.Location.X - (int)(dpix * 25), + // Math.Max((int)(((tBL2.Location.Y + tBL2.Size.Height) - (tBL2.Value * tempL2S) / (tBL2.Size.Height * .0209f / Math.Pow(dpix, 2))) - dpix * 20), + // (int)(1 * ((tBL2.Location.Y + tBL2.Size.Height) - 255 / (tBL2.Size.Height * .0209f / Math.Pow(dpix, 2))) - dpix * 20))); + + if (interState.L2 >= 255) lbL2Track.ForeColor = Color.Green; - else if (tBL2.Value * tempL2S < tempL2 * 255) + else if (interState.L2 == 0) lbL2Track.ForeColor = Color.Red; else lbL2Track.ForeColor = Color.Black; - double tempR2 = (double)nUDR2.Value; - double tempR2S = (double)nUDR2S.Value; tBR2.Value = baseState.R2; lbR2Track.Location = new Point(tBR2.Location.X + (int)(dpix * 25), - Math.Max((int)(1 * ((tBR2.Location.Y + tBR2.Size.Height) - (tBR2.Value * tempR2S) / (tBR2.Size.Height * .0209f / Math.Pow(dpix, 2))) - dpix * 20), - (int)(1 * ((tBR2.Location.Y + tBR2.Size.Height) - 255 / (tBR2.Size.Height * .0209f / Math.Pow(dpix, 2))) - dpix * 20))); + (int)(tBR2.Location.Y + tBR2.Size.Height - interState.R2 / (tBR2.Size.Height * .0209f / Math.Pow(dpix, 2.0)) - (dpix * 20))); + //lbR2Track.Location = new Point(tBR2.Location.X + (int)(dpix * 25), + // Math.Max((int)(1 * ((tBR2.Location.Y + tBR2.Size.Height) - (tBR2.Value * tempR2S) / (tBR2.Size.Height * .0209f / Math.Pow(dpix, 2))) - dpix * 20), + // (int)(1 * ((tBR2.Location.Y + tBR2.Size.Height) - 255 / (tBR2.Size.Height * .0209f / Math.Pow(dpix, 2))) - dpix * 20))); - if (tBR2.Value * tempR2S >= 255) + if (interState.R2 >= 255) lbR2Track.ForeColor = Color.Green; - else if (tBR2.Value * tempR2S < tempR2 * 255) + else if (interState.R2 == 0) lbR2Track.ForeColor = Color.Red; else lbR2Track.ForeColor = Color.Black; double latency = ds.Latency; int warnInterval = ds.getWarnInterval(); - lbInputDelay.Text = Properties.Resources.InputDelay.Replace("*number*", latency.ToString()); + lbInputDelay.Text = Properties.Resources.InputDelay.Replace("*number*", + latency.ToString()); if (latency > warnInterval) { lbInputDelay.BackColor = Color.Red; From 45485bb44db1457cf03db1b13c68761d1da2777a Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Thu, 7 Mar 2019 13:14:43 -0600 Subject: [PATCH 12/17] Added color dialog instance back since VS removed it Related to issue #599 --- DS4Windows/DS4Forms/SpecActions.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/DS4Windows/DS4Forms/SpecActions.cs b/DS4Windows/DS4Forms/SpecActions.cs index d70aa69..a1f5ed5 100644 --- a/DS4Windows/DS4Forms/SpecActions.cs +++ b/DS4Windows/DS4Forms/SpecActions.cs @@ -57,6 +57,10 @@ namespace DS4Windows LoadAction(); loadingAction = false; } + + advColorDialog = new AdvancedColorDialog(); + advColorDialog.FullOpen = true; + advColorDialog.OnUpdateColor += new AdvancedColorDialog.ColorUpdateHandler(this.advColorDialog_OnUpdateColor); } void LoadAction() From 8f3ce714a288c047a0d6f105bf662d4687c36ec6 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Thu, 7 Mar 2019 13:35:13 -0600 Subject: [PATCH 13/17] Removed unwanted boxing for AdvancedColorDialog --- DS4Windows/DS4Forms/AdvancedColorDialog.cs | 2 +- DS4Windows/DS4Forms/DS4Form.cs | 5 ++--- DS4Windows/DS4Forms/KBM360.cs | 5 ++--- DS4Windows/DS4Forms/Options.cs | 5 ++--- DS4Windows/DS4Forms/RecordBox.cs | 5 ++--- DS4Windows/DS4Forms/SpecActions.cs | 5 ++--- 6 files changed, 11 insertions(+), 16 deletions(-) diff --git a/DS4Windows/DS4Forms/AdvancedColorDialog.cs b/DS4Windows/DS4Forms/AdvancedColorDialog.cs index 61764b5..f5e8749 100644 --- a/DS4Windows/DS4Forms/AdvancedColorDialog.cs +++ b/DS4Windows/DS4Forms/AdvancedColorDialog.cs @@ -132,7 +132,7 @@ namespace DS4Windows private const int WM_INITDIALOG = 0x0110; private List EditWindows = null; - public delegate void ColorUpdateHandler(object sender, EventArgs e); + public delegate void ColorUpdateHandler(Color colValue, EventArgs e); public event ColorUpdateHandler OnUpdateColor; [DllImport("user32.dll", CharSet = CharSet.Ansi, SetLastError = true, ExactSpelling = true)] diff --git a/DS4Windows/DS4Forms/DS4Form.cs b/DS4Windows/DS4Forms/DS4Form.cs index b712c8e..c9f2f97 100644 --- a/DS4Windows/DS4Forms/DS4Form.cs +++ b/DS4Windows/DS4Forms/DS4Form.cs @@ -2359,11 +2359,10 @@ Properties.Resources.DS4Update, MessageBoxButtons.YesNo, MessageBoxIcon.Question DS4LightBar.forcelight[currentCustomLed] = false; } - private void advColor_CustomColorUpdate(object sender, EventArgs e) + private void advColor_CustomColorUpdate(Color color, EventArgs e) { - if (sender is Color && currentCustomLed < 4) + if (currentCustomLed < 4) { - Color color = (Color)sender; DS4Color dcolor = new DS4Color { red = color.R, green = color.G, blue = color.B }; DS4LightBar.forcedColor[currentCustomLed] = dcolor; DS4LightBar.forcedFlash[currentCustomLed] = 0; diff --git a/DS4Windows/DS4Forms/KBM360.cs b/DS4Windows/DS4Forms/KBM360.cs index c4f710d..c7bf004 100644 --- a/DS4Windows/DS4Forms/KBM360.cs +++ b/DS4Windows/DS4Forms/KBM360.cs @@ -458,11 +458,10 @@ namespace DS4Windows DS4LightBar.forcelight[device] = false; } - private void advColorDialog_OnUpdateColor(object sender, EventArgs e) + private void advColorDialog_OnUpdateColor(Color color, EventArgs e) { - if (sender is Color && device < 4) + if (device < 4) { - Color color = (Color)sender; DS4Color dcolor = new DS4Color { red = color.R, green = color.G, blue = color.B }; DS4LightBar.forcedColor[device] = dcolor; DS4LightBar.forcedFlash[device] = 0; diff --git a/DS4Windows/DS4Forms/Options.cs b/DS4Windows/DS4Forms/Options.cs index b923282..fa68bbc 100644 --- a/DS4Windows/DS4Forms/Options.cs +++ b/DS4Windows/DS4Forms/Options.cs @@ -1431,11 +1431,10 @@ namespace DS4Windows ChargingColor[device] = new DS4Color(chargingBackColor); } - private void advColorDialog_OnUpdateColor(object sender, EventArgs e) + private void advColorDialog_OnUpdateColor(Color color, EventArgs e) { - if (sender is Color && device < 4) + if (device < 4) { - Color color = (Color)sender; DS4Color dcolor = new DS4Color { red = color.R, green = color.G, blue = color.B }; DS4LightBar.forcedColor[device] = dcolor; DS4LightBar.forcedFlash[device] = 0; diff --git a/DS4Windows/DS4Forms/RecordBox.cs b/DS4Windows/DS4Forms/RecordBox.cs index 112e12b..479f078 100644 --- a/DS4Windows/DS4Forms/RecordBox.cs +++ b/DS4Windows/DS4Forms/RecordBox.cs @@ -1356,11 +1356,10 @@ namespace DS4Windows cHMacro.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize); } - private void advColorDialog_OnUpdateColor(object sender, EventArgs e) + private void advColorDialog_OnUpdateColor(Color color, EventArgs e) { - if (sender is Color && Program.rootHub.DS4Controllers[0] != null) + if (Program.rootHub.DS4Controllers[0] != null) { - Color color = (Color)sender; DS4Color dcolor = new DS4Color { red = color.R, green = color.G, blue = color.B }; DS4LightBar.forcedColor[0] = dcolor; DS4LightBar.forcedFlash[0] = 0; diff --git a/DS4Windows/DS4Forms/SpecActions.cs b/DS4Windows/DS4Forms/SpecActions.cs index a1f5ed5..da4c6f4 100644 --- a/DS4Windows/DS4Forms/SpecActions.cs +++ b/DS4Windows/DS4Forms/SpecActions.cs @@ -491,11 +491,10 @@ namespace DS4Windows e.Graphics.FillRectangle(linGrBrush, 0, 0, pBGraident.Width, pBGraident.Height); } - private void advColorDialog_OnUpdateColor(object sender, EventArgs e) + private void advColorDialog_OnUpdateColor(Color color, EventArgs e) { - if (sender is Color && device < 4) + if (device < 4) { - Color color = (Color)sender; DS4Color dcolor = new DS4Color { red = color.R, green = color.G, blue = color.B }; DS4LightBar.forcedColor[device] = dcolor; DS4LightBar.forcedFlash[device] = 0; From f1a10fb5ec5b0b2c47400e4ddd9645bd4fba1347 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Fri, 8 Mar 2019 14:29:58 -0600 Subject: [PATCH 14/17] Allow flash at to work at 0% battery Related to issue #599 --- DS4Windows/DS4Control/DS4LightBar.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/DS4Windows/DS4Control/DS4LightBar.cs b/DS4Windows/DS4Control/DS4LightBar.cs index 5e72314..97bd015 100644 --- a/DS4Windows/DS4Control/DS4LightBar.cs +++ b/DS4Windows/DS4Control/DS4LightBar.cs @@ -10,7 +10,7 @@ namespace DS4Windows { private readonly static byte[/* Light On duration */, /* Light Off duration */] BatteryIndicatorDurations = { - { 0, 0 }, // 0 is for "charging" OR anything sufficiently-"charged" + { 28, 252 }, // on 10% of the time at 0 { 28, 252 }, { 56, 224 }, { 84, 196 }, @@ -19,7 +19,8 @@ namespace DS4Windows { 168, 112 }, { 196, 84 }, { 224, 56 }, // on 80% of the time at 80, etc. - { 252, 28 } // on 90% of the time at 90 + { 252, 28 }, // on 90% of the time at 90 + { 0, 0 } // use on 100%. 0 is for "charging" OR anything sufficiently-"charged" }; static double[] counters = new double[4] { 0, 0, 0, 0 }; @@ -298,7 +299,7 @@ namespace DS4Windows { int level = device.getBattery() / 10; if (level >= 10) - level = 0; // all values of ~0% or >~100% are rendered the same + level = 10; // all values of >~100% are rendered the same haptics.LightBarFlashDurationOn = BatteryIndicatorDurations[level, 0]; haptics.LightBarFlashDurationOff = BatteryIndicatorDurations[level, 1]; From 3bd0e44dc561d8af40a36cd3d179251674252754 Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Fri, 8 Mar 2019 17:09:36 -0600 Subject: [PATCH 15/17] Removed unneeded device check --- DS4Windows/DS4Control/Mapping.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DS4Windows/DS4Control/Mapping.cs b/DS4Windows/DS4Control/Mapping.cs index abf1aff..f29bf7f 100644 --- a/DS4Windows/DS4Control/Mapping.cs +++ b/DS4Windows/DS4Control/Mapping.cs @@ -1319,7 +1319,7 @@ namespace DS4Windows SyntheticState deviceState = Mapping.deviceState[device]; if (getProfileActionCount(device) > 0 || useTempProfile[device]) MapCustomAction(device, cState, MappedState, eState, tp, ctrl, fieldMapping, outputfieldMapping); - if (ctrl.DS4Controllers[device] == null) return; + //if (ctrl.DS4Controllers[device] == null) return; //cState.CopyTo(MappedState); From c5f1de1b5c13a80b6acfe78022dd0dc3faa9cf9d Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sat, 9 Mar 2019 11:01:05 -0600 Subject: [PATCH 16/17] Update newest file --- DS4Windows/newest.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DS4Windows/newest.txt b/DS4Windows/newest.txt index 9e7398a..d4ca915 100644 --- a/DS4Windows/newest.txt +++ b/DS4Windows/newest.txt @@ -1 +1 @@ -1.6.12 +1.6.13 From b922ba8c7b420da13ce8e673a59884fcca329f0b Mon Sep 17 00:00:00 2001 From: Travis Nickles Date: Sat, 9 Mar 2019 11:01:18 -0600 Subject: [PATCH 17/17] Version 1.6.13 --- DS4Windows/Properties/AssemblyInfo.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DS4Windows/Properties/AssemblyInfo.cs b/DS4Windows/Properties/AssemblyInfo.cs index da0655c..4afbad8 100644 --- a/DS4Windows/Properties/AssemblyInfo.cs +++ b/DS4Windows/Properties/AssemblyInfo.cs @@ -33,7 +33,7 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.6.12")] -[assembly: AssemblyFileVersion("1.6.12")] +[assembly: AssemblyVersion("1.6.13")] +[assembly: AssemblyFileVersion("1.6.13")] [assembly: NeutralResourcesLanguage("en")]