mirror of
https://github.com/cemu-project/DS4Windows.git
synced 2024-11-22 17:29:18 +01:00
Added back multiple configs for multiple controller
...Not sure why I removed that in the first place Signed-off-by: jays2kings <jays2kings@gmail.com>
This commit is contained in:
parent
044a38f1a9
commit
efdaec8748
@ -91,83 +91,83 @@ namespace DS4Control
|
|||||||
public static DS4Color loadColor(int device)
|
public static DS4Color loadColor(int device)
|
||||||
{
|
{
|
||||||
DS4Color color = new DS4Color();
|
DS4Color color = new DS4Color();
|
||||||
color.red = m_Config.m_Leds[0];
|
color.red = m_Config.m_Leds[device][0];
|
||||||
color.green = m_Config.m_Leds[1];
|
color.green = m_Config.m_Leds[device][1];
|
||||||
color.blue = m_Config.m_Leds[2];
|
color.blue = m_Config.m_Leds[device][2];
|
||||||
return color;
|
return color;
|
||||||
}
|
}
|
||||||
public static void saveColor(int device, byte red, byte green, byte blue)
|
public static void saveColor(int device, byte red, byte green, byte blue)
|
||||||
{
|
{
|
||||||
m_Config.m_Leds[0] = red;
|
m_Config.m_Leds[device][0] = red;
|
||||||
m_Config.m_Leds[1] = green;
|
m_Config.m_Leds[device][1] = green;
|
||||||
m_Config.m_Leds[2] = blue;
|
m_Config.m_Leds[device][2] = blue;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static byte loadRumbleBoost(int device)
|
public static byte loadRumbleBoost(int device)
|
||||||
{
|
{
|
||||||
return m_Config.m_Rumble;
|
return m_Config.m_Rumble[device];
|
||||||
}
|
}
|
||||||
public static void saveRumbleBoost(int device, byte boost)
|
public static void saveRumbleBoost(int device, byte boost)
|
||||||
{
|
{
|
||||||
m_Config.m_Rumble = boost;
|
m_Config.m_Rumble[device] = boost;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool getRumbleSwap(int device)
|
public static bool getRumbleSwap(int device)
|
||||||
{
|
{
|
||||||
return m_Config.rumbleSwap;
|
return m_Config.rumbleSwap[device];
|
||||||
}
|
}
|
||||||
public static void setRumbleSwap(int device, bool swap)
|
public static void setRumbleSwap(int device, bool swap)
|
||||||
{
|
{
|
||||||
m_Config.rumbleSwap = swap;
|
m_Config.rumbleSwap[device] = swap;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool getFlushHIDQueue(int device)
|
public static bool getFlushHIDQueue(int device)
|
||||||
{
|
{
|
||||||
return m_Config.flushHIDQueue;
|
return m_Config.flushHIDQueue[device];
|
||||||
}
|
}
|
||||||
public static void setFlushHIDQueue(int device, bool setting)
|
public static void setFlushHIDQueue(int device, bool setting)
|
||||||
{
|
{
|
||||||
m_Config.flushHIDQueue = setting;
|
m_Config.flushHIDQueue[device] = setting;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getIdleDisconnectTimeout(int device)
|
public static int getIdleDisconnectTimeout(int device)
|
||||||
{
|
{
|
||||||
return m_Config.idleDisconnectTimeout;
|
return m_Config.idleDisconnectTimeout[device];
|
||||||
}
|
}
|
||||||
public static void setIdleDisconnectTimeout(int device, int seconds)
|
public static void setIdleDisconnectTimeout(int device, int seconds)
|
||||||
{
|
{
|
||||||
m_Config.idleDisconnectTimeout = seconds;
|
m_Config.idleDisconnectTimeout[device] = seconds;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static byte getTouchSensitivity(int device)
|
public static byte getTouchSensitivity(int device)
|
||||||
{
|
{
|
||||||
return m_Config.touchSensitivity;
|
return m_Config.touchSensitivity[device];
|
||||||
}
|
}
|
||||||
public static void setTouchSensitivity(int device, byte sen)
|
public static void setTouchSensitivity(int device, byte sen)
|
||||||
{
|
{
|
||||||
m_Config.touchSensitivity = sen;
|
m_Config.touchSensitivity[device] = sen;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setFlashWhenLowBattery(int device, bool flash)
|
public static void setFlashWhenLowBattery(int device, bool flash)
|
||||||
{
|
{
|
||||||
m_Config.flashLedLowBattery = flash;
|
m_Config.flashLedLowBattery[device] = flash;
|
||||||
|
|
||||||
}
|
}
|
||||||
public static bool getFlashWhenLowBattery(int device)
|
public static bool getFlashWhenLowBattery(int device)
|
||||||
{
|
{
|
||||||
return m_Config.flashLedLowBattery;
|
return m_Config.flashLedLowBattery[device];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setLedAsBatteryIndicator(int device, bool ledAsBattery)
|
public static void setLedAsBatteryIndicator(int device, bool ledAsBattery)
|
||||||
{
|
{
|
||||||
m_Config.ledAsBattery = ledAsBattery;
|
m_Config.ledAsBattery[device] = ledAsBattery;
|
||||||
|
|
||||||
}
|
}
|
||||||
public static bool getLedAsBatteryIndicator(int device)
|
public static bool getLedAsBatteryIndicator(int device)
|
||||||
{
|
{
|
||||||
return m_Config.ledAsBattery;
|
return m_Config.ledAsBattery[device];
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setUseExclusiveMode(bool exclusive)
|
public static void setUseExclusiveMode(bool exclusive)
|
||||||
@ -182,64 +182,64 @@ namespace DS4Control
|
|||||||
// New settings
|
// New settings
|
||||||
public static void saveLowColor(int device, byte red, byte green, byte blue)
|
public static void saveLowColor(int device, byte red, byte green, byte blue)
|
||||||
{
|
{
|
||||||
m_Config.m_LowLeds[0] = red;
|
m_Config.m_LowLeds[device][0] = red;
|
||||||
m_Config.m_LowLeds[1] = green;
|
m_Config.m_LowLeds[device][1] = green;
|
||||||
m_Config.m_LowLeds[2] = blue;
|
m_Config.m_LowLeds[device][2] = blue;
|
||||||
}
|
}
|
||||||
public static DS4Color loadLowColor(int device)
|
public static DS4Color loadLowColor(int device)
|
||||||
{
|
{
|
||||||
DS4Color color = new DS4Color();
|
DS4Color color = new DS4Color();
|
||||||
color.red = m_Config.m_LowLeds[0];
|
color.red = m_Config.m_LowLeds[device][0];
|
||||||
color.green = m_Config.m_LowLeds[1];
|
color.green = m_Config.m_LowLeds[device][1];
|
||||||
color.blue = m_Config.m_LowLeds[2];
|
color.blue = m_Config.m_LowLeds[device][2];
|
||||||
return color;
|
return color;
|
||||||
}
|
}
|
||||||
public static void setTapSensitivity(int device, byte sen)
|
public static void setTapSensitivity(int device, byte sen)
|
||||||
{
|
{
|
||||||
m_Config.tapSensitivity = sen;
|
m_Config.tapSensitivity[device] = sen;
|
||||||
}
|
}
|
||||||
public static byte getTapSensitivity(int device)
|
public static byte getTapSensitivity(int device)
|
||||||
{
|
{
|
||||||
return m_Config.tapSensitivity;
|
return m_Config.tapSensitivity[device];
|
||||||
}
|
}
|
||||||
public static void setDoubleTap(int device, bool on)
|
public static void setDoubleTap(int device, bool on)
|
||||||
{
|
{
|
||||||
m_Config.doubleTap = on;
|
m_Config.doubleTap[device] = on;
|
||||||
}
|
}
|
||||||
public static bool getDoubleTap(int device)
|
public static bool getDoubleTap(int device)
|
||||||
{
|
{
|
||||||
return m_Config.doubleTap;
|
return m_Config.doubleTap[device];
|
||||||
}
|
}
|
||||||
public static bool getTap(int device)
|
public static bool getTap(int device)
|
||||||
{
|
{
|
||||||
if (m_Config.tapSensitivity == 0)
|
if (m_Config.tapSensitivity[device] == 0)
|
||||||
return false;
|
return false;
|
||||||
else
|
else
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public static void setScrollSensitivity(int device, int sen)
|
public static void setScrollSensitivity(int device, int sen)
|
||||||
{
|
{
|
||||||
m_Config.scrollSensitivity = sen;
|
m_Config.scrollSensitivity[device] = sen;
|
||||||
}
|
}
|
||||||
public static int getScrollSensitivity(int device)
|
public static int getScrollSensitivity(int device)
|
||||||
{
|
{
|
||||||
return m_Config.scrollSensitivity;
|
return m_Config.scrollSensitivity[device];
|
||||||
}
|
}
|
||||||
public static void setLowerRCOn(int device, bool twoFingerRC)
|
public static void setLowerRCOn(int device, bool twoFingerRC)
|
||||||
{
|
{
|
||||||
m_Config.lowerRCOn = twoFingerRC;
|
m_Config.lowerRCOn[device] = twoFingerRC;
|
||||||
}
|
}
|
||||||
public static bool getLowerRCOn(int device)
|
public static bool getLowerRCOn(int device)
|
||||||
{
|
{
|
||||||
return m_Config.lowerRCOn;
|
return m_Config.lowerRCOn[device];
|
||||||
}
|
}
|
||||||
public static void setTouchpadJitterCompensation(int device, bool enabled)
|
public static void setTouchpadJitterCompensation(int device, bool enabled)
|
||||||
{
|
{
|
||||||
m_Config.touchpadJitterCompensation = enabled;
|
m_Config.touchpadJitterCompensation[device] = enabled;
|
||||||
}
|
}
|
||||||
public static bool getTouchpadJitterCompensation(int device)
|
public static bool getTouchpadJitterCompensation(int device)
|
||||||
{
|
{
|
||||||
return m_Config.touchpadJitterCompensation;
|
return m_Config.touchpadJitterCompensation[device];
|
||||||
}
|
}
|
||||||
public static void setStartMinimized(bool startMinimized)
|
public static void setStartMinimized(bool startMinimized)
|
||||||
{
|
{
|
||||||
@ -268,20 +268,20 @@ namespace DS4Control
|
|||||||
|
|
||||||
public static double getLeftTriggerMiddle(int device)
|
public static double getLeftTriggerMiddle(int device)
|
||||||
{
|
{
|
||||||
return m_Config.m_LeftTriggerMiddle;
|
return m_Config.m_LeftTriggerMiddle[device];
|
||||||
}
|
}
|
||||||
public static void setLeftTriggerMiddle(int device, double value)
|
public static void setLeftTriggerMiddle(int device, double value)
|
||||||
{
|
{
|
||||||
m_Config.m_LeftTriggerMiddle = value;
|
m_Config.m_LeftTriggerMiddle[device] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static double getRightTriggerMiddle(int device)
|
public static double getRightTriggerMiddle(int device)
|
||||||
{
|
{
|
||||||
return m_Config.m_RightTriggerMiddle;
|
return m_Config.m_RightTriggerMiddle[device];
|
||||||
}
|
}
|
||||||
public static void setRightTriggerMiddle(int device, double value)
|
public static void setRightTriggerMiddle(int device, double value)
|
||||||
{
|
{
|
||||||
m_Config.m_RightTriggerMiddle = value;
|
m_Config.m_RightTriggerMiddle[device] = value;
|
||||||
}
|
}
|
||||||
public static void setAProfile(int device, string filepath)
|
public static void setAProfile(int device, string filepath)
|
||||||
{
|
{
|
||||||
@ -368,26 +368,37 @@ namespace DS4Control
|
|||||||
|
|
||||||
public class BackingStore
|
public class BackingStore
|
||||||
{
|
{
|
||||||
protected String m_File = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + @"\ScpControl.xml";
|
|
||||||
protected String m_Profile = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + @"\Profiles.xml";
|
protected String m_Profile = Directory.GetParent(Assembly.GetExecutingAssembly().Location).FullName + @"\Profiles.xml";
|
||||||
protected XmlDocument m_Xdoc = new XmlDocument();
|
protected XmlDocument m_Xdoc = new XmlDocument();
|
||||||
|
|
||||||
public Boolean touchpadJitterCompensation = true;
|
public Boolean[] touchpadJitterCompensation = {true, true, true, true};
|
||||||
public Boolean lowerRCOn;
|
public Boolean[] lowerRCOn = { false, false, false, false };
|
||||||
public Boolean ledAsBattery = false;
|
public Boolean[] ledAsBattery = { false, false, false, false };
|
||||||
public Boolean flashLedLowBattery = false;
|
public Boolean[] flashLedLowBattery = { false, false, false, false };
|
||||||
public double m_LeftTriggerMiddle = 0.5, m_RightTriggerMiddle = 0.5;
|
public double[] m_LeftTriggerMiddle = { 0.5, 0.5, 0.5, 0.5 }, m_RightTriggerMiddle = { 0.5, 0.5, 0.5, 0.5 };
|
||||||
public String customMapPath = String.Empty, buttonModeMapPath = String.Empty;
|
|
||||||
public String[] profilePath = { String.Empty, String.Empty, String.Empty, String.Empty };
|
public String[] profilePath = { String.Empty, String.Empty, String.Empty, String.Empty };
|
||||||
public Byte m_Rumble = 100;
|
public Byte[] m_Rumble = { 100, 100, 100, 100 };
|
||||||
public Boolean rumbleSwap = false;
|
public Boolean[] rumbleSwap = { false, false, false, false };
|
||||||
public Byte touchSensitivity = 100;
|
public Byte[] touchSensitivity = { 100, 100, 100, 100 };
|
||||||
public Byte tapSensitivity = 0;
|
public Byte[] tapSensitivity = {0, 0, 0, 0};
|
||||||
public int scrollSensitivity = 0;
|
public bool[] doubleTap = { false, false, false, false };
|
||||||
public Byte[] m_LowLeds = new Byte[] { 0, 0, 0 };
|
public int[] scrollSensitivity = { 0, 0, 0, 0 };
|
||||||
public Byte[] m_Leds = new Byte[] {0,0,255};
|
public Byte[][] m_LowLeds = new Byte[][]
|
||||||
public bool flushHIDQueue = true;
|
{
|
||||||
public int idleDisconnectTimeout = 0;
|
new Byte[] {0,0,0},
|
||||||
|
new Byte[] {0,0,0},
|
||||||
|
new Byte[] {0,0,0},
|
||||||
|
new Byte[] {0,0,0}
|
||||||
|
};
|
||||||
|
public Byte[][] m_Leds = new Byte[][]
|
||||||
|
{
|
||||||
|
new Byte[] {0,0,255},
|
||||||
|
new Byte[] {255,0,0},
|
||||||
|
new Byte[] {0,255,0},
|
||||||
|
new Byte[] {255,0,255},
|
||||||
|
};
|
||||||
|
public bool[] flushHIDQueue = { true, true, true, true };
|
||||||
|
public int[] idleDisconnectTimeout = { 0, 0, 0, 0 };
|
||||||
|
|
||||||
public Boolean useExclusiveMode = false;
|
public Boolean useExclusiveMode = false;
|
||||||
public Int32 formWidth = 782;
|
public Int32 formWidth = 782;
|
||||||
@ -397,7 +408,6 @@ namespace DS4Control
|
|||||||
public Dictionary<DS4Controls, DS4KeyType> customMapKeyTypes = null;
|
public Dictionary<DS4Controls, DS4KeyType> customMapKeyTypes = null;
|
||||||
public Dictionary<DS4Controls, UInt16> customMapKeys = null;
|
public Dictionary<DS4Controls, UInt16> customMapKeys = null;
|
||||||
public Dictionary<DS4Controls, X360Controls> customMapButtons = null;
|
public Dictionary<DS4Controls, X360Controls> customMapButtons = null;
|
||||||
public bool doubleTap = false;
|
|
||||||
public BackingStore()
|
public BackingStore()
|
||||||
{
|
{
|
||||||
//for (int i = 0; i < 4; i++)
|
//for (int i = 0; i < 4; i++)
|
||||||
@ -634,58 +644,55 @@ namespace DS4Control
|
|||||||
|
|
||||||
m_Xdoc.Load(profilePath[device]);
|
m_Xdoc.Load(profilePath[device]);
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/flushHIDQueue"); Boolean.TryParse(Item.InnerText, out flushHIDQueue); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/flushHIDQueue"); Boolean.TryParse(Item.InnerText, out flushHIDQueue[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/idleDisconnectTimeout"); Int32.TryParse(Item.InnerText, out idleDisconnectTimeout); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/idleDisconnectTimeout"); Int32.TryParse(Item.InnerText, out idleDisconnectTimeout[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Red"); Byte.TryParse(Item.InnerText, out m_Leds[0]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Red"); Byte.TryParse(Item.InnerText, out m_Leds[device][0]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Green"); Byte.TryParse(Item.InnerText, out m_Leds[1]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Green"); Byte.TryParse(Item.InnerText, out m_Leds[device][1]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Blue"); Byte.TryParse(Item.InnerText, out m_Leds[2]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Blue"); Byte.TryParse(Item.InnerText, out m_Leds[device][2]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/RumbleBoost"); Byte.TryParse(Item.InnerText, out m_Rumble); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/RumbleBoost"); Byte.TryParse(Item.InnerText, out m_Rumble[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/rumbleSwap"); Boolean.TryParse(Item.InnerText, out rumbleSwap); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/rumbleSwap"); Boolean.TryParse(Item.InnerText, out rumbleSwap[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/ledAsBatteryIndicator"); Boolean.TryParse(Item.InnerText, out ledAsBattery); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/ledAsBatteryIndicator"); Boolean.TryParse(Item.InnerText, out ledAsBattery[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/lowBatteryFlash"); Boolean.TryParse(Item.InnerText, out flashLedLowBattery); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/lowBatteryFlash"); Boolean.TryParse(Item.InnerText, out flashLedLowBattery[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/touchSensitivity"); Byte.TryParse(Item.InnerText, out touchSensitivity); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/touchSensitivity"); Byte.TryParse(Item.InnerText, out touchSensitivity[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowRed"); Byte.TryParse(Item.InnerText, out m_LowLeds[0]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowRed"); Byte.TryParse(Item.InnerText, out m_LowLeds[device][0]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowGreen"); Byte.TryParse(Item.InnerText, out m_LowLeds[1]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowGreen"); Byte.TryParse(Item.InnerText, out m_LowLeds[device][1]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowBlue"); Byte.TryParse(Item.InnerText, out m_LowLeds[2]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowBlue"); Byte.TryParse(Item.InnerText, out m_LowLeds[device][2]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/touchpadJitterCompensation"); Boolean.TryParse(Item.InnerText, out touchpadJitterCompensation); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/touchpadJitterCompensation"); Boolean.TryParse(Item.InnerText, out touchpadJitterCompensation[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/lowerRCOn"); Boolean.TryParse(Item.InnerText, out lowerRCOn); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/lowerRCOn"); Boolean.TryParse(Item.InnerText, out lowerRCOn[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/tapSensitivity"); Byte.TryParse(Item.InnerText, out tapSensitivity); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/tapSensitivity"); Byte.TryParse(Item.InnerText, out tapSensitivity[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/doubleTap"); Boolean.TryParse(Item.InnerText, out doubleTap); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/doubleTap"); Boolean.TryParse(Item.InnerText, out doubleTap[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/scrollSensitivity"); Int32.TryParse(Item.InnerText, out scrollSensitivity); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/scrollSensitivity"); Int32.TryParse(Item.InnerText, out scrollSensitivity[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
// XXX This sucks, let's do better at removing old values that are no longer valid....
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LeftTriggerMiddle"); Double.TryParse(Item.InnerText, out m_LeftTriggerMiddle[device]); }
|
||||||
if (scrollSensitivity > 10)
|
|
||||||
scrollSensitivity = 5;
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LeftTriggerMiddle"); Double.TryParse(Item.InnerText, out m_LeftTriggerMiddle); }
|
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/RightTriggerMiddle"); Double.TryParse(Item.InnerText, out m_RightTriggerMiddle); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/RightTriggerMiddle"); Double.TryParse(Item.InnerText, out m_RightTriggerMiddle[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
DS4KeyType keyType;
|
DS4KeyType keyType;
|
||||||
@ -781,69 +788,57 @@ namespace DS4Control
|
|||||||
|
|
||||||
m_Xdoc.Load(profilePath[device]);
|
m_Xdoc.Load(profilePath[device]);
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/flushHIDQueue"); Boolean.TryParse(Item.InnerText, out flushHIDQueue); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/flushHIDQueue"); Boolean.TryParse(Item.InnerText, out flushHIDQueue[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/idleDisconnectTimeout"); Int32.TryParse(Item.InnerText, out idleDisconnectTimeout); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/idleDisconnectTimeout"); Int32.TryParse(Item.InnerText, out idleDisconnectTimeout[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Red"); Byte.TryParse(Item.InnerText, out m_Leds[0]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Red"); Byte.TryParse(Item.InnerText, out m_Leds[device][0]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Green"); Byte.TryParse(Item.InnerText, out m_Leds[1]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Green"); Byte.TryParse(Item.InnerText, out m_Leds[device][1]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Blue"); Byte.TryParse(Item.InnerText, out m_Leds[2]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/Blue"); Byte.TryParse(Item.InnerText, out m_Leds[device][2]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/RumbleBoost"); Byte.TryParse(Item.InnerText, out m_Rumble); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/RumbleBoost"); Byte.TryParse(Item.InnerText, out m_Rumble[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/rumbleSwap"); Boolean.TryParse(Item.InnerText, out rumbleSwap); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/rumbleSwap"); Boolean.TryParse(Item.InnerText, out rumbleSwap[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/ledAsBatteryIndicator"); Boolean.TryParse(Item.InnerText, out ledAsBattery); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/ledAsBatteryIndicator"); Boolean.TryParse(Item.InnerText, out ledAsBattery[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/lowBatteryFlash"); Boolean.TryParse(Item.InnerText, out flashLedLowBattery); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/lowBatteryFlash"); Boolean.TryParse(Item.InnerText, out flashLedLowBattery[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/touchSensitivity"); Byte.TryParse(Item.InnerText, out touchSensitivity); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/touchSensitivity"); Byte.TryParse(Item.InnerText, out touchSensitivity[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowRed"); Byte.TryParse(Item.InnerText, out m_LowLeds[0]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowRed"); Byte.TryParse(Item.InnerText, out m_LowLeds[device][0]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowGreen"); Byte.TryParse(Item.InnerText, out m_LowLeds[1]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowGreen"); Byte.TryParse(Item.InnerText, out m_LowLeds[device][1]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowBlue"); Byte.TryParse(Item.InnerText, out m_LowLeds[2]); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LowBlue"); Byte.TryParse(Item.InnerText, out m_LowLeds[device][2]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/touchpadJitterCompensation"); Boolean.TryParse(Item.InnerText, out touchpadJitterCompensation); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/touchpadJitterCompensation"); Boolean.TryParse(Item.InnerText, out touchpadJitterCompensation[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/lowerRCOn"); Boolean.TryParse(Item.InnerText, out lowerRCOn); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/lowerRCOn"); Boolean.TryParse(Item.InnerText, out lowerRCOn[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/tapSensitivity"); Byte.TryParse(Item.InnerText, out tapSensitivity); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/tapSensitivity"); Byte.TryParse(Item.InnerText, out tapSensitivity[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/doubleTap"); Boolean.TryParse(Item.InnerText, out doubleTap); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/doubleTap"); Boolean.TryParse(Item.InnerText, out doubleTap[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/scrollSensitivity"); Int32.TryParse(Item.InnerText, out scrollSensitivity); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/scrollSensitivity"); Int32.TryParse(Item.InnerText, out scrollSensitivity[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
// XXX This sucks, let's do better at removing old values that are no longer valid....
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LeftTriggerMiddle"); Double.TryParse(Item.InnerText, out m_LeftTriggerMiddle[device]); }
|
||||||
if (scrollSensitivity > 10)
|
|
||||||
scrollSensitivity = 5;
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/LeftTriggerMiddle"); Double.TryParse(Item.InnerText, out m_LeftTriggerMiddle); }
|
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/RightTriggerMiddle"); Double.TryParse(Item.InnerText, out m_RightTriggerMiddle); }
|
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/RightTriggerMiddle"); Double.TryParse(Item.InnerText, out m_RightTriggerMiddle[device]); }
|
||||||
catch { missingSetting = true; }
|
catch { missingSetting = true; }
|
||||||
|
|
||||||
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/useExclusiveMode"); Boolean.TryParse(Item.InnerText, out useExclusiveMode); }
|
|
||||||
catch { missingSetting = true; }
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/startMinimized"); Boolean.TryParse(Item.InnerText, out startMinimized); }
|
|
||||||
catch { missingSetting = true; }
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/formWidth"); Int32.TryParse(Item.InnerText, out formWidth); }
|
|
||||||
catch { missingSetting = true; }
|
|
||||||
try { Item = m_Xdoc.SelectSingleNode("/ScpControl/formHeight"); Int32.TryParse(Item.InnerText, out formHeight); }
|
|
||||||
catch { missingSetting = true; }
|
|
||||||
DS4KeyType keyType;
|
DS4KeyType keyType;
|
||||||
UInt16 wvk;
|
UInt16 wvk;
|
||||||
XmlNode ParentItem = m_Xdoc.SelectSingleNode("/ScpControl/Control/Button");
|
XmlNode ParentItem = m_Xdoc.SelectSingleNode("/ScpControl/Control/Button");
|
||||||
|
@ -124,7 +124,7 @@ namespace ScpServer
|
|||||||
RefreshProfiles();
|
RefreshProfiles();
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
//Global.LoadProfile(i);
|
Global.LoadProfile(i);
|
||||||
}
|
}
|
||||||
Global.ControllerStatusChange += ControllerStatusChange;
|
Global.ControllerStatusChange += ControllerStatusChange;
|
||||||
ControllerStatusChanged();
|
ControllerStatusChanged();
|
||||||
@ -154,13 +154,13 @@ namespace ScpServer
|
|||||||
if (cbs[i].Items[j] + ".xml" == filename)
|
if (cbs[i].Items[j] + ".xml" == filename)
|
||||||
{
|
{
|
||||||
cbs[i].SelectedIndex = j;
|
cbs[i].SelectedIndex = j;
|
||||||
Profile_Changed(cbs[i], null);
|
|
||||||
((ToolStripMenuItem)shortcuts[i].DropDownItems[j]).Checked = true;
|
((ToolStripMenuItem)shortcuts[i].DropDownItems[j]).Checked = true;
|
||||||
Global.setAProfile(i, cbs[i].Text);
|
Global.setAProfile(i, cbs[i].Text);
|
||||||
Global.LoadProfile(i);
|
Global.LoadProfile(i);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
cbs[i].Items.Add("+New Profile");
|
cbs[i].Items.Add("+New Profile");
|
||||||
|
shortcuts[i].DropDownItems.Add("-");
|
||||||
shortcuts[i].DropDownItems.Add("+New Profile");
|
shortcuts[i].DropDownItems.Add("+New Profile");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -253,7 +253,6 @@ namespace ScpServer
|
|||||||
dbns[Index].Enabled = true;
|
dbns[Index].Enabled = true;
|
||||||
protexts[Index].Enabled = true;
|
protexts[Index].Enabled = true;
|
||||||
shortcuts[Index].Enabled = true;
|
shortcuts[Index].Enabled = true;
|
||||||
Global.LoadProfile(Index);
|
|
||||||
// As above
|
// As above
|
||||||
//if (checkFirst && (Pads[Index].Checked && Index != 0))
|
//if (checkFirst && (Pads[Index].Checked && Index != 0))
|
||||||
// checkFirst = false;
|
// checkFirst = false;
|
||||||
@ -396,6 +395,7 @@ namespace ScpServer
|
|||||||
if (cb.SelectedIndex < cb.Items.Count - 1)
|
if (cb.SelectedIndex < cb.Items.Count - 1)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < shortcuts[tdevice].DropDownItems.Count; i++)
|
for (int i = 0; i < shortcuts[tdevice].DropDownItems.Count; i++)
|
||||||
|
if (!(shortcuts[tdevice].DropDownItems[i] is ToolStripSeparator))
|
||||||
((ToolStripMenuItem)shortcuts[tdevice].DropDownItems[i]).Checked = false;
|
((ToolStripMenuItem)shortcuts[tdevice].DropDownItems[i]).Checked = false;
|
||||||
((ToolStripMenuItem)shortcuts[tdevice].DropDownItems[cb.SelectedIndex]).Checked = true;
|
((ToolStripMenuItem)shortcuts[tdevice].DropDownItems[cb.SelectedIndex]).Checked = true;
|
||||||
Global.setAProfile(tdevice, cb.Items[cb.SelectedIndex].ToString());
|
Global.setAProfile(tdevice, cb.Items[cb.SelectedIndex].ToString());
|
||||||
@ -427,6 +427,7 @@ namespace ScpServer
|
|||||||
{
|
{
|
||||||
ToolStripMenuItem tS = (ToolStripMenuItem)sender;
|
ToolStripMenuItem tS = (ToolStripMenuItem)sender;
|
||||||
int tdevice = Int32.Parse(tS.Tag.ToString());
|
int tdevice = Int32.Parse(tS.Tag.ToString());
|
||||||
|
if (!(e.ClickedItem is ToolStripSeparator))
|
||||||
if (e.ClickedItem != tS.DropDownItems[tS.DropDownItems.Count - 1])
|
if (e.ClickedItem != tS.DropDownItems[tS.DropDownItems.Count - 1])
|
||||||
if (((ToolStripMenuItem)e.ClickedItem).Checked)
|
if (((ToolStripMenuItem)e.ClickedItem).Checked)
|
||||||
{
|
{
|
||||||
@ -452,7 +453,7 @@ namespace ScpServer
|
|||||||
Global.Save();
|
Global.Save();
|
||||||
Global.LoadProfile(tdevice);
|
Global.LoadProfile(tdevice);
|
||||||
}
|
}
|
||||||
else if (e.ClickedItem.Text == "+New Profile") //if +New Profile selected
|
else// if (e.ClickedItem.Text == "+New Profile") //if +New Profile selected
|
||||||
{
|
{
|
||||||
Options opt = OptionsDialog[tdevice] = new Options(rootHub, tdevice, "", this);
|
Options opt = OptionsDialog[tdevice] = new Options(rootHub, tdevice, "", this);
|
||||||
opt.Text = "Options for Controller " + (tdevice + 1);
|
opt.Text = "Options for Controller " + (tdevice + 1);
|
||||||
|
Loading…
Reference in New Issue
Block a user