diff --git a/DS4Windows/DS4Control/Mouse.cs b/DS4Windows/DS4Control/Mouse.cs
index 15f72a5..cd7ccd8 100644
--- a/DS4Windows/DS4Control/Mouse.cs
+++ b/DS4Windows/DS4Control/Mouse.cs
@@ -277,6 +277,12 @@ namespace DS4Windows
maxDirY = deltaY >= 0 ? 127 : -128;
*/
+ if (msinfo.vertScale != 100)
+ {
+ double verticalScale = msinfo.vertScale * 0.01;
+ deltaY = (int)(deltaY * verticalScale);
+ }
+
if (deltaX != 0) xratio = deltaX / (double)maxValX;
if (deltaY != 0) yratio = deltaY / (double)maxValY;
diff --git a/DS4Windows/DS4Control/ProfilePropGroups.cs b/DS4Windows/DS4Control/ProfilePropGroups.cs
index eb3dad3..8a68417 100644
--- a/DS4Windows/DS4Control/ProfilePropGroups.cs
+++ b/DS4Windows/DS4Control/ProfilePropGroups.cs
@@ -34,6 +34,7 @@ namespace DS4Windows
public int maxZone;
public double antiDeadX;
public double antiDeadY;
+ public int vertScale;
// Flags representing invert axis choices
public uint inverted;
}
diff --git a/DS4Windows/DS4Control/ScpUtil.cs b/DS4Windows/DS4Control/ScpUtil.cs
index 0f912db..4e3e50f 100644
--- a/DS4Windows/DS4Control/ScpUtil.cs
+++ b/DS4Windows/DS4Control/ScpUtil.cs
@@ -2280,6 +2280,7 @@ namespace DS4Windows
XmlNode xmlGyroMStickAntiDY = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseStickAntiDeadY", null); xmlGyroMStickAntiDY.InnerText = gyroMStickInfo[device].antiDeadY.ToString(); Node.AppendChild(xmlGyroMStickAntiDY);
XmlNode xmlGyroMStickInvert = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseStickInvert", null); xmlGyroMStickInvert.InnerText = gyroMStickInfo[device].inverted.ToString(); Node.AppendChild(xmlGyroMStickInvert);
XmlNode xmlGyroMStickToggle = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseStickToggle", null); xmlGyroMStickToggle.InnerText = gyroMouseStickToggle[device].ToString(); Node.AppendChild(xmlGyroMStickToggle);
+ XmlNode xmlGyroMStickVerticalScale = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseStickVerticalScale", null); xmlGyroMStickVerticalScale.InnerText = gyroMStickInfo[device].vertScale.ToString(); Node.AppendChild(xmlGyroMStickVerticalScale);
XmlNode xmlLSC = m_Xdoc.CreateNode(XmlNodeType.Element, "LSCurve", null); xmlLSC.InnerText = lsCurve[device].ToString(); Node.AppendChild(xmlLSC);
XmlNode xmlRSC = m_Xdoc.CreateNode(XmlNodeType.Element, "RSCurve", null); xmlRSC.InnerText = rsCurve[device].ToString(); Node.AppendChild(xmlRSC);
@@ -3192,6 +3193,9 @@ namespace DS4Windows
}
catch { gyroMouseStickToggle[device] = false; missingSetting = true; }
+ try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/GyroMouseStickVerticalScale"); int.TryParse(Item.InnerText, out gyroMStickInfo[device].vertScale); }
+ catch { gyroMStickInfo[device].vertScale = 100; missingSetting = true; }
+
try
{
@@ -4587,7 +4591,7 @@ namespace DS4Windows
sAMouseStickTriggerCond[device] = true;
gyroMStickInfo[device].deadZone = 30; gyroMStickInfo[device].maxZone = 830;
gyroMStickInfo[device].antiDeadX = 0.4; gyroMStickInfo[device].antiDeadY = 0.4;
- gyroMStickInfo[device].inverted = 0;
+ gyroMStickInfo[device].inverted = 0; gyroMStickInfo[device].vertScale = 100;
gyroMouseStickToggle[device] = false;
sASteeringWheelEmulationAxis[device] = SASteeringWheelEmulationAxisType.None;
sASteeringWheelEmulationRange[device] = 360;
diff --git a/DS4Windows/DS4Forms/Options.Designer.cs b/DS4Windows/DS4Forms/Options.Designer.cs
index 0466b6f..0b86524 100644
--- a/DS4Windows/DS4Forms/Options.Designer.cs
+++ b/DS4Windows/DS4Forms/Options.Designer.cs
@@ -424,6 +424,9 @@
this.optionsTouchInvStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.shareTouchInvStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.psTouchInvStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.label37 = new System.Windows.Forms.Label();
+ this.gyroMStickVertScaleNUD = new System.Windows.Forms.NumericUpDown();
+ this.label38 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.nUDRainbow)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tBBlueBar)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tBGreenBar)).BeginInit();
@@ -525,6 +528,7 @@
((System.ComponentModel.ISupportInitialize)(this.nUDSZS)).BeginInit();
this.cMGyroTriggers.SuspendLayout();
this.cMTouchDisableInvert.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.gyroMStickVertScaleNUD)).BeginInit();
this.SuspendLayout();
//
// lowColorChooserButton
@@ -2046,6 +2050,9 @@
this.gyroMouseJoyFLP.Controls.Add(this.gyroMouseStickAntiDeadX);
this.gyroMouseJoyFLP.Controls.Add(this.label32);
this.gyroMouseJoyFLP.Controls.Add(this.gyroMouseStickAntiDeadY);
+ this.gyroMouseJoyFLP.Controls.Add(this.label37);
+ this.gyroMouseJoyFLP.Controls.Add(this.gyroMStickVertScaleNUD);
+ this.gyroMouseJoyFLP.Controls.Add(this.label38);
this.gyroMouseJoyFLP.Controls.Add(this.label35);
this.gyroMouseJoyFLP.Controls.Add(this.gyroMouseStickEvalCombo);
this.gyroMouseJoyFLP.Controls.Add(this.label33);
@@ -4557,6 +4564,32 @@
resources.ApplyResources(this.psTouchInvStripMenuItem, "psTouchInvStripMenuItem");
this.psTouchInvStripMenuItem.CheckedChanged += new System.EventHandler(this.TouchDisableInvert_CheckedChanged);
//
+ // label37
+ //
+ resources.ApplyResources(this.label37, "label37");
+ this.label37.Name = "label37";
+ //
+ // gyroMStickVertScaleNUD
+ //
+ resources.ApplyResources(this.gyroMStickVertScaleNUD, "gyroMStickVertScaleNUD");
+ this.gyroMStickVertScaleNUD.Maximum = new decimal(new int[] {
+ 400,
+ 0,
+ 0,
+ 0});
+ this.gyroMStickVertScaleNUD.Name = "gyroMStickVertScaleNUD";
+ this.gyroMStickVertScaleNUD.Value = new decimal(new int[] {
+ 100,
+ 0,
+ 0,
+ 0});
+ this.gyroMStickVertScaleNUD.ValueChanged += new System.EventHandler(this.GyroMStickVertScaleNUD_ValueChanged);
+ //
+ // label38
+ //
+ resources.ApplyResources(this.label38, "label38");
+ this.label38.Name = "label38";
+ //
// Options
//
resources.ApplyResources(this, "$this");
@@ -4690,6 +4723,7 @@
((System.ComponentModel.ISupportInitialize)(this.nUDSZS)).EndInit();
this.cMGyroTriggers.ResumeLayout(false);
this.cMTouchDisableInvert.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.gyroMStickVertScaleNUD)).EndInit();
this.ResumeLayout(false);
}
@@ -5092,5 +5126,8 @@
private System.Windows.Forms.Label label35;
private System.Windows.Forms.ComboBox gyroMouseStickEvalCombo;
private System.Windows.Forms.CheckBox gyroMStickToggleCk;
+ private System.Windows.Forms.Label label37;
+ private System.Windows.Forms.NumericUpDown gyroMStickVertScaleNUD;
+ private System.Windows.Forms.Label label38;
}
}
\ No newline at end of file
diff --git a/DS4Windows/DS4Forms/Options.cs b/DS4Windows/DS4Forms/Options.cs
index 61033bc..53f0fc6 100644
--- a/DS4Windows/DS4Forms/Options.cs
+++ b/DS4Windows/DS4Forms/Options.cs
@@ -815,6 +815,7 @@ namespace DS4Windows.Forms
gyroMouseStickInvertXCk.Checked = (gyroMouseStickInfo.inverted & 1) == 1;
gyroMouseStickInvertYCk.Checked = (gyroMouseStickInfo.inverted & 2) == 2;
gyroMStickToggleCk.Checked = GyroMouseStickToggle[device];
+ gyroMStickVertScaleNUD.Value = gyroMouseStickInfo.vertScale;
}
else
{
@@ -960,6 +961,7 @@ namespace DS4Windows.Forms
gyroMouseStickInvertYCk.Checked = false;
gyroMStickTrigBehaveCk.Checked = false;
gyroMStickToggleCk.Checked = false;
+ gyroMStickVertScaleNUD.Value = 100;
Set();
}
@@ -1571,6 +1573,7 @@ namespace DS4Windows.Forms
if (gyroMouseStickInvertXCk.Checked) tempInvert |= 1 << 0;
if (gyroMouseStickInvertYCk.Checked) tempInvert |= 1 << 1;
GyroMouseStickInf[device].inverted = tempInvert;
+ GyroMouseStickInf[device].vertScale = (int)gyroMStickVertScaleNUD.Value;
}
private void Show_ControlsBtn(object sender, EventArgs e)
@@ -3685,6 +3688,14 @@ namespace DS4Windows.Forms
}
}
+ private void GyroMStickVertScaleNUD_ValueChanged(object sender, EventArgs e)
+ {
+ if (loading == false)
+ {
+ GyroMouseStickInf[device].vertScale = (int)gyroMStickVertScaleNUD.Value;
+ }
+ }
+
private void trackFrictionNUD_ValueChanged(object sender, EventArgs e)
{
if (loading == false)
diff --git a/DS4Windows/DS4Forms/Options.resx b/DS4Windows/DS4Forms/Options.resx
index 2a68938..c61a9ee 100644
--- a/DS4Windows/DS4Forms/Options.resx
+++ b/DS4Windows/DS4Forms/Options.resx
@@ -5367,243 +5367,6 @@
12
-
- label36
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 0
-
-
- btnGyroMStickTrig
-
-
- System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 1
-
-
- gyroMStickTrigBehaveCk
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 2
-
-
- gyroMStickToggleCk
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 3
-
-
- label29
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 4
-
-
- gyroMouseStickDZ
-
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 5
-
-
- label30
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 6
-
-
- gyroMouseStickMaxZ
-
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 7
-
-
- label31
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 8
-
-
- gyroMouseStickAntiDeadX
-
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 9
-
-
- label32
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 10
-
-
- gyroMouseStickAntiDeadY
-
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 11
-
-
- label35
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 12
-
-
- gyroMouseStickEvalCombo
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 13
-
-
- label33
-
-
- System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 14
-
-
- gyroMousestickXAxisCom
-
-
- System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 15
-
-
- gyroMouseStickInvertXCk
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 16
-
-
- gyroMouseStickInvertYCk
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gyroMouseJoyFLP
-
-
- 17
-
-
- 8, 47
-
-
- 252, 181
-
-
- 260
-
-
- gyroMouseJoyFLP
-
-
- System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- gBGyro
-
-
- 0
-
True
@@ -5916,6 +5679,81 @@
11
+
+ True
+
+
+ 3, 104
+
+
+ 75, 13
+
+
+ 280
+
+
+ Vertical Scale:
+
+
+ label37
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ gyroMouseJoyFLP
+
+
+ 12
+
+
+ 84, 107
+
+
+ 75, 20
+
+
+ 281
+
+
+ gyroMStickVertScaleNUD
+
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ gyroMouseJoyFLP
+
+
+ 13
+
+
+ 165, 104
+
+
+ 20, 23
+
+
+ 282
+
+
+ %
+
+
+ MiddleCenter
+
+
+ label38
+
+
+ System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ gyroMouseJoyFLP
+
+
+ 14
+
True
@@ -5923,7 +5761,7 @@
NoControl
- 3, 104
+ 3, 130
59, 13
@@ -5944,7 +5782,7 @@
gyroMouseJoyFLP
- 12
+ 15
And
@@ -5953,7 +5791,7 @@
Or
- 68, 107
+ 68, 133
72, 21
@@ -5971,13 +5809,13 @@
gyroMouseJoyFLP
- 13
+ 16
True
- 146, 104
+ 146, 130
39, 13
@@ -5998,7 +5836,7 @@
gyroMouseJoyFLP
- 14
+ 17
Yaw
@@ -6007,7 +5845,7 @@
Roll
- 191, 107
+ 191, 133
56, 21
@@ -6025,13 +5863,13 @@
gyroMouseJoyFLP
- 15
+ 18
True
- 3, 134
+ 3, 160
Yes
@@ -6055,13 +5893,13 @@
gyroMouseJoyFLP
- 16
+ 19
True
- 72, 134
+ 72, 160
Yes
@@ -6085,7 +5923,28 @@
gyroMouseJoyFLP
- 17
+ 20
+
+
+ 8, 47
+
+
+ 252, 181
+
+
+ 260
+
+
+ gyroMouseJoyFLP
+
+
+ System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ gBGyro
+
+
+ 0
tPControls