mirror of
https://github.com/cemu-project/DS4Windows.git
synced 2024-11-26 11:04:21 +01:00
Initial mouse joystick test
This commit is contained in:
parent
a5f00603f4
commit
1e9bc19fc1
@ -160,6 +160,9 @@ namespace DS4Windows
|
|||||||
static DS4SquareStick[] outSqrStk = new DS4SquareStick[4] { new DS4SquareStick(),
|
static DS4SquareStick[] outSqrStk = new DS4SquareStick[4] { new DS4SquareStick(),
|
||||||
new DS4SquareStick(), new DS4SquareStick(), new DS4SquareStick()};
|
new DS4SquareStick(), new DS4SquareStick(), new DS4SquareStick()};
|
||||||
|
|
||||||
|
public static byte[] gyroStickX = new byte[4] { 128, 128, 128, 128 };
|
||||||
|
public static byte[] gyroStickY = new byte[4] { 128, 128, 128, 128 };
|
||||||
|
|
||||||
static ReaderWriterLockSlim syncStateLock = new ReaderWriterLockSlim();
|
static ReaderWriterLockSlim syncStateLock = new ReaderWriterLockSlim();
|
||||||
|
|
||||||
public static SyntheticState globalState = new SyntheticState();
|
public static SyntheticState globalState = new SyntheticState();
|
||||||
@ -1870,6 +1873,12 @@ namespace DS4Windows
|
|||||||
MappedState.SASteeringWheelEmulationUnit = Mapping.Scale360degreeGyroAxis(device, eState, ctrl);
|
MappedState.SASteeringWheelEmulationUnit = Mapping.Scale360degreeGyroAxis(device, eState, ctrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ref byte gyroTempX = ref gyroStickX[device];
|
||||||
|
if (gyroTempX != 128) MappedState.RX = gyroTempX;
|
||||||
|
ref byte gyroTempY = ref gyroStickY[device];
|
||||||
|
if (gyroTempY != 128) MappedState.RY = gyroTempY;
|
||||||
|
gyroTempX = gyroTempY = 128;
|
||||||
|
|
||||||
calculateFinalMouseMovement(ref tempMouseDeltaX, ref tempMouseDeltaY,
|
calculateFinalMouseMovement(ref tempMouseDeltaX, ref tempMouseDeltaY,
|
||||||
out mouseDeltaX, out mouseDeltaY);
|
out mouseDeltaX, out mouseDeltaY);
|
||||||
if (mouseDeltaX != 0 || mouseDeltaY != 0)
|
if (mouseDeltaX != 0 || mouseDeltaY != 0)
|
||||||
|
@ -75,7 +75,8 @@ namespace DS4Windows
|
|||||||
|
|
||||||
public virtual void sixaxisMoved(DS4SixAxis sender, SixAxisEventArgs arg)
|
public virtual void sixaxisMoved(DS4SixAxis sender, SixAxisEventArgs arg)
|
||||||
{
|
{
|
||||||
if (Global.isUsingSAforMouse(deviceNum) && Global.getGyroSensitivity(deviceNum) > 0)
|
GyroOutMode outMode = Global.GetGyroOutMode(deviceNum);
|
||||||
|
if (outMode == GyroOutMode.Mouse && Global.getGyroSensitivity(deviceNum) > 0)
|
||||||
{
|
{
|
||||||
s = dev.getCurrentStateRef();
|
s = dev.getCurrentStateRef();
|
||||||
|
|
||||||
@ -124,7 +125,192 @@ namespace DS4Windows
|
|||||||
cursor.sixaxisMoved(arg);
|
cursor.sixaxisMoved(arg);
|
||||||
else
|
else
|
||||||
cursor.mouseRemainderReset();
|
cursor.mouseRemainderReset();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if (outMode == GyroOutMode.MouseJoystick)
|
||||||
|
{
|
||||||
|
s = dev.getCurrentStateRef();
|
||||||
|
|
||||||
|
useReverseRatchet = Global.GetGyroMouseStickTriggerTurns(deviceNum);
|
||||||
|
int i = 0;
|
||||||
|
string[] ss = Global.GetSAMousestickTriggers(deviceNum).Split(',');
|
||||||
|
bool andCond = Global.GetSAMouseStickTriggerCond(deviceNum);
|
||||||
|
triggeractivated = andCond ? true : false;
|
||||||
|
if (!string.IsNullOrEmpty(ss[0]))
|
||||||
|
{
|
||||||
|
string s = string.Empty;
|
||||||
|
for (int index = 0, arlen = ss.Length; index < arlen; index++)
|
||||||
|
{
|
||||||
|
s = ss[index];
|
||||||
|
if (andCond && !(int.TryParse(s, out i) && getDS4ControlsByName(i)))
|
||||||
|
{
|
||||||
|
triggeractivated = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else if (!andCond && int.TryParse(s, out i) && getDS4ControlsByName(i))
|
||||||
|
{
|
||||||
|
triggeractivated = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
previousTriggerActivated = triggeractivated;
|
||||||
|
if (toggleGyroMouse)
|
||||||
|
{
|
||||||
|
if (triggeractivated && triggeractivated != previousTriggerActivated)
|
||||||
|
{
|
||||||
|
currentToggleGyroM = !currentToggleGyroM;
|
||||||
|
}
|
||||||
|
|
||||||
|
previousTriggerActivated = triggeractivated;
|
||||||
|
triggeractivated = currentToggleGyroM;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
previousTriggerActivated = triggeractivated;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (useReverseRatchet && triggeractivated)
|
||||||
|
SixMouseStick(arg);
|
||||||
|
else if (!useReverseRatchet && !triggeractivated)
|
||||||
|
SixMouseStick(arg);
|
||||||
|
//else
|
||||||
|
// SixMouseReset(arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*private const int GyroMouseStickDeadZone = 50;
|
||||||
|
private const int GyroMouseStickMaxZone = 880;
|
||||||
|
private const int GyroMouseStickFuzz = 20;
|
||||||
|
private const int SMOOTH_BUFFER_LEN = 3;
|
||||||
|
private int[] xSmoothBuffer = new int[SMOOTH_BUFFER_LEN];
|
||||||
|
private int[] ySmoothBuffer = new int[SMOOTH_BUFFER_LEN];
|
||||||
|
private int smoothBufferTail = 0;
|
||||||
|
|
||||||
|
private void SixMouseReset(SixAxisEventArgs args)
|
||||||
|
{
|
||||||
|
int iIndex = smoothBufferTail % SMOOTH_BUFFER_LEN;
|
||||||
|
xSmoothBuffer[iIndex] = 0;
|
||||||
|
ySmoothBuffer[iIndex] = 0;
|
||||||
|
smoothBufferTail = iIndex + 1;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
private void SixMouseStick(SixAxisEventArgs arg)
|
||||||
|
{
|
||||||
|
int deltaX = 0, deltaY = 0;
|
||||||
|
deltaX = Global.getGyroMouseStickHorizontalAxis(0) == 0 ? arg.sixAxis.gyroYawFull :
|
||||||
|
arg.sixAxis.gyroRollFull;
|
||||||
|
deltaY = -arg.sixAxis.gyroPitchFull;
|
||||||
|
//int inputX = deltaX, inputY = deltaY;
|
||||||
|
int maxDirX = deltaX >= 0 ? 127 : -128;
|
||||||
|
int maxDirY = deltaY >= 0 ? 127 : -128;
|
||||||
|
|
||||||
|
GyroMouseStickInfo msinfo = Global.GetGyroMouseStickInfo(deviceNum);
|
||||||
|
|
||||||
|
double tempAngle = Math.Atan2(-deltaY, deltaX);
|
||||||
|
double normX = Math.Abs(Math.Cos(tempAngle));
|
||||||
|
double normY = Math.Abs(Math.Sin(tempAngle));
|
||||||
|
int signX = Math.Sign(deltaX);
|
||||||
|
int signY = Math.Sign(deltaY);
|
||||||
|
|
||||||
|
int deadzoneX = (int)Math.Abs(normX * msinfo.deadZone);
|
||||||
|
int deadzoneY = (int)Math.Abs(normY * msinfo.deadZone);
|
||||||
|
|
||||||
|
int maxValX = signX * msinfo.maxZone;
|
||||||
|
int maxValY = signY * msinfo.maxZone;
|
||||||
|
|
||||||
|
double xratio = 0.0, yratio = 0.0;
|
||||||
|
double antiX = msinfo.antiDeadX * normX;
|
||||||
|
double antiY = msinfo.antiDeadY * normY;
|
||||||
|
|
||||||
|
if (Math.Abs(deltaX) > deadzoneX)
|
||||||
|
{
|
||||||
|
deltaX -= signX * deadzoneX;
|
||||||
|
deltaX = (deltaX < 0 && deltaX < maxValX) ? maxValX :
|
||||||
|
(deltaX > 0 && deltaX > maxValX) ? maxValX : deltaX;
|
||||||
|
//if (deltaX != maxValX) deltaX -= deltaX % (signX * GyroMouseFuzz);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
deltaX = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Math.Abs(deltaY) > deadzoneY)
|
||||||
|
{
|
||||||
|
deltaY -= signY * deadzoneY;
|
||||||
|
deltaY = (deltaY < 0 && deltaY < maxValY) ? maxValY :
|
||||||
|
(deltaY > 0 && deltaY > maxValY) ? maxValY : deltaY;
|
||||||
|
//if (deltaY != maxValY) deltaY -= deltaY % (signY * GyroMouseFuzz);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
deltaY = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*int iIndex = smoothBufferTail % SMOOTH_BUFFER_LEN;
|
||||||
|
xSmoothBuffer[iIndex] = deltaX;
|
||||||
|
ySmoothBuffer[iIndex] = deltaY;
|
||||||
|
smoothBufferTail = iIndex + 1;
|
||||||
|
|
||||||
|
double currentWeight = 1.0;
|
||||||
|
double finalWeight = 0.0;
|
||||||
|
double x_out = 0.0, y_out = 0.0;
|
||||||
|
int idx = 0;
|
||||||
|
for (int i = 0; i < SMOOTH_BUFFER_LEN; i++)
|
||||||
|
{
|
||||||
|
idx = (smoothBufferTail - i - 1 + SMOOTH_BUFFER_LEN) % SMOOTH_BUFFER_LEN;
|
||||||
|
x_out += xSmoothBuffer[idx] * currentWeight;
|
||||||
|
y_out += ySmoothBuffer[idx] * currentWeight;
|
||||||
|
finalWeight += currentWeight;
|
||||||
|
currentWeight *= 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
x_out /= finalWeight;
|
||||||
|
deltaX = (int)x_out;
|
||||||
|
y_out /= finalWeight;
|
||||||
|
deltaY = (int)y_out;
|
||||||
|
|
||||||
|
maxValX = deltaX < 0 ? -msinfo.maxZone : msinfo.maxZone;
|
||||||
|
maxValY = deltaY < 0 ? -msinfo.maxZone : msinfo.maxZone;
|
||||||
|
maxDirX = deltaX >= 0 ? 127 : -128;
|
||||||
|
maxDirY = deltaY >= 0 ? 127 : -128;
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (deltaX != 0) xratio = deltaX / (double)maxValX;
|
||||||
|
if (deltaY != 0) yratio = deltaY / (double)maxValY;
|
||||||
|
|
||||||
|
double xNorm = 0.0, yNorm = 0.0;
|
||||||
|
if (xratio != 0.0)
|
||||||
|
{
|
||||||
|
xNorm = (1.0 - antiX) * xratio + antiX;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (yratio != 0.0)
|
||||||
|
{
|
||||||
|
yNorm = (1.0 - antiY) * yratio + antiY;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (msinfo.inverted != 0)
|
||||||
|
{
|
||||||
|
if ((msinfo.inverted & 1) == 1)
|
||||||
|
{
|
||||||
|
// Invert max dir value
|
||||||
|
maxDirX = deltaX >= 0 ? -128 : 127;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((msinfo.inverted & 2) == 2)
|
||||||
|
{
|
||||||
|
// Invert max dir value
|
||||||
|
maxDirY = deltaY >= 0 ? -128 : 127;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
byte axisXOut = (byte)(xNorm * maxDirX + 128.0);
|
||||||
|
byte axisYOut = (byte)(yNorm * maxDirY + 128.0);
|
||||||
|
Mapping.gyroStickX[deviceNum] = axisXOut;
|
||||||
|
Mapping.gyroStickY[deviceNum] = axisYOut;
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool getDS4ControlsByName(int key)
|
private bool getDS4ControlsByName(int key)
|
||||||
|
@ -22,4 +22,19 @@ namespace DS4Windows
|
|||||||
public int antiDeadZone;
|
public int antiDeadZone;
|
||||||
public int maxZone = 100;
|
public int maxZone = 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class GyroMouseInfo
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public class GyroMouseStickInfo
|
||||||
|
{
|
||||||
|
public int deadZone;
|
||||||
|
public int maxZone;
|
||||||
|
public double antiDeadX;
|
||||||
|
public double antiDeadY;
|
||||||
|
// Flags representing invert axis choices
|
||||||
|
public uint inverted;
|
||||||
|
}
|
||||||
}
|
}
|
@ -23,6 +23,14 @@ namespace DS4Windows
|
|||||||
public enum SASteeringWheelEmulationAxisType: byte { None = 0, LX, LY, RX, RY, L2R2, VJoy1X, VJoy1Y, VJoy1Z, VJoy2X, VJoy2Y, VJoy2Z };
|
public enum SASteeringWheelEmulationAxisType: byte { None = 0, LX, LY, RX, RY, L2R2, VJoy1X, VJoy1Y, VJoy1Z, VJoy2X, VJoy2Y, VJoy2Z };
|
||||||
public enum OutContType : uint { None = 0, X360, DS4 }
|
public enum OutContType : uint { None = 0, X360, DS4 }
|
||||||
|
|
||||||
|
public enum GyroOutMode : uint
|
||||||
|
{
|
||||||
|
None,
|
||||||
|
Controls,
|
||||||
|
Mouse,
|
||||||
|
MouseJoystick,
|
||||||
|
}
|
||||||
|
|
||||||
public class DS4ControlSettings
|
public class DS4ControlSettings
|
||||||
{
|
{
|
||||||
public DS4Controls control;
|
public DS4Controls control;
|
||||||
@ -827,7 +835,7 @@ namespace DS4Windows
|
|||||||
public static bool[] UseSAforMouse => m_Config.useSAforMouse;
|
public static bool[] UseSAforMouse => m_Config.useSAforMouse;
|
||||||
public static bool isUsingSAforMouse(int index)
|
public static bool isUsingSAforMouse(int index)
|
||||||
{
|
{
|
||||||
return m_Config.useSAforMouse[index];
|
return m_Config.gyroOutMode[index] == DS4Windows.GyroOutMode.Mouse;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string[] SATriggers => m_Config.sATriggers;
|
public static string[] SATriggers => m_Config.sATriggers;
|
||||||
@ -846,6 +854,48 @@ namespace DS4Windows
|
|||||||
m_Config.SetSaTriggerCond(index, text);
|
m_Config.SetSaTriggerCond(index, text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static GyroOutMode[] GyroOutputMode => m_Config.gyroOutMode;
|
||||||
|
public static GyroOutMode GetGyroOutMode(int device)
|
||||||
|
{
|
||||||
|
return m_Config.gyroOutMode[device];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string[] SAMousestickTriggers => m_Config.sAMouseStickTriggers;
|
||||||
|
public static string GetSAMousestickTriggers(int device)
|
||||||
|
{
|
||||||
|
return m_Config.sAMouseStickTriggers[device];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool[] SAMouseStickTriggerCond => m_Config.sAMouseStickTriggerCond;
|
||||||
|
public static bool GetSAMouseStickTriggerCond(int device)
|
||||||
|
{
|
||||||
|
return m_Config.sAMouseStickTriggerCond[device];
|
||||||
|
}
|
||||||
|
public static void SetSaMouseStickTriggerCond(int index, string text)
|
||||||
|
{
|
||||||
|
m_Config.SetSaMouseStickTriggerCond(index, text);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool[] GyroMouseStickTriggerTurns = m_Config.gyroMouseStickTriggerTurns;
|
||||||
|
public static bool GetGyroMouseStickTriggerTurns(int device)
|
||||||
|
{
|
||||||
|
return m_Config.gyroMouseStickTriggerTurns[device];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int[] GyroMouseStickHorizontalAxis =>
|
||||||
|
m_Config.gyroMouseStickHorizontalAxis;
|
||||||
|
public static int getGyroMouseStickHorizontalAxis(int index)
|
||||||
|
{
|
||||||
|
return m_Config.gyroMouseStickHorizontalAxis[index];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static GyroMouseStickInfo[] GyroMouseStickInf => m_Config.gyroMStickInfo;
|
||||||
|
public static GyroMouseStickInfo GetGyroMouseStickInfo(int device)
|
||||||
|
{
|
||||||
|
return m_Config.gyroMStickInfo[device];
|
||||||
|
}
|
||||||
|
|
||||||
public static SASteeringWheelEmulationAxisType[] SASteeringWheelEmulationAxis => m_Config.sASteeringWheelEmulationAxis;
|
public static SASteeringWheelEmulationAxisType[] SASteeringWheelEmulationAxis => m_Config.sASteeringWheelEmulationAxis;
|
||||||
public static SASteeringWheelEmulationAxisType GetSASteeringWheelEmulationAxis(int index)
|
public static SASteeringWheelEmulationAxisType GetSASteeringWheelEmulationAxis(int index)
|
||||||
{
|
{
|
||||||
@ -1831,8 +1881,20 @@ namespace DS4Windows
|
|||||||
public bool[] startTouchpadOff = new bool[5] { false, false, false, false, false };
|
public bool[] startTouchpadOff = new bool[5] { false, false, false, false, false };
|
||||||
public bool[] useTPforControls = new bool[5] { false, false, false, false, false };
|
public bool[] useTPforControls = new bool[5] { false, false, false, false, false };
|
||||||
public bool[] useSAforMouse = new bool[5] { false, false, false, false, false };
|
public bool[] useSAforMouse = new bool[5] { false, false, false, false, false };
|
||||||
|
public GyroOutMode[] gyroOutMode = new GyroOutMode[5] { GyroOutMode.Controls, GyroOutMode.Controls,
|
||||||
|
GyroOutMode.Controls, GyroOutMode.Controls, GyroOutMode.Controls };
|
||||||
public string[] sATriggers = new string[5] { string.Empty, string.Empty, string.Empty, string.Empty, string.Empty };
|
public string[] sATriggers = new string[5] { string.Empty, string.Empty, string.Empty, string.Empty, string.Empty };
|
||||||
|
public string[] sAMouseStickTriggers = new string[5] { string.Empty, string.Empty, string.Empty, string.Empty, string.Empty };
|
||||||
public bool[] sATriggerCond = new bool[5] { true, true, true, true, true };
|
public bool[] sATriggerCond = new bool[5] { true, true, true, true, true };
|
||||||
|
public bool[] sAMouseStickTriggerCond = new bool[5] { true, true, true, true, true };
|
||||||
|
public bool[] gyroMouseStickTriggerTurns = new bool[5] { true, true, true, true, true };
|
||||||
|
public GyroMouseStickInfo[] gyroMStickInfo = new GyroMouseStickInfo[5]
|
||||||
|
{
|
||||||
|
new GyroMouseStickInfo(), new GyroMouseStickInfo(),
|
||||||
|
new GyroMouseStickInfo(), new GyroMouseStickInfo(),
|
||||||
|
new GyroMouseStickInfo()
|
||||||
|
};
|
||||||
|
|
||||||
public SASteeringWheelEmulationAxisType[] sASteeringWheelEmulationAxis = new SASteeringWheelEmulationAxisType[5] { SASteeringWheelEmulationAxisType.None, SASteeringWheelEmulationAxisType.None, SASteeringWheelEmulationAxisType.None, SASteeringWheelEmulationAxisType.None, SASteeringWheelEmulationAxisType.None };
|
public SASteeringWheelEmulationAxisType[] sASteeringWheelEmulationAxis = new SASteeringWheelEmulationAxisType[5] { SASteeringWheelEmulationAxisType.None, SASteeringWheelEmulationAxisType.None, SASteeringWheelEmulationAxisType.None, SASteeringWheelEmulationAxisType.None, SASteeringWheelEmulationAxisType.None };
|
||||||
public int[] sASteeringWheelEmulationRange = new int[5] { 360, 360, 360, 360, 360 };
|
public int[] sASteeringWheelEmulationRange = new int[5] { 360, 360, 360, 360, 360 };
|
||||||
public int[][] touchDisInvertTriggers = new int[5][] { new int[1] { -1 }, new int[1] { -1 }, new int[1] { -1 },
|
public int[][] touchDisInvertTriggers = new int[5][] { new int[1] { -1 }, new int[1] { -1 }, new int[1] { -1 },
|
||||||
@ -1892,6 +1954,9 @@ namespace DS4Windows
|
|||||||
public bool[] gyroSmoothing = new bool[5] { false, false, false, false, false };
|
public bool[] gyroSmoothing = new bool[5] { false, false, false, false, false };
|
||||||
public double[] gyroSmoothWeight = new double[5] { 0.5, 0.5, 0.5, 0.5, 0.5 };
|
public double[] gyroSmoothWeight = new double[5] { 0.5, 0.5, 0.5, 0.5, 0.5 };
|
||||||
public int[] gyroMouseHorizontalAxis = new int[5] { 0, 0, 0, 0, 0 };
|
public int[] gyroMouseHorizontalAxis = new int[5] { 0, 0, 0, 0, 0 };
|
||||||
|
|
||||||
|
public int[] gyroMouseStickHorizontalAxis = new int[5] { 0, 0, 0, 0, 0 };
|
||||||
|
|
||||||
public bool[] trackballMode = new bool[5] { false, false, false, false, false };
|
public bool[] trackballMode = new bool[5] { false, false, false, false, false };
|
||||||
public double[] trackballFriction = new double[5] { 10.0, 10.0, 10.0, 10.0, 10.0 };
|
public double[] trackballFriction = new double[5] { 10.0, 10.0, 10.0, 10.0, 10.0 };
|
||||||
public OutContType[] outputDevType = new OutContType[5] { OutContType.X360,
|
public OutContType[] outputDevType = new OutContType[5] { OutContType.X360,
|
||||||
@ -1986,6 +2051,11 @@ namespace DS4Windows
|
|||||||
sATriggerCond[index] = SaTriggerCondValue(text);
|
sATriggerCond[index] = SaTriggerCondValue(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void SetSaMouseStickTriggerCond(int index, string text)
|
||||||
|
{
|
||||||
|
sAMouseStickTriggerCond[index] = SaTriggerCondValue(text);
|
||||||
|
}
|
||||||
|
|
||||||
public void SetGyroMouseDZ(int index, int value, ControlService control)
|
public void SetGyroMouseDZ(int index, int value, ControlService control)
|
||||||
{
|
{
|
||||||
gyroMouseDZ[index] = value;
|
gyroMouseDZ[index] = value;
|
||||||
@ -2028,6 +2098,56 @@ namespace DS4Windows
|
|||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void PortOldGyroSettings(int device)
|
||||||
|
{
|
||||||
|
if (gyroOutMode[device] == GyroOutMode.None)
|
||||||
|
{
|
||||||
|
gyroOutMode[device] = GyroOutMode.Controls;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetGyroOutModeString(GyroOutMode mode)
|
||||||
|
{
|
||||||
|
string result = "None";
|
||||||
|
switch(mode)
|
||||||
|
{
|
||||||
|
case GyroOutMode.Controls:
|
||||||
|
result = "Controls";
|
||||||
|
break;
|
||||||
|
case GyroOutMode.Mouse:
|
||||||
|
result = "Mouse";
|
||||||
|
break;
|
||||||
|
case GyroOutMode.MouseJoystick:
|
||||||
|
result = "MouseJoystick";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private GyroOutMode GetGyroOutModeType(string modeString)
|
||||||
|
{
|
||||||
|
GyroOutMode result = GyroOutMode.None;
|
||||||
|
switch(modeString)
|
||||||
|
{
|
||||||
|
case "Controls":
|
||||||
|
result = GyroOutMode.Controls;
|
||||||
|
break;
|
||||||
|
case "Mouse":
|
||||||
|
result = GyroOutMode.Mouse;
|
||||||
|
break;
|
||||||
|
case "MouseJoystick":
|
||||||
|
result = GyroOutMode.MouseJoystick;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
public bool SaveProfile(int device, string propath)
|
public bool SaveProfile(int device, string propath)
|
||||||
{
|
{
|
||||||
bool Saved = true;
|
bool Saved = true;
|
||||||
@ -2119,6 +2239,8 @@ namespace DS4Windows
|
|||||||
XmlNode xmlSASteeringWheelEmulationAxis = m_Xdoc.CreateNode(XmlNodeType.Element, "SASteeringWheelEmulationAxis", null); xmlSASteeringWheelEmulationAxis.InnerText = sASteeringWheelEmulationAxis[device].ToString("G"); Node.AppendChild(xmlSASteeringWheelEmulationAxis);
|
XmlNode xmlSASteeringWheelEmulationAxis = m_Xdoc.CreateNode(XmlNodeType.Element, "SASteeringWheelEmulationAxis", null); xmlSASteeringWheelEmulationAxis.InnerText = sASteeringWheelEmulationAxis[device].ToString("G"); Node.AppendChild(xmlSASteeringWheelEmulationAxis);
|
||||||
XmlNode xmlSASteeringWheelEmulationRange = m_Xdoc.CreateNode(XmlNodeType.Element, "SASteeringWheelEmulationRange", null); xmlSASteeringWheelEmulationRange.InnerText = sASteeringWheelEmulationRange[device].ToString(); Node.AppendChild(xmlSASteeringWheelEmulationRange);
|
XmlNode xmlSASteeringWheelEmulationRange = m_Xdoc.CreateNode(XmlNodeType.Element, "SASteeringWheelEmulationRange", null); xmlSASteeringWheelEmulationRange.InnerText = sASteeringWheelEmulationRange[device].ToString(); Node.AppendChild(xmlSASteeringWheelEmulationRange);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
XmlNode xmlTouchDisInvTriggers = m_Xdoc.CreateNode(XmlNodeType.Element, "TouchDisInvTriggers", null);
|
XmlNode xmlTouchDisInvTriggers = m_Xdoc.CreateNode(XmlNodeType.Element, "TouchDisInvTriggers", null);
|
||||||
string tempTouchDisInv = string.Join(",", touchDisInvertTriggers[device]);
|
string tempTouchDisInv = string.Join(",", touchDisInvertTriggers[device]);
|
||||||
xmlTouchDisInvTriggers.InnerText = tempTouchDisInv;
|
xmlTouchDisInvTriggers.InnerText = tempTouchDisInv;
|
||||||
@ -2133,6 +2255,18 @@ namespace DS4Windows
|
|||||||
XmlNode xmlGyroMouseHAxis = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseHAxis", null); xmlGyroMouseHAxis.InnerText = gyroMouseHorizontalAxis[device].ToString(); Node.AppendChild(xmlGyroMouseHAxis);
|
XmlNode xmlGyroMouseHAxis = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseHAxis", null); xmlGyroMouseHAxis.InnerText = gyroMouseHorizontalAxis[device].ToString(); Node.AppendChild(xmlGyroMouseHAxis);
|
||||||
XmlNode xmlGyroMouseDZ = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseDeadZone", null); xmlGyroMouseDZ.InnerText = gyroMouseDZ[device].ToString(); Node.AppendChild(xmlGyroMouseDZ);
|
XmlNode xmlGyroMouseDZ = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseDeadZone", null); xmlGyroMouseDZ.InnerText = gyroMouseDZ[device].ToString(); Node.AppendChild(xmlGyroMouseDZ);
|
||||||
XmlNode xmlGyroMouseToggle = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseToggle", null); xmlGyroMouseToggle.InnerText = gyroMouseToggle[device].ToString(); Node.AppendChild(xmlGyroMouseToggle);
|
XmlNode xmlGyroMouseToggle = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseToggle", null); xmlGyroMouseToggle.InnerText = gyroMouseToggle[device].ToString(); Node.AppendChild(xmlGyroMouseToggle);
|
||||||
|
|
||||||
|
XmlNode xmlGyroOutMode = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroOutputMode", null); xmlGyroOutMode.InnerText = GetGyroOutModeString(gyroOutMode[device]); Node.AppendChild(xmlGyroOutMode);
|
||||||
|
XmlNode xmlGyroMStickTriggers = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseStickTriggers", null); xmlGyroMStickTriggers.InnerText = sAMouseStickTriggers[device].ToString(); Node.AppendChild(xmlGyroMStickTriggers);
|
||||||
|
XmlNode xmlGyroMStickTriggerCond = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseStickTriggerCond", null); xmlGyroMStickTriggerCond.InnerText = SaTriggerCondString(sAMouseStickTriggerCond[device]); Node.AppendChild(xmlGyroMStickTriggerCond);
|
||||||
|
XmlNode xmlGyroMStickTriggerTurns = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMousestickTriggerTurns", null); xmlGyroMStickTriggerTurns.InnerText = gyroMouseStickTriggerTurns[device].ToString(); Node.AppendChild(xmlGyroMStickTriggerTurns);
|
||||||
|
XmlNode xmlGyroMStickHAxis = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseStickHAxis", null); xmlGyroMStickHAxis.InnerText = gyroMouseStickHorizontalAxis[device].ToString(); Node.AppendChild(xmlGyroMStickHAxis);
|
||||||
|
XmlNode xmlGyroMStickDZ = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseStickDeadZone", null); xmlGyroMStickDZ.InnerText = gyroMStickInfo[device].deadZone.ToString(); Node.AppendChild(xmlGyroMStickDZ);
|
||||||
|
XmlNode xmlGyroMStickMaxZ = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseStickMaxZone", null); xmlGyroMStickMaxZ.InnerText = gyroMStickInfo[device].maxZone.ToString(); Node.AppendChild(xmlGyroMStickMaxZ);
|
||||||
|
XmlNode xmlGyroMStickAntiDX = m_Xdoc.CreateNode(XmlNodeType.Element, "GyroMouseStickAntiDeadX", null); xmlGyroMStickAntiDX.InnerText = gyroMStickInfo[device].antiDeadX.ToString(); Node.AppendChild(xmlGyroMStickAntiDX);
|
||||||
|
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 xmlLSC = m_Xdoc.CreateNode(XmlNodeType.Element, "LSCurve", null); xmlLSC.InnerText = lsCurve[device].ToString(); Node.AppendChild(xmlLSC);
|
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);
|
XmlNode xmlRSC = m_Xdoc.CreateNode(XmlNodeType.Element, "RSCurve", null); xmlRSC.InnerText = rsCurve[device].ToString(); Node.AppendChild(xmlRSC);
|
||||||
XmlNode xmlProfileActions = m_Xdoc.CreateNode(XmlNodeType.Element, "ProfileActions", null); xmlProfileActions.InnerText = string.Join("/", profileActions[device]); Node.AppendChild(xmlProfileActions);
|
XmlNode xmlProfileActions = m_Xdoc.CreateNode(XmlNodeType.Element, "ProfileActions", null); xmlProfileActions.InnerText = string.Join("/", profileActions[device]); Node.AppendChild(xmlProfileActions);
|
||||||
@ -2973,8 +3107,13 @@ namespace DS4Windows
|
|||||||
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/UseTPforControls"); bool.TryParse(Item.InnerText, out useTPforControls[device]); }
|
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/UseTPforControls"); bool.TryParse(Item.InnerText, out useTPforControls[device]); }
|
||||||
catch { useTPforControls[device] = false; missingSetting = true; }
|
catch { useTPforControls[device] = false; missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/UseSAforMouse"); bool.TryParse(Item.InnerText, out useSAforMouse[device]); }
|
try
|
||||||
catch { useSAforMouse[device] = false; missingSetting = true; }
|
{
|
||||||
|
Item = m_Xdoc.SelectSingleNode("/" + rootname + "/UseSAforMouse");
|
||||||
|
bool.TryParse(Item.InnerText, out bool temp);
|
||||||
|
if (temp) gyroOutMode[device] = GyroOutMode.Mouse;
|
||||||
|
}
|
||||||
|
catch { gyroOutMode[device] = GyroOutMode.Controls; missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/SATriggers"); sATriggers[device] = Item.InnerText; }
|
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/SATriggers"); sATriggers[device] = Item.InnerText; }
|
||||||
catch { sATriggers[device] = ""; missingSetting = true; }
|
catch { sATriggers[device] = ""; missingSetting = true; }
|
||||||
@ -2988,6 +3127,52 @@ namespace DS4Windows
|
|||||||
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/SASteeringWheelEmulationRange"); int.TryParse(Item.InnerText, out sASteeringWheelEmulationRange[device]); }
|
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/SASteeringWheelEmulationRange"); int.TryParse(Item.InnerText, out sASteeringWheelEmulationRange[device]); }
|
||||||
catch { sASteeringWheelEmulationRange[device] = 360; missingSetting = true; }
|
catch { sASteeringWheelEmulationRange[device] = 360; missingSetting = true; }
|
||||||
|
|
||||||
|
|
||||||
|
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/GyroOutputMode"); GyroOutMode.TryParse(Item.InnerText, out gyroOutMode[device]); }
|
||||||
|
catch { PortOldGyroSettings(device); missingSetting = true; }
|
||||||
|
|
||||||
|
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/GyroMouseStickTriggers"); sAMouseStickTriggers[device] = Item.InnerText; }
|
||||||
|
catch { sAMouseStickTriggers[device] = ""; missingSetting = true; }
|
||||||
|
|
||||||
|
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/GyroMouseStickTriggerCond"); sAMouseStickTriggerCond[device] = SaTriggerCondValue(Item.InnerText); }
|
||||||
|
catch { sAMouseStickTriggerCond[device] = true; missingSetting = true; }
|
||||||
|
|
||||||
|
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/GyroMousestickTriggerTurns"); bool.TryParse(Item.InnerText, out gyroTriggerTurns[device]); }
|
||||||
|
catch { gyroMouseStickTriggerTurns[device] = true; missingSetting = true; }
|
||||||
|
|
||||||
|
|
||||||
|
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/GyroMouseStickHAxis"); int temp = 0; int.TryParse(Item.InnerText, out temp); gyroMouseStickHorizontalAxis[device] = Math.Min(Math.Max(0, temp), 1); }
|
||||||
|
catch { gyroMouseStickHorizontalAxis[device] = 0; missingSetting = true; }
|
||||||
|
|
||||||
|
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/GyroMouseStickDeadZone"); int.TryParse(Item.InnerText, out int temp);
|
||||||
|
gyroMStickInfo[device].deadZone = temp; }
|
||||||
|
catch { gyroMStickInfo[device].deadZone = 50; missingSetting = true; }
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Item = m_Xdoc.SelectSingleNode("/" + rootname + "/GyroMouseStickMaxZone"); int.TryParse(Item.InnerText, out int temp);
|
||||||
|
gyroMStickInfo[device].maxZone = temp;
|
||||||
|
}
|
||||||
|
catch { gyroMStickInfo[device].maxZone = 880; missingSetting = true; }
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Item = m_Xdoc.SelectSingleNode("/" + rootname + "/GyroMouseStickAntiDeadX"); double.TryParse(Item.InnerText, out double temp);
|
||||||
|
gyroMStickInfo[device].antiDeadX = temp;
|
||||||
|
}
|
||||||
|
catch { gyroMStickInfo[device].antiDeadX = 0.35; missingSetting = true; }
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Item = m_Xdoc.SelectSingleNode("/" + rootname + "/GyroMouseStickAntiDeadY"); double.TryParse(Item.InnerText, out double temp);
|
||||||
|
gyroMStickInfo[device].antiDeadY = temp;
|
||||||
|
}
|
||||||
|
catch { gyroMStickInfo[device].antiDeadY = 0.35; missingSetting = true; }
|
||||||
|
|
||||||
|
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/GyroMouseStickInvert"); uint.TryParse(Item.InnerText, out gyroMStickInfo[device].inverted); }
|
||||||
|
catch { gyroMStickInfo[device].inverted = 0; missingSetting = true; }
|
||||||
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
Item = m_Xdoc.SelectSingleNode("/" + rootname + "/TouchDisInvTriggers");
|
Item = m_Xdoc.SelectSingleNode("/" + rootname + "/TouchDisInvTriggers");
|
||||||
@ -3367,6 +3552,8 @@ namespace DS4Windows
|
|||||||
containsCustomAction[device] = HasCustomActions(device);
|
containsCustomAction[device] = HasCustomActions(device);
|
||||||
containsCustomExtras[device] = HasCustomExtras(device);
|
containsCustomExtras[device] = HasCustomExtras(device);
|
||||||
|
|
||||||
|
Program.rootHub.touchPad[device]?.ResetToggleGyroM();
|
||||||
|
|
||||||
// If a device exists, make sure to transfer relevant profile device
|
// If a device exists, make sure to transfer relevant profile device
|
||||||
// options to device instance
|
// options to device instance
|
||||||
if (postLoad && device < 4)
|
if (postLoad && device < 4)
|
||||||
@ -4361,6 +4548,12 @@ namespace DS4Windows
|
|||||||
useSAforMouse[device] = false;
|
useSAforMouse[device] = false;
|
||||||
sATriggers[device] = string.Empty;
|
sATriggers[device] = string.Empty;
|
||||||
sATriggerCond[device] = true;
|
sATriggerCond[device] = true;
|
||||||
|
gyroOutMode[device] = GyroOutMode.Controls;
|
||||||
|
sAMouseStickTriggers[device] = string.Empty;
|
||||||
|
sAMouseStickTriggerCond[device] = false;
|
||||||
|
gyroMStickInfo[device].deadZone = 50; gyroMStickInfo[device].maxZone = 880;
|
||||||
|
gyroMStickInfo[device].antiDeadX = 0.35; gyroMStickInfo[device].antiDeadY = 0.35;
|
||||||
|
gyroMStickInfo[device].inverted = 0;
|
||||||
sASteeringWheelEmulationAxis[device] = SASteeringWheelEmulationAxisType.None;
|
sASteeringWheelEmulationAxis[device] = SASteeringWheelEmulationAxisType.None;
|
||||||
sASteeringWheelEmulationRange[device] = 360;
|
sASteeringWheelEmulationRange[device] = 360;
|
||||||
touchDisInvertTriggers[device] = new int[1] { -1 };
|
touchDisInvertTriggers[device] = new int[1] { -1 };
|
||||||
|
259
DS4Windows/DS4Forms/Options.Designer.cs
generated
259
DS4Windows/DS4Forms/Options.Designer.cs
generated
@ -195,6 +195,24 @@
|
|||||||
this.lblSteeringWheelEmulationRange = new System.Windows.Forms.Label();
|
this.lblSteeringWheelEmulationRange = new System.Windows.Forms.Label();
|
||||||
this.cBSteeringWheelEmulationRange = new System.Windows.Forms.ComboBox();
|
this.cBSteeringWheelEmulationRange = new System.Windows.Forms.ComboBox();
|
||||||
this.btnSteeringWheelEmulationCalibrate = new System.Windows.Forms.Button();
|
this.btnSteeringWheelEmulationCalibrate = new System.Windows.Forms.Button();
|
||||||
|
this.gyroMouseJoyFLP = new System.Windows.Forms.FlowLayoutPanel();
|
||||||
|
this.label36 = new System.Windows.Forms.Label();
|
||||||
|
this.btnGyroMStickTrig = new System.Windows.Forms.Button();
|
||||||
|
this.gyroMStickTrigBehaveCk = new System.Windows.Forms.CheckBox();
|
||||||
|
this.label29 = new System.Windows.Forms.Label();
|
||||||
|
this.gyroMouseStickDZ = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label30 = new System.Windows.Forms.Label();
|
||||||
|
this.gyroMouseStickMaxZ = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label31 = new System.Windows.Forms.Label();
|
||||||
|
this.gyroMouseStickAntiDeadX = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label32 = new System.Windows.Forms.Label();
|
||||||
|
this.gyroMouseStickAntiDeadY = new System.Windows.Forms.NumericUpDown();
|
||||||
|
this.label35 = new System.Windows.Forms.Label();
|
||||||
|
this.gyroMouseStickEvalCombo = new System.Windows.Forms.ComboBox();
|
||||||
|
this.label33 = new System.Windows.Forms.Label();
|
||||||
|
this.gyroMousestickXAxisCom = new System.Windows.Forms.ComboBox();
|
||||||
|
this.gyroMouseStickInvertXCk = new System.Windows.Forms.CheckBox();
|
||||||
|
this.gyroMouseStickInvertYCk = new System.Windows.Forms.CheckBox();
|
||||||
this.tCControls = new System.Windows.Forms.TabControl();
|
this.tCControls = new System.Windows.Forms.TabControl();
|
||||||
this.tPControls = new System.Windows.Forms.TabPage();
|
this.tPControls = new System.Windows.Forms.TabPage();
|
||||||
this.lBControls = new System.Windows.Forms.ListBox();
|
this.lBControls = new System.Windows.Forms.ListBox();
|
||||||
@ -326,8 +344,8 @@
|
|||||||
this.label13 = new System.Windows.Forms.Label();
|
this.label13 = new System.Windows.Forms.Label();
|
||||||
this.fLPSettings = new System.Windows.Forms.FlowLayoutPanel();
|
this.fLPSettings = new System.Windows.Forms.FlowLayoutPanel();
|
||||||
this.gBGyro = new System.Windows.Forms.GroupBox();
|
this.gBGyro = new System.Windows.Forms.GroupBox();
|
||||||
this.rBSAControls = new System.Windows.Forms.RadioButton();
|
this.label34 = new System.Windows.Forms.Label();
|
||||||
this.rBSAMouse = new System.Windows.Forms.RadioButton();
|
this.gyroOutputMode = new System.Windows.Forms.ComboBox();
|
||||||
this.pnlSAMouse = new System.Windows.Forms.Panel();
|
this.pnlSAMouse = new System.Windows.Forms.Panel();
|
||||||
this.toggleGyroMCb = new System.Windows.Forms.CheckBox();
|
this.toggleGyroMCb = new System.Windows.Forms.CheckBox();
|
||||||
this.label27 = new System.Windows.Forms.Label();
|
this.label27 = new System.Windows.Forms.Label();
|
||||||
@ -452,6 +470,11 @@
|
|||||||
this.pnlLSTrack.SuspendLayout();
|
this.pnlLSTrack.SuspendLayout();
|
||||||
this.pnlRSTrack.SuspendLayout();
|
this.pnlRSTrack.SuspendLayout();
|
||||||
this.fLPTiltControls.SuspendLayout();
|
this.fLPTiltControls.SuspendLayout();
|
||||||
|
this.gyroMouseJoyFLP.SuspendLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.gyroMouseStickDZ)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.gyroMouseStickMaxZ)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.gyroMouseStickAntiDeadX)).BeginInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.gyroMouseStickAntiDeadY)).BeginInit();
|
||||||
this.tCControls.SuspendLayout();
|
this.tCControls.SuspendLayout();
|
||||||
this.tPControls.SuspendLayout();
|
this.tPControls.SuspendLayout();
|
||||||
this.pnlController.SuspendLayout();
|
this.pnlController.SuspendLayout();
|
||||||
@ -2008,6 +2031,180 @@
|
|||||||
this.btnSteeringWheelEmulationCalibrate.UseVisualStyleBackColor = true;
|
this.btnSteeringWheelEmulationCalibrate.UseVisualStyleBackColor = true;
|
||||||
this.btnSteeringWheelEmulationCalibrate.Click += new System.EventHandler(this.btnSteeringWheelEmulationCalibrate_Click);
|
this.btnSteeringWheelEmulationCalibrate.Click += new System.EventHandler(this.btnSteeringWheelEmulationCalibrate_Click);
|
||||||
//
|
//
|
||||||
|
// gyroMouseJoyFLP
|
||||||
|
//
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.label36);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.btnGyroMStickTrig);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.gyroMStickTrigBehaveCk);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.label29);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.gyroMouseStickDZ);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.label30);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.gyroMouseStickMaxZ);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.label31);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.gyroMouseStickAntiDeadX);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.label32);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.gyroMouseStickAntiDeadY);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.label35);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.gyroMouseStickEvalCombo);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.label33);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.gyroMousestickXAxisCom);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.gyroMouseStickInvertXCk);
|
||||||
|
this.gyroMouseJoyFLP.Controls.Add(this.gyroMouseStickInvertYCk);
|
||||||
|
resources.ApplyResources(this.gyroMouseJoyFLP, "gyroMouseJoyFLP");
|
||||||
|
this.gyroMouseJoyFLP.Name = "gyroMouseJoyFLP";
|
||||||
|
//
|
||||||
|
// label36
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label36, "label36");
|
||||||
|
this.label36.Name = "label36";
|
||||||
|
//
|
||||||
|
// btnGyroMStickTrig
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.btnGyroMStickTrig, "btnGyroMStickTrig");
|
||||||
|
this.btnGyroMStickTrig.Name = "btnGyroMStickTrig";
|
||||||
|
this.btnGyroMStickTrig.UseVisualStyleBackColor = true;
|
||||||
|
this.btnGyroMStickTrig.Click += new System.EventHandler(this.BtnGyroMStickTrig_Click);
|
||||||
|
//
|
||||||
|
// gyroMStickTrigBehaveCk
|
||||||
|
//
|
||||||
|
this.gyroMStickTrigBehaveCk.Checked = true;
|
||||||
|
this.gyroMStickTrigBehaveCk.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
|
resources.ApplyResources(this.gyroMStickTrigBehaveCk, "gyroMStickTrigBehaveCk");
|
||||||
|
this.gyroMStickTrigBehaveCk.Name = "gyroMStickTrigBehaveCk";
|
||||||
|
this.gyroMStickTrigBehaveCk.UseVisualStyleBackColor = true;
|
||||||
|
this.gyroMStickTrigBehaveCk.CheckedChanged += new System.EventHandler(this.GyroMStickTrigBehaveCk_CheckedChanged);
|
||||||
|
//
|
||||||
|
// label29
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label29, "label29");
|
||||||
|
this.label29.Name = "label29";
|
||||||
|
//
|
||||||
|
// gyroMouseStickDZ
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.gyroMouseStickDZ, "gyroMouseStickDZ");
|
||||||
|
this.gyroMouseStickDZ.Maximum = new decimal(new int[] {
|
||||||
|
2000,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.gyroMouseStickDZ.Name = "gyroMouseStickDZ";
|
||||||
|
this.gyroMouseStickDZ.Value = new decimal(new int[] {
|
||||||
|
50,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.gyroMouseStickDZ.ValueChanged += new System.EventHandler(this.GyroMouseStickDZ_ValueChanged);
|
||||||
|
//
|
||||||
|
// label30
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label30, "label30");
|
||||||
|
this.label30.Name = "label30";
|
||||||
|
//
|
||||||
|
// gyroMouseStickMaxZ
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.gyroMouseStickMaxZ, "gyroMouseStickMaxZ");
|
||||||
|
this.gyroMouseStickMaxZ.Maximum = new decimal(new int[] {
|
||||||
|
10000,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.gyroMouseStickMaxZ.Name = "gyroMouseStickMaxZ";
|
||||||
|
this.gyroMouseStickMaxZ.Value = new decimal(new int[] {
|
||||||
|
880,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.gyroMouseStickMaxZ.ValueChanged += new System.EventHandler(this.GyroMouseStickMaxZ_ValueChanged);
|
||||||
|
//
|
||||||
|
// label31
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label31, "label31");
|
||||||
|
this.label31.Name = "label31";
|
||||||
|
//
|
||||||
|
// gyroMouseStickAntiDeadX
|
||||||
|
//
|
||||||
|
this.gyroMouseStickAntiDeadX.DecimalPlaces = 2;
|
||||||
|
resources.ApplyResources(this.gyroMouseStickAntiDeadX, "gyroMouseStickAntiDeadX");
|
||||||
|
this.gyroMouseStickAntiDeadX.Maximum = new decimal(new int[] {
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.gyroMouseStickAntiDeadX.Name = "gyroMouseStickAntiDeadX";
|
||||||
|
this.gyroMouseStickAntiDeadX.Value = new decimal(new int[] {
|
||||||
|
35,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
131072});
|
||||||
|
this.gyroMouseStickAntiDeadX.ValueChanged += new System.EventHandler(this.GyroMouseStickAntiDeadX_ValueChanged);
|
||||||
|
//
|
||||||
|
// label32
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label32, "label32");
|
||||||
|
this.label32.Name = "label32";
|
||||||
|
//
|
||||||
|
// gyroMouseStickAntiDeadY
|
||||||
|
//
|
||||||
|
this.gyroMouseStickAntiDeadY.DecimalPlaces = 2;
|
||||||
|
resources.ApplyResources(this.gyroMouseStickAntiDeadY, "gyroMouseStickAntiDeadY");
|
||||||
|
this.gyroMouseStickAntiDeadY.Maximum = new decimal(new int[] {
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0});
|
||||||
|
this.gyroMouseStickAntiDeadY.Name = "gyroMouseStickAntiDeadY";
|
||||||
|
this.gyroMouseStickAntiDeadY.Value = new decimal(new int[] {
|
||||||
|
35,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
131072});
|
||||||
|
this.gyroMouseStickAntiDeadY.ValueChanged += new System.EventHandler(this.GyroMouseSStickAntiDeadY_ValueChanged);
|
||||||
|
//
|
||||||
|
// label35
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label35, "label35");
|
||||||
|
this.label35.Name = "label35";
|
||||||
|
//
|
||||||
|
// gyroMouseStickEvalCombo
|
||||||
|
//
|
||||||
|
this.gyroMouseStickEvalCombo.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.gyroMouseStickEvalCombo.FormattingEnabled = true;
|
||||||
|
this.gyroMouseStickEvalCombo.Items.AddRange(new object[] {
|
||||||
|
resources.GetString("gyroMouseStickEvalCombo.Items"),
|
||||||
|
resources.GetString("gyroMouseStickEvalCombo.Items1")});
|
||||||
|
resources.ApplyResources(this.gyroMouseStickEvalCombo, "gyroMouseStickEvalCombo");
|
||||||
|
this.gyroMouseStickEvalCombo.Name = "gyroMouseStickEvalCombo";
|
||||||
|
this.gyroMouseStickEvalCombo.SelectedIndexChanged += new System.EventHandler(this.GyroMouseStickEvalCombo_SelectedIndexChanged);
|
||||||
|
//
|
||||||
|
// label33
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.label33, "label33");
|
||||||
|
this.label33.Name = "label33";
|
||||||
|
//
|
||||||
|
// gyroMousestickXAxisCom
|
||||||
|
//
|
||||||
|
this.gyroMousestickXAxisCom.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
|
this.gyroMousestickXAxisCom.FormattingEnabled = true;
|
||||||
|
this.gyroMousestickXAxisCom.Items.AddRange(new object[] {
|
||||||
|
resources.GetString("gyroMousestickXAxisCom.Items"),
|
||||||
|
resources.GetString("gyroMousestickXAxisCom.Items1")});
|
||||||
|
resources.ApplyResources(this.gyroMousestickXAxisCom, "gyroMousestickXAxisCom");
|
||||||
|
this.gyroMousestickXAxisCom.Name = "gyroMousestickXAxisCom";
|
||||||
|
//
|
||||||
|
// gyroMouseStickInvertXCk
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.gyroMouseStickInvertXCk, "gyroMouseStickInvertXCk");
|
||||||
|
this.gyroMouseStickInvertXCk.Name = "gyroMouseStickInvertXCk";
|
||||||
|
this.gyroMouseStickInvertXCk.UseVisualStyleBackColor = true;
|
||||||
|
this.gyroMouseStickInvertXCk.CheckedChanged += new System.EventHandler(this.GyroMouseStickInvert_CheckedChanged);
|
||||||
|
//
|
||||||
|
// gyroMouseStickInvertYCk
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.gyroMouseStickInvertYCk, "gyroMouseStickInvertYCk");
|
||||||
|
this.gyroMouseStickInvertYCk.Name = "gyroMouseStickInvertYCk";
|
||||||
|
this.gyroMouseStickInvertYCk.UseVisualStyleBackColor = true;
|
||||||
|
this.gyroMouseStickInvertYCk.CheckedChanged += new System.EventHandler(this.GyroMouseStickInvert_CheckedChanged);
|
||||||
|
//
|
||||||
// tCControls
|
// tCControls
|
||||||
//
|
//
|
||||||
this.tCControls.Controls.Add(this.tPControls);
|
this.tCControls.Controls.Add(this.tPControls);
|
||||||
@ -3553,29 +3750,31 @@
|
|||||||
// gBGyro
|
// gBGyro
|
||||||
//
|
//
|
||||||
this.gBGyro.BackColor = System.Drawing.SystemColors.Control;
|
this.gBGyro.BackColor = System.Drawing.SystemColors.Control;
|
||||||
this.gBGyro.Controls.Add(this.rBSAControls);
|
this.gBGyro.Controls.Add(this.gyroMouseJoyFLP);
|
||||||
this.gBGyro.Controls.Add(this.rBSAMouse);
|
this.gBGyro.Controls.Add(this.label34);
|
||||||
|
this.gBGyro.Controls.Add(this.gyroOutputMode);
|
||||||
this.gBGyro.Controls.Add(this.fLPTiltControls);
|
this.gBGyro.Controls.Add(this.fLPTiltControls);
|
||||||
this.gBGyro.Controls.Add(this.pnlSAMouse);
|
this.gBGyro.Controls.Add(this.pnlSAMouse);
|
||||||
resources.ApplyResources(this.gBGyro, "gBGyro");
|
resources.ApplyResources(this.gBGyro, "gBGyro");
|
||||||
this.gBGyro.Name = "gBGyro";
|
this.gBGyro.Name = "gBGyro";
|
||||||
this.gBGyro.TabStop = false;
|
this.gBGyro.TabStop = false;
|
||||||
//
|
//
|
||||||
// rBSAControls
|
// label34
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.rBSAControls, "rBSAControls");
|
resources.ApplyResources(this.label34, "label34");
|
||||||
this.rBSAControls.Name = "rBSAControls";
|
this.label34.Name = "label34";
|
||||||
this.rBSAControls.TabStop = true;
|
|
||||||
this.rBSAControls.UseVisualStyleBackColor = true;
|
|
||||||
this.rBSAControls.CheckedChanged += new System.EventHandler(this.useSAforMouse_CheckedChanged);
|
|
||||||
//
|
//
|
||||||
// rBSAMouse
|
// gyroOutputMode
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.rBSAMouse, "rBSAMouse");
|
this.gyroOutputMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||||
this.rBSAMouse.Name = "rBSAMouse";
|
this.gyroOutputMode.FormattingEnabled = true;
|
||||||
this.rBSAMouse.TabStop = true;
|
this.gyroOutputMode.Items.AddRange(new object[] {
|
||||||
this.rBSAMouse.UseVisualStyleBackColor = true;
|
resources.GetString("gyroOutputMode.Items"),
|
||||||
this.rBSAMouse.CheckedChanged += new System.EventHandler(this.useSAforMouse_CheckedChanged);
|
resources.GetString("gyroOutputMode.Items1"),
|
||||||
|
resources.GetString("gyroOutputMode.Items2")});
|
||||||
|
resources.ApplyResources(this.gyroOutputMode, "gyroOutputMode");
|
||||||
|
this.gyroOutputMode.Name = "gyroOutputMode";
|
||||||
|
this.gyroOutputMode.SelectedIndexChanged += new System.EventHandler(this.GyroOutputMode_SelectedIndexChanged);
|
||||||
//
|
//
|
||||||
// pnlSAMouse
|
// pnlSAMouse
|
||||||
//
|
//
|
||||||
@ -4412,6 +4611,12 @@
|
|||||||
this.pnlRSTrack.ResumeLayout(false);
|
this.pnlRSTrack.ResumeLayout(false);
|
||||||
this.fLPTiltControls.ResumeLayout(false);
|
this.fLPTiltControls.ResumeLayout(false);
|
||||||
this.fLPTiltControls.PerformLayout();
|
this.fLPTiltControls.PerformLayout();
|
||||||
|
this.gyroMouseJoyFLP.ResumeLayout(false);
|
||||||
|
this.gyroMouseJoyFLP.PerformLayout();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.gyroMouseStickDZ)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.gyroMouseStickMaxZ)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.gyroMouseStickAntiDeadX)).EndInit();
|
||||||
|
((System.ComponentModel.ISupportInitialize)(this.gyroMouseStickAntiDeadY)).EndInit();
|
||||||
this.tCControls.ResumeLayout(false);
|
this.tCControls.ResumeLayout(false);
|
||||||
this.tPControls.ResumeLayout(false);
|
this.tPControls.ResumeLayout(false);
|
||||||
this.pnlController.ResumeLayout(false);
|
this.pnlController.ResumeLayout(false);
|
||||||
@ -4641,8 +4846,6 @@
|
|||||||
private System.Windows.Forms.Label lbSwipeLeft;
|
private System.Windows.Forms.Label lbSwipeLeft;
|
||||||
private System.Windows.Forms.Label lbSwipeRight;
|
private System.Windows.Forms.Label lbSwipeRight;
|
||||||
private System.Windows.Forms.Panel pnlTPMouse;
|
private System.Windows.Forms.Panel pnlTPMouse;
|
||||||
private System.Windows.Forms.RadioButton rBSAControls;
|
|
||||||
private System.Windows.Forms.RadioButton rBSAMouse;
|
|
||||||
private System.Windows.Forms.Label lbGyroZN;
|
private System.Windows.Forms.Label lbGyroZN;
|
||||||
private System.Windows.Forms.Label lbGyroZP;
|
private System.Windows.Forms.Label lbGyroZP;
|
||||||
private System.Windows.Forms.Label lbGyroXP;
|
private System.Windows.Forms.Label lbGyroXP;
|
||||||
@ -4854,5 +5057,25 @@
|
|||||||
private System.Windows.Forms.NumericUpDown RoundnessNUpDown;
|
private System.Windows.Forms.NumericUpDown RoundnessNUpDown;
|
||||||
private System.Windows.Forms.LinkLabel lbCurveEditorURL;
|
private System.Windows.Forms.LinkLabel lbCurveEditorURL;
|
||||||
private System.Windows.Forms.TextBox tBCustomOutputCurve;
|
private System.Windows.Forms.TextBox tBCustomOutputCurve;
|
||||||
|
private System.Windows.Forms.FlowLayoutPanel gyroMouseJoyFLP;
|
||||||
|
private System.Windows.Forms.ComboBox gyroOutputMode;
|
||||||
|
private System.Windows.Forms.Label label29;
|
||||||
|
private System.Windows.Forms.NumericUpDown gyroMouseStickDZ;
|
||||||
|
private System.Windows.Forms.Label label30;
|
||||||
|
private System.Windows.Forms.NumericUpDown gyroMouseStickMaxZ;
|
||||||
|
private System.Windows.Forms.Label label31;
|
||||||
|
private System.Windows.Forms.NumericUpDown gyroMouseStickAntiDeadX;
|
||||||
|
private System.Windows.Forms.Label label32;
|
||||||
|
private System.Windows.Forms.NumericUpDown gyroMouseStickAntiDeadY;
|
||||||
|
private System.Windows.Forms.Label label33;
|
||||||
|
private System.Windows.Forms.ComboBox gyroMousestickXAxisCom;
|
||||||
|
private System.Windows.Forms.CheckBox gyroMouseStickInvertXCk;
|
||||||
|
private System.Windows.Forms.CheckBox gyroMouseStickInvertYCk;
|
||||||
|
private System.Windows.Forms.Label label34;
|
||||||
|
private System.Windows.Forms.Label label36;
|
||||||
|
private System.Windows.Forms.Button btnGyroMStickTrig;
|
||||||
|
private System.Windows.Forms.CheckBox gyroMStickTrigBehaveCk;
|
||||||
|
private System.Windows.Forms.Label label35;
|
||||||
|
private System.Windows.Forms.ComboBox gyroMouseStickEvalCombo;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -56,10 +56,10 @@ namespace DS4Windows.Forms
|
|||||||
root = rt;
|
root = rt;
|
||||||
btnRumbleHeavyTest.Text = Properties.Resources.TestHText;
|
btnRumbleHeavyTest.Text = Properties.Resources.TestHText;
|
||||||
btnRumbleLightTest.Text = Properties.Resources.TestLText;
|
btnRumbleLightTest.Text = Properties.Resources.TestLText;
|
||||||
rBTPControls.Text = rBSAControls.Text;
|
//rBTPControls.Text = rBSAControls.Text;
|
||||||
rBTPMouse.Text = rBSAMouse.Text;
|
//rBTPMouse.Text = rBSAMouse.Text;
|
||||||
rBTPControls.Location = rBSAControls.Location;
|
//rBTPControls.Location = rBSAControls.Location;
|
||||||
rBTPMouse.Location = rBSAMouse.Location;
|
//rBTPMouse.Location = rBSAMouse.Location;
|
||||||
Visible = false;
|
Visible = false;
|
||||||
colored = btnRainbow.Image;
|
colored = btnRainbow.Image;
|
||||||
greyscale = GreyscaleImage((Bitmap)btnRainbow.Image);
|
greyscale = GreyscaleImage((Bitmap)btnRainbow.Image);
|
||||||
@ -702,8 +702,29 @@ namespace DS4Windows.Forms
|
|||||||
cbStartTouchpadOff.Checked = StartTouchpadOff[device];
|
cbStartTouchpadOff.Checked = StartTouchpadOff[device];
|
||||||
rBTPControls.Checked = UseTPforControls[device];
|
rBTPControls.Checked = UseTPforControls[device];
|
||||||
rBTPMouse.Checked = !UseTPforControls[device];
|
rBTPMouse.Checked = !UseTPforControls[device];
|
||||||
rBSAMouse.Checked = UseSAforMouse[device];
|
GyroOutMode gyroOut = GyroOutputMode[device];
|
||||||
rBSAControls.Checked = !UseSAforMouse[device];
|
if (gyroOut == GyroOutMode.Mouse)
|
||||||
|
{
|
||||||
|
pnlSAMouse.Visible = true;
|
||||||
|
fLPTiltControls.Visible = false;
|
||||||
|
gyroMouseJoyFLP.Visible = false;
|
||||||
|
gyroOutputMode.SelectedIndex = 1;
|
||||||
|
}
|
||||||
|
else if (gyroOut == GyroOutMode.Controls)
|
||||||
|
{
|
||||||
|
pnlSAMouse.Visible = false;
|
||||||
|
fLPTiltControls.Visible = true;
|
||||||
|
gyroMouseJoyFLP.Visible = false;
|
||||||
|
gyroOutputMode.SelectedIndex = 0;
|
||||||
|
}
|
||||||
|
else if (gyroOut == GyroOutMode.MouseJoystick)
|
||||||
|
{
|
||||||
|
pnlSAMouse.Visible = false;
|
||||||
|
fLPTiltControls.Visible = false;
|
||||||
|
gyroMouseJoyFLP.Visible = true;
|
||||||
|
gyroOutputMode.SelectedIndex = 2;
|
||||||
|
}
|
||||||
|
|
||||||
nUDLSCurve.Value = LSCurve[device];
|
nUDLSCurve.Value = LSCurve[device];
|
||||||
nUDRSCurve.Value = RSCurve[device];
|
nUDRSCurve.Value = RSCurve[device];
|
||||||
cBControllerInput.Checked = DS4Mapping;
|
cBControllerInput.Checked = DS4Mapping;
|
||||||
@ -714,47 +735,23 @@ namespace DS4Windows.Forms
|
|||||||
Program.rootHub.touchPad[device]?.ResetTrackAccel(TrackballFriction[device]);
|
Program.rootHub.touchPad[device]?.ResetTrackAccel(TrackballFriction[device]);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0, arlen = cMGyroTriggers.Items.Count; i < arlen; i++)
|
ResetGyroTriggers();
|
||||||
{
|
|
||||||
((ToolStripMenuItem)cMGyroTriggers.Items[i]).Checked = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int i = 0, arlen = cMTouchDisableInvert.Items.Count; i < arlen; i++)
|
for (int i = 0, arlen = cMTouchDisableInvert.Items.Count; i < arlen; i++)
|
||||||
{
|
{
|
||||||
((ToolStripMenuItem)cMTouchDisableInvert.Items[i]).Checked = false;
|
((ToolStripMenuItem)cMTouchDisableInvert.Items[i]).Checked = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
string[] satriggers = SATriggers[device].Split(',');
|
string[] satriggers;
|
||||||
|
satriggers = SATriggers[device].Split(',');
|
||||||
|
btnGyroTriggers.Text = GetGyroTriggerActionString(ref satriggers);
|
||||||
|
if (gyroOut == GyroOutMode.Mouse) MarkCurrentGyroTriggers(ref satriggers);
|
||||||
|
|
||||||
|
satriggers = SAMousestickTriggers[device].Split(',');
|
||||||
|
btnGyroMStickTrig.Text = GetGyroTriggerActionString(ref satriggers);
|
||||||
|
if (gyroOut == GyroOutMode.MouseJoystick) MarkCurrentGyroTriggers(ref satriggers);
|
||||||
|
|
||||||
List<string> s = new List<string>();
|
List<string> s = new List<string>();
|
||||||
int gyroTriggerCount = cMGyroTriggers.Items.Count;
|
|
||||||
for (int i = 0, satrigLen = satriggers.Length; i < satrigLen; i++)
|
|
||||||
{
|
|
||||||
int tr = 0;
|
|
||||||
if (int.TryParse(satriggers[i], out tr))
|
|
||||||
{
|
|
||||||
if (tr < gyroTriggerCount && tr > -1)
|
|
||||||
{
|
|
||||||
((ToolStripMenuItem)cMGyroTriggers.Items[tr]).Checked = true;
|
|
||||||
s.Add(cMGyroTriggers.Items[tr].Text);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
((ToolStripMenuItem)cMGyroTriggers.Items[gyroTriggerCount - 1]).Checked = true;
|
|
||||||
s.Add(cMGyroTriggers.Items[gyroTriggerCount - 1].Text);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
((ToolStripMenuItem)cMGyroTriggers.Items[gyroTriggerCount - 1]).Checked = true;
|
|
||||||
s.Add(cMGyroTriggers.Items[gyroTriggerCount - 1].Text);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
btnGyroTriggers.Text = string.Join(", ", s);
|
|
||||||
s.Clear();
|
|
||||||
|
|
||||||
int[] touchDisInvTriggers = TouchDisInvertTriggers[device];
|
int[] touchDisInvTriggers = TouchDisInvertTriggers[device];
|
||||||
int touchDisableInvCount = cMTouchDisableInvert.Items.Count;
|
int touchDisableInvCount = cMTouchDisableInvert.Items.Count;
|
||||||
for (int i = 0, trigLen = touchDisInvTriggers.Length; i < trigLen; i++)
|
for (int i = 0, trigLen = touchDisInvTriggers.Length; i < trigLen; i++)
|
||||||
@ -806,6 +803,32 @@ namespace DS4Windows.Forms
|
|||||||
defaults = xboxDefaults;
|
defaults = xboxDefaults;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch (GyroOutputMode[device])
|
||||||
|
{
|
||||||
|
case GyroOutMode.Controls:
|
||||||
|
gyroOutputMode.SelectedIndex = 0;
|
||||||
|
break;
|
||||||
|
case GyroOutMode.Mouse:
|
||||||
|
gyroOutputMode.SelectedIndex = 1;
|
||||||
|
break;
|
||||||
|
case GyroOutMode.MouseJoystick:
|
||||||
|
gyroOutputMode.SelectedIndex = 2;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
gyroMStickTrigBehaveCk.Checked = GyroMouseStickTriggerTurns[device];
|
||||||
|
gyroMouseStickEvalCombo.SelectedIndex = SAMouseStickTriggerCond[device] ? 0 : 1;
|
||||||
|
GyroMouseStickInfo gyroMouseStickInfo = GyroMouseStickInf[device];
|
||||||
|
gyroMouseStickDZ.Value = gyroMouseStickInfo.deadZone;
|
||||||
|
gyroMouseStickMaxZ.Value = gyroMouseStickInfo.maxZone;
|
||||||
|
gyroMouseStickAntiDeadX.Value = (decimal)gyroMouseStickInfo.antiDeadX;
|
||||||
|
gyroMouseStickAntiDeadY.Value = (decimal)gyroMouseStickInfo.antiDeadY;
|
||||||
|
gyroMousestickXAxisCom.SelectedIndex = GyroMouseStickHorizontalAxis[device];
|
||||||
|
gyroMouseStickInvertXCk.Checked = (gyroMouseStickInfo.inverted & 1) == 1;
|
||||||
|
gyroMouseStickInvertYCk.Checked = (gyroMouseStickInfo.inverted & 2) == 2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -824,11 +847,11 @@ namespace DS4Windows.Forms
|
|||||||
tBCustomOutputCurve.Enabled = lbCurveEditorURL.Enabled = false;
|
tBCustomOutputCurve.Enabled = lbCurveEditorURL.Enabled = false;
|
||||||
|
|
||||||
rBTPMouse.Checked = true;
|
rBTPMouse.Checked = true;
|
||||||
rBSAControls.Checked = true;
|
//rBSAControls.Checked = true;
|
||||||
ToggleRainbow(false);
|
ToggleRainbow(false);
|
||||||
cBDinput.Checked = false;
|
cBDinput.Checked = false;
|
||||||
cbStartTouchpadOff.Checked = false;
|
cbStartTouchpadOff.Checked = false;
|
||||||
rBSAControls.Checked = true;
|
//rBSAControls.Checked = true;
|
||||||
rBTPMouse.Checked = true;
|
rBTPMouse.Checked = true;
|
||||||
|
|
||||||
switch (device)
|
switch (device)
|
||||||
@ -912,10 +935,7 @@ namespace DS4Windows.Forms
|
|||||||
Program.rootHub.touchPad[device]?.ResetTrackAccel(10.0);
|
Program.rootHub.touchPad[device]?.ResetTrackAccel(10.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0, arlen = cMGyroTriggers.Items.Count - 1; i < arlen; i++)
|
ResetGyroTriggers();
|
||||||
{
|
|
||||||
((ToolStripMenuItem)cMGyroTriggers.Items[i]).Checked = false;
|
|
||||||
}
|
|
||||||
((ToolStripMenuItem)cMGyroTriggers.Items[cMGyroTriggers.Items.Count - 1]).Checked = true;
|
((ToolStripMenuItem)cMGyroTriggers.Items[cMGyroTriggers.Items.Count - 1]).Checked = true;
|
||||||
|
|
||||||
for (int i = 0, arlen = cMTouchDisableInvert.Items.Count; i < arlen; i++)
|
for (int i = 0, arlen = cMTouchDisableInvert.Items.Count; i < arlen; i++)
|
||||||
@ -937,6 +957,18 @@ namespace DS4Windows.Forms
|
|||||||
cBSteeringWheelEmulationAxis.SelectedIndex = 0;
|
cBSteeringWheelEmulationAxis.SelectedIndex = 0;
|
||||||
cBSteeringWheelEmulationRange.SelectedIndex = cBSteeringWheelEmulationRange.Items.IndexOf("360");
|
cBSteeringWheelEmulationRange.SelectedIndex = cBSteeringWheelEmulationRange.Items.IndexOf("360");
|
||||||
OutContTypeCb.SelectedIndex = 0;
|
OutContTypeCb.SelectedIndex = 0;
|
||||||
|
|
||||||
|
gyroOutputMode.SelectedIndex = 0;
|
||||||
|
gyroMStickTrigBehaveCk.Checked = false;
|
||||||
|
gyroMouseStickEvalCombo.SelectedIndex = 0;
|
||||||
|
gyroMouseStickDZ.Value = 50;
|
||||||
|
gyroMouseStickMaxZ.Value = 880;
|
||||||
|
gyroMouseStickAntiDeadX.Value = 0.35m;
|
||||||
|
gyroMouseStickAntiDeadY.Value = 0.35m;
|
||||||
|
gyroMousestickXAxisCom.SelectedIndex = 0;
|
||||||
|
gyroMouseStickInvertXCk.Checked = false;
|
||||||
|
gyroMouseStickInvertYCk.Checked = false;
|
||||||
|
|
||||||
Set();
|
Set();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1017,6 +1049,80 @@ namespace DS4Windows.Forms
|
|||||||
btnSATrackS.Visible = on;
|
btnSATrackS.Visible = on;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ResetGyroTriggers()
|
||||||
|
{
|
||||||
|
loading = true;
|
||||||
|
for (int i = 0, arlen = cMGyroTriggers.Items.Count; i < arlen; i++)
|
||||||
|
{
|
||||||
|
((ToolStripMenuItem)cMGyroTriggers.Items[i]).Checked = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
loading = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetGyroTriggerActionString(ref string[] satriggers)
|
||||||
|
{
|
||||||
|
List<string> s = new List<string>();
|
||||||
|
int gyroTriggerCount = cMGyroTriggers.Items.Count;
|
||||||
|
for (int i = 0, satrigLen = satriggers.Length; i < satrigLen; i++)
|
||||||
|
{
|
||||||
|
int tr = 0;
|
||||||
|
if (int.TryParse(satriggers[i], out tr))
|
||||||
|
{
|
||||||
|
if (tr < gyroTriggerCount && tr > -1)
|
||||||
|
{
|
||||||
|
((ToolStripMenuItem)cMGyroTriggers.Items[tr]).Checked = true;
|
||||||
|
s.Add(cMGyroTriggers.Items[tr].Text);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
((ToolStripMenuItem)cMGyroTriggers.Items[gyroTriggerCount - 1]).Checked = true;
|
||||||
|
s.Add(cMGyroTriggers.Items[gyroTriggerCount - 1].Text);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
((ToolStripMenuItem)cMGyroTriggers.Items[gyroTriggerCount - 1]).Checked = true;
|
||||||
|
s.Add(cMGyroTriggers.Items[gyroTriggerCount - 1].Text);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
string result = string.Join(", ", s);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void MarkCurrentGyroTriggers(ref string[] satriggers)
|
||||||
|
{
|
||||||
|
loading = true;
|
||||||
|
int gyroTriggerCount = cMGyroTriggers.Items.Count;
|
||||||
|
((ToolStripMenuItem)cMGyroTriggers.Items[gyroTriggerCount - 1]).Checked = false;
|
||||||
|
for (int i = 0, satrigLen = satriggers.Length; i < satrigLen; i++)
|
||||||
|
{
|
||||||
|
int tr = 0;
|
||||||
|
if (int.TryParse(satriggers[i], out tr))
|
||||||
|
{
|
||||||
|
if (tr < gyroTriggerCount && tr > -1)
|
||||||
|
{
|
||||||
|
((ToolStripMenuItem)cMGyroTriggers.Items[tr]).Checked = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
((ToolStripMenuItem)cMGyroTriggers.Items[gyroTriggerCount - 1]).Checked = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
((ToolStripMenuItem)cMGyroTriggers.Items[gyroTriggerCount - 1]).Checked = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
loading = false;
|
||||||
|
}
|
||||||
|
|
||||||
private void ControllerReadout_Tick(object sender, EventArgs e)
|
private void ControllerReadout_Tick(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
// MEMS gyro data is all calibrated to roughly -1G..1G for values -0x2000..0x1fff
|
// MEMS gyro data is all calibrated to roughly -1G..1G for values -0x2000..0x1fff
|
||||||
@ -1348,7 +1454,7 @@ namespace DS4Windows.Forms
|
|||||||
DinputOnly[device] = cBDinput.Checked;
|
DinputOnly[device] = cBDinput.Checked;
|
||||||
StartTouchpadOff[device] = cbStartTouchpadOff.Checked;
|
StartTouchpadOff[device] = cbStartTouchpadOff.Checked;
|
||||||
UseTPforControls[device] = rBTPControls.Checked;
|
UseTPforControls[device] = rBTPControls.Checked;
|
||||||
UseSAforMouse[device] = rBSAMouse.Checked;
|
//UseSAforMouse[device] = rBSAMouse.Checked;
|
||||||
DS4Mapping = cBControllerInput.Checked;
|
DS4Mapping = cBControllerInput.Checked;
|
||||||
LSCurve[device] = (int)Math.Round(nUDLSCurve.Value, 0);
|
LSCurve[device] = (int)Math.Round(nUDLSCurve.Value, 0);
|
||||||
RSCurve[device] = (int)Math.Round(nUDRSCurve.Value, 0);
|
RSCurve[device] = (int)Math.Round(nUDRSCurve.Value, 0);
|
||||||
@ -1364,8 +1470,9 @@ namespace DS4Windows.Forms
|
|||||||
calculateProfileActionDicts(device);
|
calculateProfileActionDicts(device);
|
||||||
cacheProfileCustomsFlags(device);
|
cacheProfileCustomsFlags(device);
|
||||||
pnlTPMouse.Visible = rBTPMouse.Checked;
|
pnlTPMouse.Visible = rBTPMouse.Checked;
|
||||||
pnlSAMouse.Visible = rBSAMouse.Checked;
|
pnlSAMouse.Visible = false;
|
||||||
fLPTiltControls.Visible = rBSAControls.Checked;
|
fLPTiltControls.Visible = false;
|
||||||
|
gyroMouseJoyFLP.Visible = false;
|
||||||
fLPTouchSwipe.Visible = rBTPControls.Checked;
|
fLPTouchSwipe.Visible = rBTPControls.Checked;
|
||||||
TrackballMode[device] = trackballCk.Checked;
|
TrackballMode[device] = trackballCk.Checked;
|
||||||
TrackballFriction[device] = (double)trackFrictionNUD.Value;
|
TrackballFriction[device] = (double)trackFrictionNUD.Value;
|
||||||
@ -1393,7 +1500,7 @@ namespace DS4Windows.Forms
|
|||||||
GyroInvert[device] = invert;
|
GyroInvert[device] = invert;
|
||||||
|
|
||||||
List<int> ints = new List<int>();
|
List<int> ints = new List<int>();
|
||||||
for (int i = 0, trigLen = cMGyroTriggers.Items.Count - 1; i < trigLen; i++)
|
/*for (int i = 0, trigLen = cMGyroTriggers.Items.Count - 1; i < trigLen; i++)
|
||||||
{
|
{
|
||||||
if (((ToolStripMenuItem)cMGyroTriggers.Items[i]).Checked)
|
if (((ToolStripMenuItem)cMGyroTriggers.Items[i]).Checked)
|
||||||
ints.Add(i);
|
ints.Add(i);
|
||||||
@ -1404,6 +1511,7 @@ namespace DS4Windows.Forms
|
|||||||
|
|
||||||
SATriggers[device] = string.Join(",", ints);
|
SATriggers[device] = string.Join(",", ints);
|
||||||
SetSaTriggerCond(device, triggerCondAndCombo.SelectedItem.ToString().ToLower());
|
SetSaTriggerCond(device, triggerCondAndCombo.SelectedItem.ToString().ToLower());
|
||||||
|
*/
|
||||||
|
|
||||||
ints.Clear();
|
ints.Clear();
|
||||||
for (int i = 0, trigLen = cMTouchDisableInvert.Items.Count; i < trigLen; i++)
|
for (int i = 0, trigLen = cMTouchDisableInvert.Items.Count; i < trigLen; i++)
|
||||||
@ -1433,6 +1541,43 @@ namespace DS4Windows.Forms
|
|||||||
{
|
{
|
||||||
Global.OutContType[device] = tempType;
|
Global.OutContType[device] = tempType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch (gyroOutputMode.SelectedIndex)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
GyroOutputMode[device] = GyroOutMode.Controls;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
GyroOutputMode[device] = GyroOutMode.Mouse;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
GyroOutputMode[device] = GyroOutMode.MouseJoystick;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
GyroMouseStickTriggerTurns[device] = gyroMStickTrigBehaveCk.Checked;
|
||||||
|
SetSaMouseStickTriggerCond(device,
|
||||||
|
gyroMouseStickEvalCombo.SelectedItem.ToString().ToLower());
|
||||||
|
|
||||||
|
if (GyroMouseStickDead())
|
||||||
|
{
|
||||||
|
GyroMouseStickInf[device].deadZone = (int)gyroMouseStickDZ.Value;
|
||||||
|
GyroMouseStickInf[device].maxZone = (int)gyroMouseStickMaxZ.Value;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GyroMouseStickInf[device].deadZone = (int)gyroMouseStickMaxZ.Value;
|
||||||
|
GyroMouseStickInf[device].maxZone = (int)gyroMouseStickMaxZ.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
GyroMouseStickInf[device].antiDeadX = (double)gyroMouseStickAntiDeadX.Value;
|
||||||
|
GyroMouseStickInf[device].antiDeadY = (double)gyroMouseStickAntiDeadY.Value;
|
||||||
|
GyroMouseStickHorizontalAxis[device] = gyroMousestickXAxisCom.SelectedIndex;
|
||||||
|
uint tempInvert = 0;
|
||||||
|
if (gyroMouseStickInvertXCk.Checked) tempInvert |= 1 << 0;
|
||||||
|
if (gyroMouseStickInvertYCk.Checked) tempInvert |= 1 << 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Show_ControlsBtn(object sender, EventArgs e)
|
private void Show_ControlsBtn(object sender, EventArgs e)
|
||||||
@ -2678,12 +2823,13 @@ namespace DS4Windows.Forms
|
|||||||
DS4LightBar.forcelight[device] = false;
|
DS4LightBar.forcelight[device] = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void useSAforMouse_CheckedChanged(object sender, EventArgs e)
|
/*private void useSAforMouse_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
UseSAforMouse[device] = rBSAMouse.Checked;
|
UseSAforMouse[device] = rBSAMouse.Checked;
|
||||||
pnlSAMouse.Visible = rBSAMouse.Checked;
|
pnlSAMouse.Visible = rBSAMouse.Checked;
|
||||||
fLPTiltControls.Visible = rBSAControls.Checked;
|
fLPTiltControls.Visible = rBSAControls.Checked;
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
private void btnGyroTriggers_Click(object sender, EventArgs e)
|
private void btnGyroTriggers_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
@ -2722,9 +2868,19 @@ namespace DS4Windows.Forms
|
|||||||
s.Add(cMGyroTriggers.Items[gyroTriggerCount - 1].Text);
|
s.Add(cMGyroTriggers.Items[gyroTriggerCount - 1].Text);
|
||||||
}
|
}
|
||||||
|
|
||||||
SATriggers[device] = string.Join(",", ints);
|
int gyroOutIdx = gyroOutputMode.SelectedIndex;
|
||||||
if (s.Count > 0)
|
if (gyroOutIdx == 1)
|
||||||
btnGyroTriggers.Text = string.Join(", ", s);
|
{
|
||||||
|
SATriggers[device] = string.Join(",", ints);
|
||||||
|
if (s.Count > 0)
|
||||||
|
btnGyroTriggers.Text = string.Join(", ", s);
|
||||||
|
}
|
||||||
|
else if (gyroOutIdx == 2)
|
||||||
|
{
|
||||||
|
SAMousestickTriggers[device] = string.Join(",", ints);
|
||||||
|
if (s.Count > 0)
|
||||||
|
btnGyroMStickTrig.Text = string.Join(", ", s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3400,6 +3556,128 @@ namespace DS4Windows.Forms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void GyroOutputMode_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (loading == false)
|
||||||
|
{
|
||||||
|
int choice = gyroOutputMode.SelectedIndex;
|
||||||
|
if (choice == 0)
|
||||||
|
{
|
||||||
|
fLPTiltControls.Visible = true;
|
||||||
|
pnlSAMouse.Visible = false;
|
||||||
|
gyroMouseJoyFLP.Visible = false;
|
||||||
|
}
|
||||||
|
else if (choice == 1)
|
||||||
|
{
|
||||||
|
fLPTiltControls.Visible = false;
|
||||||
|
pnlSAMouse.Visible = true;
|
||||||
|
gyroMouseJoyFLP.Visible = false;
|
||||||
|
ResetGyroTriggers();
|
||||||
|
string[] satriggers = SATriggers[device].Split(',');
|
||||||
|
MarkCurrentGyroTriggers(ref satriggers);
|
||||||
|
}
|
||||||
|
else if (choice == 2)
|
||||||
|
{
|
||||||
|
fLPTiltControls.Visible = false;
|
||||||
|
pnlSAMouse.Visible = false;
|
||||||
|
gyroMouseJoyFLP.Visible = true;
|
||||||
|
ResetGyroTriggers();
|
||||||
|
string[] satriggers = SAMousestickTriggers[device].Split(',');
|
||||||
|
MarkCurrentGyroTriggers(ref satriggers);
|
||||||
|
}
|
||||||
|
|
||||||
|
switch(choice)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
GyroOutputMode[device] = GyroOutMode.Controls;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
GyroOutputMode[device] = GyroOutMode.Mouse;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
GyroOutputMode[device] = GyroOutMode.MouseJoystick;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (device < 4)
|
||||||
|
Program.rootHub.touchPad[device]?.ResetToggleGyroM();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BtnGyroMStickTrig_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
Control button = (Control)sender;
|
||||||
|
cMGyroTriggers.Show(button, new Point(0, button.Height));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GyroMStickTrigBehaveCk_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (!loading)
|
||||||
|
{
|
||||||
|
GyroMouseStickTriggerTurns[device] = gyroMStickTrigBehaveCk.Checked;
|
||||||
|
if (device < 4)
|
||||||
|
Program.rootHub.touchPad[device]?.ResetToggleGyroM();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GyroMouseStickEvalCombo_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (loading == false)
|
||||||
|
{
|
||||||
|
string temp = gyroMouseStickEvalCombo.SelectedItem.ToString();
|
||||||
|
SetSaMouseStickTriggerCond(device, temp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GyroMouseStickDZ_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (loading == false && GyroMouseStickDead())
|
||||||
|
{
|
||||||
|
GyroMouseStickInf[device].deadZone = (int)gyroMouseStickDZ.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GyroMouseStickMaxZ_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (loading == false && GyroMouseStickDead())
|
||||||
|
{
|
||||||
|
GyroMouseStickInf[device].maxZone = (int)gyroMouseStickMaxZ.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool GyroMouseStickDead()
|
||||||
|
{
|
||||||
|
return gyroMouseStickDZ.Value <= gyroMouseStickMaxZ.Value;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GyroMouseStickAntiDeadX_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (loading == false)
|
||||||
|
{
|
||||||
|
GyroMouseStickInf[device].antiDeadX = (double)gyroMouseStickAntiDeadX.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GyroMouseSStickAntiDeadY_ValueChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (loading == false)
|
||||||
|
{
|
||||||
|
GyroMouseStickInf[device].antiDeadY = (double)gyroMouseStickAntiDeadY.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void GyroMouseStickInvert_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (loading == false)
|
||||||
|
{
|
||||||
|
uint value = 0;
|
||||||
|
if (gyroMouseStickInvertXCk.Checked) value |= 1 << 0;
|
||||||
|
if (gyroMouseStickInvertYCk.Checked) value |= 1 << 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void trackFrictionNUD_ValueChanged(object sender, EventArgs e)
|
private void trackFrictionNUD_ValueChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (loading == false)
|
if (loading == false)
|
||||||
|
@ -4327,10 +4327,10 @@
|
|||||||
<value>12</value>
|
<value>12</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="fLPTiltControls.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="fLPTiltControls.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>4, 43</value>
|
<value>6, 47</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="fLPTiltControls.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="fLPTiltControls.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>271, 203</value>
|
<value>271, 195</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="fLPTiltControls.TabIndex" type="System.Int32, mscorlib">
|
<data name="fLPTiltControls.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>254</value>
|
<value>254</value>
|
||||||
@ -4345,8 +4345,485 @@
|
|||||||
<value>gBGyro</value>
|
<value>gBGyro</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>fLPTiltControls.ZOrder" xml:space="preserve">
|
<data name=">>fLPTiltControls.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="label36.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label36.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="label36.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label36.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>48, 13</value>
|
||||||
|
</data>
|
||||||
|
<data name="label36.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>275</value>
|
||||||
|
</data>
|
||||||
|
<data name="label36.Text" xml:space="preserve">
|
||||||
|
<value>Triggers:</value>
|
||||||
|
</data>
|
||||||
|
<data name="label36.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>TopRight</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label36.Name" xml:space="preserve">
|
||||||
|
<value>label36</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label36.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label36.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label36.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnGyroMStickTrig.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnGyroMStickTrig.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>56, 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnGyroMStickTrig.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
|
<value>2, 2, 2, 2</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnGyroMStickTrig.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>160, 25</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnGyroMStickTrig.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>274</value>
|
||||||
|
</data>
|
||||||
|
<data name="btnGyroMStickTrig.Text" xml:space="preserve">
|
||||||
|
<value>None</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnGyroMStickTrig.Name" xml:space="preserve">
|
||||||
|
<value>btnGyroMStickTrig</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnGyroMStickTrig.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnGyroMStickTrig.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>btnGyroMStickTrig.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMStickTrigBehaveCk.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMStickTrigBehaveCk.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 32</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMStickTrigBehaveCk.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms">
|
||||||
|
<value>No</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMStickTrigBehaveCk.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>188, 17</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMStickTrigBehaveCk.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>276</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMStickTrigBehaveCk.Text" xml:space="preserve">
|
||||||
|
<value>Trigger Behavior - Turns Gyro</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMStickTrigBehaveCk.Name" xml:space="preserve">
|
||||||
|
<value>gyroMStickTrigBehaveCk</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMStickTrigBehaveCk.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMStickTrigBehaveCk.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMStickTrigBehaveCk.ZOrder" xml:space="preserve">
|
||||||
<value>2</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="label29.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label29.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 52</value>
|
||||||
|
</data>
|
||||||
|
<data name="label29.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>64, 13</value>
|
||||||
|
</data>
|
||||||
|
<data name="label29.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<data name="label29.Text" xml:space="preserve">
|
||||||
|
<value>Dead Zone:</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label29.Name" xml:space="preserve">
|
||||||
|
<value>label29</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label29.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label29.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label29.ZOrder" xml:space="preserve">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickDZ.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>73, 55</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickDZ.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>41, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickDZ.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickDZ.Name" xml:space="preserve">
|
||||||
|
<value>gyroMouseStickDZ</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickDZ.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickDZ.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickDZ.ZOrder" xml:space="preserve">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="label30.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label30.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>120, 52</value>
|
||||||
|
</data>
|
||||||
|
<data name="label30.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>58, 13</value>
|
||||||
|
</data>
|
||||||
|
<data name="label30.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
|
<data name="label30.Text" xml:space="preserve">
|
||||||
|
<value>Max Zone:</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label30.Name" xml:space="preserve">
|
||||||
|
<value>label30</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label30.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label30.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label30.ZOrder" xml:space="preserve">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickMaxZ.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>184, 55</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickMaxZ.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>48, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickMaxZ.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>3</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickMaxZ.Name" xml:space="preserve">
|
||||||
|
<value>gyroMouseStickMaxZ</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickMaxZ.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickMaxZ.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickMaxZ.ZOrder" xml:space="preserve">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="label31.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label31.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 78</value>
|
||||||
|
</data>
|
||||||
|
<data name="label31.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>61, 13</value>
|
||||||
|
</data>
|
||||||
|
<data name="label31.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>4</value>
|
||||||
|
</data>
|
||||||
|
<data name="label31.Text" xml:space="preserve">
|
||||||
|
<value>Minimum X:</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label31.Name" xml:space="preserve">
|
||||||
|
<value>label31</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label31.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label31.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label31.ZOrder" xml:space="preserve">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickAntiDeadX.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>70, 81</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickAntiDeadX.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>50, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickAntiDeadX.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>5</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickAntiDeadX.Name" xml:space="preserve">
|
||||||
|
<value>gyroMouseStickAntiDeadX</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickAntiDeadX.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickAntiDeadX.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickAntiDeadX.ZOrder" xml:space="preserve">
|
||||||
|
<value>8</value>
|
||||||
|
</data>
|
||||||
|
<data name="label32.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label32.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>126, 78</value>
|
||||||
|
</data>
|
||||||
|
<data name="label32.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>61, 13</value>
|
||||||
|
</data>
|
||||||
|
<data name="label32.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>6</value>
|
||||||
|
</data>
|
||||||
|
<data name="label32.Text" xml:space="preserve">
|
||||||
|
<value>Minimum Y:</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label32.Name" xml:space="preserve">
|
||||||
|
<value>label32</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label32.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label32.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label32.ZOrder" xml:space="preserve">
|
||||||
|
<value>9</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickAntiDeadY.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>193, 81</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickAntiDeadY.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>49, 20</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickAntiDeadY.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>7</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickAntiDeadY.Name" xml:space="preserve">
|
||||||
|
<value>gyroMouseStickAntiDeadY</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickAntiDeadY.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickAntiDeadY.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickAntiDeadY.ZOrder" xml:space="preserve">
|
||||||
|
<value>10</value>
|
||||||
|
</data>
|
||||||
|
<data name="label35.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label35.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||||
|
<value>NoControl</value>
|
||||||
|
</data>
|
||||||
|
<data name="label35.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 104</value>
|
||||||
|
</data>
|
||||||
|
<data name="label35.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>59, 13</value>
|
||||||
|
</data>
|
||||||
|
<data name="label35.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>278</value>
|
||||||
|
</data>
|
||||||
|
<data name="label35.Text" xml:space="preserve">
|
||||||
|
<value>Eval Cond:</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label35.Name" xml:space="preserve">
|
||||||
|
<value>label35</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label35.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label35.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label35.ZOrder" xml:space="preserve">
|
||||||
|
<value>11</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickEvalCombo.Items" xml:space="preserve">
|
||||||
|
<value>And</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickEvalCombo.Items1" xml:space="preserve">
|
||||||
|
<value>Or</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickEvalCombo.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>68, 107</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickEvalCombo.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>72, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickEvalCombo.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>277</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickEvalCombo.Name" xml:space="preserve">
|
||||||
|
<value>gyroMouseStickEvalCombo</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickEvalCombo.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickEvalCombo.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickEvalCombo.ZOrder" xml:space="preserve">
|
||||||
|
<value>12</value>
|
||||||
|
</data>
|
||||||
|
<data name="label33.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="label33.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>146, 104</value>
|
||||||
|
</data>
|
||||||
|
<data name="label33.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>39, 13</value>
|
||||||
|
</data>
|
||||||
|
<data name="label33.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>8</value>
|
||||||
|
</data>
|
||||||
|
<data name="label33.Text" xml:space="preserve">
|
||||||
|
<value>X Axis:</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label33.Name" xml:space="preserve">
|
||||||
|
<value>label33</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label33.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label33.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>label33.ZOrder" xml:space="preserve">
|
||||||
|
<value>13</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMousestickXAxisCom.Items" xml:space="preserve">
|
||||||
|
<value>Yaw</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMousestickXAxisCom.Items1" xml:space="preserve">
|
||||||
|
<value>Roll</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMousestickXAxisCom.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>191, 107</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMousestickXAxisCom.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>56, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMousestickXAxisCom.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>9</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMousestickXAxisCom.Name" xml:space="preserve">
|
||||||
|
<value>gyroMousestickXAxisCom</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMousestickXAxisCom.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMousestickXAxisCom.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMousestickXAxisCom.ZOrder" xml:space="preserve">
|
||||||
|
<value>14</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertXCk.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertXCk.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>3, 134</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertXCk.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms">
|
||||||
|
<value>Yes</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertXCk.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>63, 17</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertXCk.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>11</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertXCk.Text" xml:space="preserve">
|
||||||
|
<value>Invert X</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickInvertXCk.Name" xml:space="preserve">
|
||||||
|
<value>gyroMouseStickInvertXCk</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickInvertXCk.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickInvertXCk.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickInvertXCk.ZOrder" xml:space="preserve">
|
||||||
|
<value>15</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertYCk.AutoSize" type="System.Boolean, mscorlib">
|
||||||
|
<value>True</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertYCk.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>72, 134</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertYCk.RightToLeft" type="System.Windows.Forms.RightToLeft, System.Windows.Forms">
|
||||||
|
<value>Yes</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertYCk.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>63, 17</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertYCk.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>12</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseStickInvertYCk.Text" xml:space="preserve">
|
||||||
|
<value>Invert Y</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickInvertYCk.Name" xml:space="preserve">
|
||||||
|
<value>gyroMouseStickInvertYCk</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickInvertYCk.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickInvertYCk.Parent" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseStickInvertYCk.ZOrder" xml:space="preserve">
|
||||||
|
<value>16</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseJoyFLP.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>8, 47</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseJoyFLP.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>252, 181</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroMouseJoyFLP.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>260</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseJoyFLP.Name" xml:space="preserve">
|
||||||
|
<value>gyroMouseJoyFLP</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseJoyFLP.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseJoyFLP.Parent" xml:space="preserve">
|
||||||
|
<value>gBGyro</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroMouseJoyFLP.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
<data name="tPControls.AutoScroll" type="System.Boolean, mscorlib">
|
<data name="tPControls.AutoScroll" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
@ -8169,72 +8646,63 @@
|
|||||||
<data name="fLPSettings.AutoScroll" type="System.Boolean, mscorlib">
|
<data name="fLPSettings.AutoScroll" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="rBSAControls.AutoSize" type="System.Boolean, mscorlib">
|
<data name="label34.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="rBSAControls.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
<data name="label34.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>NoControl</value>
|
<value>25, 17</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="rBSAControls.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="label34.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>144, 20</value>
|
<value>72, 13</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="rBSAControls.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="label34.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>2, 2, 2, 2</value>
|
<value>261</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="rBSAControls.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="label34.Text" xml:space="preserve">
|
||||||
<value>100, 17</value>
|
<value>Output Mode:</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="rBSAControls.TabIndex" type="System.Int32, mscorlib">
|
<data name=">>label34.Name" xml:space="preserve">
|
||||||
<value>258</value>
|
<value>label34</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="rBSAControls.Text" xml:space="preserve">
|
<data name=">>label34.Type" xml:space="preserve">
|
||||||
<value>Use for Controls</value>
|
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>rBSAControls.Name" xml:space="preserve">
|
<data name=">>label34.Parent" xml:space="preserve">
|
||||||
<value>rBSAControls</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>rBSAControls.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>rBSAControls.Parent" xml:space="preserve">
|
|
||||||
<value>gBGyro</value>
|
<value>gBGyro</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>rBSAControls.ZOrder" xml:space="preserve">
|
<data name=">>label34.ZOrder" xml:space="preserve">
|
||||||
<value>0</value>
|
|
||||||
</data>
|
|
||||||
<data name="rBSAMouse.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="rBSAMouse.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
|
||||||
<value>NoControl</value>
|
|
||||||
</data>
|
|
||||||
<data name="rBSAMouse.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>13, 20</value>
|
|
||||||
</data>
|
|
||||||
<data name="rBSAMouse.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
|
||||||
<value>2, 2, 2, 2</value>
|
|
||||||
</data>
|
|
||||||
<data name="rBSAMouse.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>93, 17</value>
|
|
||||||
</data>
|
|
||||||
<data name="rBSAMouse.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>257</value>
|
|
||||||
</data>
|
|
||||||
<data name="rBSAMouse.Text" xml:space="preserve">
|
|
||||||
<value>Use as Mouse</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>rBSAMouse.Name" xml:space="preserve">
|
|
||||||
<value>rBSAMouse</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>rBSAMouse.Type" xml:space="preserve">
|
|
||||||
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>rBSAMouse.Parent" xml:space="preserve">
|
|
||||||
<value>gBGyro</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>rBSAMouse.ZOrder" xml:space="preserve">
|
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="gyroOutputMode.Items" xml:space="preserve">
|
||||||
|
<value>Controls</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroOutputMode.Items1" xml:space="preserve">
|
||||||
|
<value>Mouse</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroOutputMode.Items2" xml:space="preserve">
|
||||||
|
<value>Mouse Joystick</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroOutputMode.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>122, 15</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroOutputMode.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>121, 21</value>
|
||||||
|
</data>
|
||||||
|
<data name="gyroOutputMode.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>260</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroOutputMode.Name" xml:space="preserve">
|
||||||
|
<value>gyroOutputMode</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroOutputMode.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroOutputMode.Parent" xml:space="preserve">
|
||||||
|
<value>gBGyro</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>gyroOutputMode.ZOrder" xml:space="preserve">
|
||||||
|
<value>2</value>
|
||||||
|
</data>
|
||||||
<data name="toggleGyroMCb.AutoSize" type="System.Boolean, mscorlib">
|
<data name="toggleGyroMCb.AutoSize" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
@ -8872,13 +9340,13 @@
|
|||||||
<value>21</value>
|
<value>21</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="pnlSAMouse.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="pnlSAMouse.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>6, 39</value>
|
<value>4, 47</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="pnlSAMouse.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="pnlSAMouse.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>2, 2, 2, 2</value>
|
<value>2, 2, 2, 2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="pnlSAMouse.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="pnlSAMouse.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>263, 207</value>
|
<value>263, 222</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="pnlSAMouse.TabIndex" type="System.Int32, mscorlib">
|
<data name="pnlSAMouse.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>259</value>
|
<value>259</value>
|
||||||
@ -8893,13 +9361,13 @@
|
|||||||
<value>gBGyro</value>
|
<value>gBGyro</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>pnlSAMouse.ZOrder" xml:space="preserve">
|
<data name=">>pnlSAMouse.ZOrder" xml:space="preserve">
|
||||||
<value>3</value>
|
<value>4</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="gBGyro.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="gBGyro.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>3, 242</value>
|
<value>3, 242</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="gBGyro.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="gBGyro.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>272, 257</value>
|
<value>272, 256</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="gBGyro.TabIndex" type="System.Int32, mscorlib">
|
<data name="gBGyro.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>248</value>
|
<value>248</value>
|
||||||
@ -9556,7 +10024,7 @@
|
|||||||
<value>True</value>
|
<value>True</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
<value>47</value>
|
<value>114</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
<value>96, 96</value>
|
<value>96, 96</value>
|
||||||
|
Loading…
Reference in New Issue
Block a user