diff --git a/BetterJoy/App.config b/BetterJoy/App.config index 916536c..75d017c 100644 --- a/BetterJoy/App.config +++ b/BetterJoy/App.config @@ -38,6 +38,9 @@ + + + diff --git a/BetterJoy/Config/ControllerConfig.cs b/BetterJoy/Config/ControllerConfig.cs index d82c5d5..8d2acd2 100644 --- a/BetterJoy/Config/ControllerConfig.cs +++ b/BetterJoy/Config/ControllerConfig.cs @@ -37,6 +37,7 @@ public class ControllerConfig : Config public long PowerOffInactivityMins = -1; public bool SwapAB = false; public bool SwapXY = false; + public bool MinusToShare = false; public bool UseFilteredMotion = true; public DebugType DebugType = DebugType.None; public Orientation DoNotRejoin = Orientation.None; @@ -78,6 +79,7 @@ public ControllerConfig(ControllerConfig config) : base(config._logger) PowerOffInactivityMins = config.PowerOffInactivityMins; SwapAB = config.SwapAB; SwapXY = config.SwapXY; + MinusToShare = config.MinusToShare; UseFilteredMotion = config.UseFilteredMotion; DebugType = config.DebugType; DoNotRejoin = config.DoNotRejoin; @@ -118,6 +120,7 @@ public override void Update() TryUpdateSetting("PowerOffInactivity", ref PowerOffInactivityMins); TryUpdateSetting("SwapAB", ref SwapAB); TryUpdateSetting("SwapXY", ref SwapXY); + TryUpdateSetting("MinusToShare", ref MinusToShare); TryUpdateSetting("UseFilteredIMU", ref UseFilteredMotion); TryUpdateSetting("DebugType", ref DebugType); TryUpdateSetting("DoNotRejoinJoycons", ref DoNotRejoin); diff --git a/BetterJoy/Controller/Joycon.cs b/BetterJoy/Controller/Joycon.cs index d6885ad..cc006c2 100644 --- a/BetterJoy/Controller/Joycon.cs +++ b/BetterJoy/Controller/Joycon.cs @@ -3137,6 +3137,7 @@ public OutputControllerDualShock4InputState MapToDualShock4Input() var gyroAnalogSliders = UseGyroAnalogSliders(); var swapAB = Config.SwapAB; var swapXY = Config.SwapXY; + var minusToShare = Config.MinusToShare; if (other != null && !isLeft) { @@ -3161,10 +3162,10 @@ public OutputControllerDualShock4InputState MapToDualShock4Input() buttons[(int)(isLeft ? Button.DpadRight : Button.A)] ); - output.Share = buttons[(int)Button.Capture]; + output.Share = minusToShare ? buttons[(int)Button.Minus] : buttons[(int)Button.Capture]; output.Options = buttons[(int)Button.Plus]; output.Ps = buttons[(int)Button.Home]; - output.Touchpad = buttons[(int)Button.Minus]; + output.Touchpad = minusToShare ? buttons[(int)Button.Capture] : buttons[(int)Button.Minus]; output.ShoulderLeft = buttons[(int)(isLeft ? Button.Shoulder1 : Button.Shoulder21)]; output.ShoulderRight = buttons[(int)(isLeft ? Button.Shoulder21 : Button.Shoulder1)]; @@ -3222,10 +3223,10 @@ public OutputControllerDualShock4InputState MapToDualShock4Input() buttons[(int)Button.DpadRight] ); - output.Share = buttons[(int)Button.Capture]; + output.Share = minusToShare ? buttons[(int)Button.Minus] : buttons[(int)Button.Capture]; output.Options = buttons[(int)Button.Plus]; output.Ps = buttons[(int)Button.Home]; - output.Touchpad = buttons[(int)Button.Minus]; + output.Touchpad = minusToShare ? buttons[(int)Button.Capture] : buttons[(int)Button.Minus]; output.ShoulderLeft = buttons[(int)Button.Shoulder1]; output.ShoulderRight = buttons[(int)Button.Shoulder21];