diff --git a/DS4Control/Control.cs b/DS4Control/Control.cs
index f2a28eb..8216037 100644
--- a/DS4Control/Control.cs
+++ b/DS4Control/Control.cs
@@ -45,7 +45,7 @@ namespace DS4Control
{
if (DS4Devices.isExclusiveMode && !device.IsExclusive)
{
- String message = Properties.Resources.CouldNotOpenDS4.Replace("*Mac address*", device.MacAddress) + Properties.Resources.QuitOtherPrograms;
+ String message = Properties.Resources.CouldNotOpenDS4.Replace("*Mac address*", device.MacAddress) + " " + Properties.Resources.QuitOtherPrograms;
LogDebug(message);
Log.LogToTray(message);
}
diff --git a/DS4Control/Properties/Resources.Designer.cs b/DS4Control/Properties/Resources.Designer.cs
index 138b2a8..b6a411b 100644
--- a/DS4Control/Properties/Resources.Designer.cs
+++ b/DS4Control/Properties/Resources.Designer.cs
@@ -151,7 +151,7 @@ namespace DS4Control.Properties {
}
///
- /// Looks up a localized string similar to You must quit other applications like Steam, Uplay before activating the 'Hide DS4 Controller' option.".
+ /// Looks up a localized string similar to You must quit other applications like Steam, Uplay before activating the 'Hide DS4 Controller' option..
///
internal static string QuitOtherPrograms {
get {
diff --git a/DS4Control/Properties/Resources.resx b/DS4Control/Properties/Resources.resx
index 2b74f4c..37b5ab3 100644
--- a/DS4Control/Properties/Resources.resx
+++ b/DS4Control/Properties/Resources.resx
@@ -148,7 +148,7 @@
none
- You must quit other applications like Steam, Uplay before activating the 'Hide DS4 Controller' option."
+ You must quit other applications like Steam, Uplay before activating the 'Hide DS4 Controller' option.
Searching for controllers…
diff --git a/DS4Control/ScpUtil.cs b/DS4Control/ScpUtil.cs
index 8131afe..fec9fef 100644
--- a/DS4Control/ScpUtil.cs
+++ b/DS4Control/ScpUtil.cs
@@ -330,7 +330,15 @@ namespace DS4Control
public static bool getQuickCharge()
{
return m_Config.quickCharge;
- }
+ }
+ public static void setFirstXinputPort(int data)
+ {
+ m_Config.firstXinputPort = data;
+ }
+ public static int getFirstXinputPort()
+ {
+ return m_Config.firstXinputPort;
+ }
public static void saveLowColor(int device, byte red, byte green, byte blue)
{
m_Config.m_LowLeds[device][0] = red;
@@ -833,6 +841,7 @@ namespace DS4Control
public bool swipeProfiles = true;
public bool ds4Mapping = true;
public bool quickCharge = false;
+ public int firstXinputPort = 1;
public Dictionary[] customMapKeyTypes = { null, null, null, null, null };
public Dictionary[] customMapKeys = { null, null, null, null, null };
public Dictionary[] customMapMacros = { null, null, null, null, null };
@@ -1837,6 +1846,8 @@ namespace DS4Control
catch { missingSetting = true; }
try { Item = m_Xdoc.SelectSingleNode("/Profile/QuickCharge"); Boolean.TryParse(Item.InnerText, out quickCharge); }
catch { missingSetting = true; }
+ try { Item = m_Xdoc.SelectSingleNode("/Profile/FirstXinputPort"); Int32.TryParse(Item.InnerText, out firstXinputPort); }
+ catch { missingSetting = true; }
}
}
catch { }
@@ -1881,6 +1892,7 @@ namespace DS4Control
XmlNode xmlSwipeProfiles = m_Xdoc.CreateNode(XmlNodeType.Element, "SwipeProfiles", null); xmlSwipeProfiles.InnerText = swipeProfiles.ToString(); Node.AppendChild(xmlSwipeProfiles);
XmlNode xmlDS4Mapping = m_Xdoc.CreateNode(XmlNodeType.Element, "UseDS4ForMapping", null); xmlDS4Mapping.InnerText = ds4Mapping.ToString(); Node.AppendChild(xmlDS4Mapping);
XmlNode xmlQuickCharge = m_Xdoc.CreateNode(XmlNodeType.Element, "QuickCharge", null); xmlQuickCharge.InnerText = quickCharge.ToString(); Node.AppendChild(xmlQuickCharge);
+ XmlNode xmlFirstXinputPort = m_Xdoc.CreateNode(XmlNodeType.Element, "FirstXinputPort", null); xmlFirstXinputPort.InnerText = firstXinputPort.ToString(); Node.AppendChild(xmlFirstXinputPort);
m_Xdoc.AppendChild(Node);
try { m_Xdoc.Save(m_Profile); }
diff --git a/DS4Control/X360Device.cs b/DS4Control/X360Device.cs
index 8409f27..7ea29ba 100644
--- a/DS4Control/X360Device.cs
+++ b/DS4Control/X360Device.cs
@@ -11,9 +11,9 @@ namespace DS4Control
public partial class X360Device : ScpDevice
{
private const String DS3_BUS_CLASS_GUID = "{F679F562-3164-42CE-A4DB-E7DDBE723909}";
- private const int CONTROLLER_OFFSET = 1 + 10; // Device 0 is the virtual USB hub itself, and we leave devices 1-10 available for other software (like the Scarlet.Crush DualShock driver itself)
+ private const int CONTROLLER_OFFSET = 1; // Device 0 is the virtual USB hub itself, and we leave devices 1-10 available for other software (like the Scarlet.Crush DualShock driver itself)
- private int firstController = 1 + 10;
+ private int firstController = 1;
// Device 0 is the virtual USB hub itself, and we can leave more available for other software (like the Scarlet.Crush DualShock driver)
public int FirstController
{
diff --git a/DS4Tool/DS4Form.Designer.cs b/DS4Tool/DS4Form.Designer.cs
index 652aeb3..8e7a571 100644
--- a/DS4Tool/DS4Form.Designer.cs
+++ b/DS4Tool/DS4Form.Designer.cs
@@ -108,7 +108,7 @@
this.tSBExportProfile = new System.Windows.Forms.ToolStripButton();
this.tabAutoProfiles = new System.Windows.Forms.TabPage();
this.tabSettings = new System.Windows.Forms.TabPage();
- this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
+ this.fLPSettings = new System.Windows.Forms.FlowLayoutPanel();
this.hideDS4CheckBox = new System.Windows.Forms.CheckBox();
this.cBSwipeProfiles = new System.Windows.Forms.CheckBox();
this.StartWindowsCheckBox = new System.Windows.Forms.CheckBox();
@@ -121,6 +121,10 @@
this.cBNotifications = new System.Windows.Forms.CheckBox();
this.cBDisconnectBT = new System.Windows.Forms.CheckBox();
this.cBQuickCharge = new System.Windows.Forms.CheckBox();
+ this.pnlXIPorts = new System.Windows.Forms.Panel();
+ this.lbUseXIPorts = new System.Windows.Forms.Label();
+ this.nUDXIPorts = new System.Windows.Forms.NumericUpDown();
+ this.lbLastXIPort = new System.Windows.Forms.Label();
this.linkProfiles = new System.Windows.Forms.LinkLabel();
this.lLBUpdate = new System.Windows.Forms.LinkLabel();
this.linkSetup = new System.Windows.Forms.LinkLabel();
@@ -142,9 +146,11 @@
this.tSOptions.SuspendLayout();
this.toolStrip1.SuspendLayout();
this.tabSettings.SuspendLayout();
- this.flowLayoutPanel1.SuspendLayout();
+ this.fLPSettings.SuspendLayout();
this.pNUpdate.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nUDUpdateTime)).BeginInit();
+ this.pnlXIPorts.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.nUDXIPorts)).BeginInit();
this.tabLog.SuspendLayout();
this.SuspendLayout();
//
@@ -728,29 +734,30 @@
//
// tabSettings
//
- this.tabSettings.Controls.Add(this.flowLayoutPanel1);
+ this.tabSettings.Controls.Add(this.fLPSettings);
resources.ApplyResources(this.tabSettings, "tabSettings");
this.tabSettings.Name = "tabSettings";
this.tabSettings.UseVisualStyleBackColor = true;
//
- // flowLayoutPanel1
+ // fLPSettings
//
- resources.ApplyResources(this.flowLayoutPanel1, "flowLayoutPanel1");
- this.flowLayoutPanel1.Controls.Add(this.hideDS4CheckBox);
- this.flowLayoutPanel1.Controls.Add(this.cBSwipeProfiles);
- this.flowLayoutPanel1.Controls.Add(this.StartWindowsCheckBox);
- this.flowLayoutPanel1.Controls.Add(this.startMinimizedCheckBox);
- this.flowLayoutPanel1.Controls.Add(this.cBUpdate);
- this.flowLayoutPanel1.Controls.Add(this.pNUpdate);
- this.flowLayoutPanel1.Controls.Add(this.cBNotifications);
- this.flowLayoutPanel1.Controls.Add(this.cBDisconnectBT);
- this.flowLayoutPanel1.Controls.Add(this.cBQuickCharge);
- this.flowLayoutPanel1.Controls.Add(this.linkProfiles);
- this.flowLayoutPanel1.Controls.Add(this.lLBUpdate);
- this.flowLayoutPanel1.Controls.Add(this.linkSetup);
- this.flowLayoutPanel1.Controls.Add(this.linkUninstall);
- this.flowLayoutPanel1.Controls.Add(this.lnkControllers);
- this.flowLayoutPanel1.Name = "flowLayoutPanel1";
+ resources.ApplyResources(this.fLPSettings, "fLPSettings");
+ this.fLPSettings.Controls.Add(this.hideDS4CheckBox);
+ this.fLPSettings.Controls.Add(this.cBSwipeProfiles);
+ this.fLPSettings.Controls.Add(this.StartWindowsCheckBox);
+ this.fLPSettings.Controls.Add(this.startMinimizedCheckBox);
+ this.fLPSettings.Controls.Add(this.cBUpdate);
+ this.fLPSettings.Controls.Add(this.pNUpdate);
+ this.fLPSettings.Controls.Add(this.cBNotifications);
+ this.fLPSettings.Controls.Add(this.cBDisconnectBT);
+ this.fLPSettings.Controls.Add(this.cBQuickCharge);
+ this.fLPSettings.Controls.Add(this.pnlXIPorts);
+ this.fLPSettings.Controls.Add(this.linkProfiles);
+ this.fLPSettings.Controls.Add(this.lLBUpdate);
+ this.fLPSettings.Controls.Add(this.linkSetup);
+ this.fLPSettings.Controls.Add(this.linkUninstall);
+ this.fLPSettings.Controls.Add(this.lnkControllers);
+ this.fLPSettings.Name = "fLPSettings";
//
// hideDS4CheckBox
//
@@ -845,6 +852,49 @@
this.cBQuickCharge.UseVisualStyleBackColor = true;
this.cBQuickCharge.CheckedChanged += new System.EventHandler(this.cBQuickCharge_CheckedChanged);
//
+ // pnlXIPorts
+ //
+ this.pnlXIPorts.Controls.Add(this.lbUseXIPorts);
+ this.pnlXIPorts.Controls.Add(this.nUDXIPorts);
+ this.pnlXIPorts.Controls.Add(this.lbLastXIPort);
+ resources.ApplyResources(this.pnlXIPorts, "pnlXIPorts");
+ this.pnlXIPorts.Name = "pnlXIPorts";
+ this.pnlXIPorts.MouseEnter += new System.EventHandler(this.pnlXIPorts_MouseEnter);
+ this.pnlXIPorts.MouseLeave += new System.EventHandler(this.pnlXIPorts_MouseLeave);
+ //
+ // lbUseXIPorts
+ //
+ resources.ApplyResources(this.lbUseXIPorts, "lbUseXIPorts");
+ this.lbUseXIPorts.Name = "lbUseXIPorts";
+ //
+ // nUDXIPorts
+ //
+ resources.ApplyResources(this.nUDXIPorts, "nUDXIPorts");
+ this.nUDXIPorts.Maximum = new decimal(new int[] {
+ 11,
+ 0,
+ 0,
+ 0});
+ this.nUDXIPorts.Minimum = new decimal(new int[] {
+ 1,
+ 0,
+ 0,
+ 0});
+ this.nUDXIPorts.Name = "nUDXIPorts";
+ this.nUDXIPorts.Value = new decimal(new int[] {
+ 1,
+ 0,
+ 0,
+ 0});
+ this.nUDXIPorts.ValueChanged += new System.EventHandler(this.nUDXIPorts_ValueChanged);
+ this.nUDXIPorts.Enter += new System.EventHandler(this.nUDXIPorts_Enter);
+ this.nUDXIPorts.Leave += new System.EventHandler(this.nUDXIPorts_Leave);
+ //
+ // lbLastXIPort
+ //
+ resources.ApplyResources(this.lbLastXIPort, "lbLastXIPort");
+ this.lbLastXIPort.Name = "lbLastXIPort";
+ //
// linkProfiles
//
resources.ApplyResources(this.linkProfiles, "linkProfiles");
@@ -924,11 +974,14 @@
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.tabSettings.ResumeLayout(false);
- this.flowLayoutPanel1.ResumeLayout(false);
- this.flowLayoutPanel1.PerformLayout();
+ this.fLPSettings.ResumeLayout(false);
+ this.fLPSettings.PerformLayout();
this.pNUpdate.ResumeLayout(false);
this.pNUpdate.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.nUDUpdateTime)).EndInit();
+ this.pnlXIPorts.ResumeLayout(false);
+ this.pnlXIPorts.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.nUDXIPorts)).EndInit();
this.tabLog.ResumeLayout(false);
this.ResumeLayout(false);
@@ -1014,7 +1067,7 @@
private System.Windows.Forms.TabPage tabSettings;
private System.Windows.Forms.ToolStripButton tSBKeepSize;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
- private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
+ private System.Windows.Forms.FlowLayoutPanel fLPSettings;
private System.Windows.Forms.LinkLabel lLBUpdate;
private System.Windows.Forms.LinkLabel linkSetup;
private System.Windows.Forms.CheckBox hideDS4CheckBox;
@@ -1034,6 +1087,10 @@
private System.Windows.Forms.ToolStripMenuItem startToolStripMenuItem;
public System.Windows.Forms.Label lbLastMessage;
private System.Windows.Forms.CheckBox cBQuickCharge;
+ private System.Windows.Forms.Panel pnlXIPorts;
+ private System.Windows.Forms.Label lbUseXIPorts;
+ private System.Windows.Forms.NumericUpDown nUDXIPorts;
+ private System.Windows.Forms.Label lbLastXIPort;
//private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2;
}
}
diff --git a/DS4Tool/DS4Form.cs b/DS4Tool/DS4Form.cs
index 9c951c3..1b84f41 100644
--- a/DS4Tool/DS4Form.cs
+++ b/DS4Tool/DS4Form.cs
@@ -87,13 +87,9 @@ namespace DS4Windows
(ToolStripMenuItem)notifyIcon1.ContextMenuStrip.Items[3] };
SystemEvents.PowerModeChanged += OnPowerChange;
tSOptions.Visible = false;
- if (File.Exists(appdatapath + "\\Auto Profiles.xml"))
- tt.SetToolTip(linkUninstall, Properties.Resources.IfRemovingDS4Windows);
- tt.SetToolTip(cBSwipeProfiles, Properties.Resources.TwoFingerSwipe);
- tt.SetToolTip(cBQuickCharge, Properties.Resources.QuickCharge);
bool firstrun = false;
if (File.Exists(exepath + "\\Auto Profiles.xml")
- && File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool\\Auto Profiles.xml"))
+ && File.Exists(appdatapath + "\\Auto Profiles.xml"))
{
firstrun = true;
new SaveWhere(true).ShowDialog();
@@ -106,12 +102,15 @@ namespace DS4Windows
{
try
{
+ if (Directory.Exists(appdatapath))
+ Directory.Move(appdatapath, Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows Old");
Directory.Move(oldappdatapath, appdatapath);
Global.SaveWhere(appdatapath);
}
catch
{
- MessageBox.Show(Properties.Resources.CannotMoveFiles, "DS4Windows");
+ MessageBox.Show(Properties.Resources.CannotMoveFiles, "DS4Windows");
+ Process.Start("explorer.exe", @"/select, " + appdatapath);
Close();
return;
}
@@ -191,6 +190,8 @@ namespace DS4Windows
hideDS4CheckBox.CheckedChanged += hideDS4CheckBox_CheckedChanged;
cBDisconnectBT.Checked = Global.getDCBTatStop();
cBQuickCharge.Checked = Global.getQuickCharge();
+ nUDXIPorts.Value = Global.getFirstXinputPort();
+ rootHub.x360Bus.FirstController = Global.getFirstXinputPort();
// New settings
this.Width = Global.getFormWidth();
this.Height = Global.getFormHeight();
@@ -211,6 +212,10 @@ namespace DS4Windows
}
LoadP();
Global.ControllerStatusChange += ControllerStatusChange;
+ Enable_Controls(0, false);
+ Enable_Controls(1, false);
+ Enable_Controls(2, false);
+ Enable_Controls(3, false);
bool start = true;
foreach (string s in arguements)
if (s == "stop")
@@ -1093,9 +1098,22 @@ namespace DS4Windows
private void tabMain_SelectedIndexChanged(object sender, EventArgs e)
{
- lbLastMessage.Visible = tabMain.SelectedIndex != 4;
- if (tabMain.SelectedIndex == 4)
+ lbLastMessage.Visible = tabMain.SelectedTab != tabLog;
+ if (tabMain.SelectedTab == tabLog)
chData.AutoResize(ColumnHeaderAutoResizeStyle.HeaderSize);
+ if (tabMain.SelectedTab == tabSettings)
+ {
+ lbLastMessage.Text = "Hover over items to see description or more about";
+ foreach (System.Windows.Forms.Control control in fLPSettings.Controls)
+ {
+ if (control.HasChildren)
+ foreach (System.Windows.Forms.Control ctrl in control.Controls)
+ ctrl.MouseHover += Items_MouseHover;
+ control.MouseHover += Items_MouseHover;
+ }
+ }
+ else
+ lbLastMessage.Text = lbLastMessage.Text = lvDebug.Items[lvDebug.Items.Count - 1].SubItems[1].Text;
if (opt != null)
if (tabMain.SelectedIndex != 1)
opt.inputtimer.Stop();
@@ -1103,6 +1121,24 @@ namespace DS4Windows
opt.inputtimer.Start();
}
+ private void Items_MouseHover(object sender, EventArgs e)
+ {
+ switch (((System.Windows.Forms.Control)sender).Name)
+ {
+
+ //if (File.Exists(appdatapath + "\\Auto Profiles.xml"))
+ case "linkUninstall": lbLastMessage.Text = Properties.Resources.IfRemovingDS4Windows; break;
+ case "cBSwipeProfiles": lbLastMessage.Text = Properties.Resources.TwoFingerSwipe; break;
+ case "cBQuickCharge": lbLastMessage.Text = Properties.Resources.QuickCharge; break;
+ case "pnlXIPorts": lbLastMessage.Text = Properties.Resources.XinputPorts; break;
+ default: lbLastMessage.Text = "Hover over items to see description or more about"; break;
+ }
+ if (lbLastMessage.Text != "Hover over items to see description or more about")
+ lbLastMessage.ForeColor = Color.Black;
+ else
+ lbLastMessage.ForeColor = SystemColors.GrayText;
+ }
+
private void lBProfiles_MouseDown(object sender, MouseEventArgs e)
{
lBProfiles.SelectedIndex = lBProfiles.IndexFromPoint(e.X, e.Y);
@@ -1405,6 +1441,38 @@ namespace DS4Windows
{
tt.Hide(lbLastMessage);
}
+
+ private void pnlXIPorts_MouseEnter(object sender, EventArgs e)
+ {
+ //oldxiport = (int)Math.Round(nUDXIPorts.Value,0);
+ }
+ int oldxiport;
+ private void pnlXIPorts_MouseLeave(object sender, EventArgs e)
+ {
+
+ }
+
+ private void nUDXIPorts_ValueChanged(object sender, EventArgs e)
+ {
+ lbLastXIPort.Text = "- " + ((int)Math.Round(nUDXIPorts.Value, 0) + 3);
+ }
+
+ private void nUDXIPorts_Leave(object sender, EventArgs e)
+ {
+ if (oldxiport != (int)Math.Round(nUDXIPorts.Value,0))
+ {
+ oldxiport = (int)Math.Round(nUDXIPorts.Value, 0);
+ Global.setFirstXinputPort(oldxiport);
+ rootHub.x360Bus.FirstController = oldxiport;
+ btnStartStop_Click(sender, e);
+ btnStartStop_Click(sender, e);
+ }
+ }
+
+ private void nUDXIPorts_Enter(object sender, EventArgs e)
+ {
+ oldxiport = (int)Math.Round(nUDXIPorts.Value, 0);
+ }
}
public class ThemeUtil
diff --git a/DS4Tool/DS4Form.resx b/DS4Tool/DS4Form.resx
index c293078..00de078 100644
--- a/DS4Tool/DS4Form.resx
+++ b/DS4Tool/DS4Form.resx
@@ -7639,7 +7639,7 @@
Export
- 189, 224
+ 189, 246
cMProfile
@@ -7931,7 +7931,7 @@
2
-
+
True
@@ -7959,7 +7959,7 @@
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
0
@@ -7989,7 +7989,7 @@
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
1
@@ -8019,7 +8019,7 @@
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
2
@@ -8049,7 +8049,7 @@
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
3
@@ -8079,7 +8079,7 @@
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
4
@@ -8187,7 +8187,7 @@
System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
5
@@ -8217,7 +8217,7 @@
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
6
@@ -8247,7 +8247,7 @@
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
7
@@ -8274,16 +8274,127 @@
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
8
+
+ Left
+
+
+ True
+
+
+ NoControl
+
+
+ 3, 3
+
+
+ 86, 13
+
+
+ 0
+
+
+ Use Xinput Ports
+
+
+ lbUseXIPorts
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ pnlXIPorts
+
+
+ 0
+
+
+ Left
+
+
+ 93, 1
+
+
+ 44, 20
+
+
+ 42
+
+
+ nUDXIPorts
+
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ pnlXIPorts
+
+
+ 1
+
+
+ Left
+
+
+ True
+
+
+ NoControl
+
+
+ 143, 3
+
+
+ 19, 13
+
+
+ 0
+
+
+ - 4
+
+
+ lbLastXIPort
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ pnlXIPorts
+
+
+ 2
+
+
+ 10, 222
+
+
+ 186, 22
+
+
+ 44
+
+
+ pnlXIPorts
+
+
+ System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ fLPSettings
+
+
+ 9
+
NoControl
- 10, 219
+ 10, 247
65, 13
@@ -8301,16 +8412,16 @@
System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
- 9
+ 10
NoControl
- 10, 232
+ 10, 260
116, 13
@@ -8331,16 +8442,16 @@
System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
- 10
+ 11
NoControl
- 10, 245
+ 10, 273
115, 13
@@ -8358,16 +8469,16 @@
System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
- 11
+ 12
NoControl
- 10, 258
+ 10, 286
106, 13
@@ -8388,16 +8499,16 @@
System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
- 12
+ 13
NoControl
- 10, 271
+ 10, 299
70, 13
@@ -8415,39 +8526,39 @@
System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- flowLayoutPanel1
+ fLPSettings
- 13
+ 14
-
+
Fill
-
+
TopDown
-
+
3, 3
-
+
7, 7, 0, 9
-
+
890, 353
-
+
0
-
- flowLayoutPanel1
+
+ fLPSettings
-
+
System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
+
tabSettings
-
+
0
diff --git a/DS4Tool/Options.cs b/DS4Tool/Options.cs
index 3b6d6e9..83ed598 100644
--- a/DS4Tool/Options.cs
+++ b/DS4Tool/Options.cs
@@ -82,19 +82,22 @@ namespace DS4Windows
root.lbLastMessage.ForeColor = Color.Black;
root.lbLastMessage.Text = "Hover over items to see description or more about";
foreach (System.Windows.Forms.Control control in Controls)
+ {
if (control.HasChildren)
foreach (System.Windows.Forms.Control ctrl in control.Controls)
+ {
if (ctrl.HasChildren)
foreach (System.Windows.Forms.Control ctrl2 in ctrl.Controls)
+ {
if (ctrl2.HasChildren)
foreach (System.Windows.Forms.Control ctrl3 in ctrl2.Controls)
ctrl3.MouseHover += Items_MouseHover;
- else
- ctrl2.MouseHover += Items_MouseHover;
- else
- ctrl.MouseHover += Items_MouseHover;
- else
- control.MouseHover += Items_MouseHover;
+ ctrl2.MouseHover += Items_MouseHover;
+ }
+ ctrl.MouseHover += Items_MouseHover;
+ }
+ control.MouseHover += Items_MouseHover;
+ }
if (device < 4)
nUDSixaxis.Value = deviceNum + 1;
diff --git a/DS4Tool/Properties/AssemblyInfo.cs b/DS4Tool/Properties/AssemblyInfo.cs
index 21149e8..bb7a751 100644
--- a/DS4Tool/Properties/AssemblyInfo.cs
+++ b/DS4Tool/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.4.16")]
-[assembly: AssemblyFileVersion("1.4.16")]
+[assembly: AssemblyVersion("1.4.161")]
+[assembly: AssemblyFileVersion("1.4.161")]
diff --git a/DS4Tool/Properties/Resources.resx b/DS4Tool/Properties/Resources.resx
index 87a0954..d84fe5e 100644
--- a/DS4Tool/Properties/Resources.resx
+++ b/DS4Tool/Properties/Resources.resx
@@ -584,6 +584,9 @@
Test
- Cannot move files, to new location, Please close out of any profiles in external programs
+ Cannot move files to new location, Please rename the DS4Tool folder to "DS4Windows"
+
+
+ Use higher ports if you get conflicts in other emulating X360 programs, such as SCP's tool
\ No newline at end of file
diff --git a/DS4Tool/Properties/Resources1.Designer.cs b/DS4Tool/Properties/Resources1.Designer.cs
index fc3114b..39d1ed4 100644
--- a/DS4Tool/Properties/Resources1.Designer.cs
+++ b/DS4Tool/Properties/Resources1.Designer.cs
@@ -184,7 +184,7 @@ namespace DS4Windows.Properties {
}
///
- /// Looks up a localized string similar to Cannot move files, to new location, Please close out of any profiles in external programs.
+ /// Looks up a localized string similar to Cannot move files to new location, Please rename the DS4Tool folder to "DS4Windows".
///
internal static string CannotMoveFiles {
get {
@@ -1504,6 +1504,15 @@ namespace DS4Windows.Properties {
}
}
+ ///
+ /// Looks up a localized string similar to Use higher ports if you get conflicts in other emulating X360 programs, such as SCP's tool.
+ ///
+ internal static string XinputPorts {
+ get {
+ return ResourceManager.GetString("XinputPorts", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
diff --git a/DS4Tool/SaveWhere.cs b/DS4Tool/SaveWhere.cs
index afb0c0e..4adb9ba 100644
--- a/DS4Tool/SaveWhere.cs
+++ b/DS4Tool/SaveWhere.cs
@@ -36,7 +36,7 @@ namespace DS4Windows
Global.SaveWhere(Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName);
if (multisaves && !cBDeleteOther.Checked)
{
- try { Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool", true); }
+ try { Directory.Delete(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows", true); }
catch { }
}
else if (!multisaves)
@@ -56,8 +56,8 @@ namespace DS4Windows
}
catch (UnauthorizedAccessException) { MessageBox.Show("Cannot Delete old settings, please manaully delete", "DS4Windows"); }
else if (!multisaves)
- Save(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool\\Profiles.xml");
- Global.SaveWhere(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Tool");
+ Save(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows\\Profiles.xml");
+ Global.SaveWhere(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\DS4Windows");
Close();
}