From d8943350172ed28111da610b9746ccc7ae4e5090 Mon Sep 17 00:00:00 2001 From: David Khachaturov Date: Thu, 11 Jun 2020 09:27:06 +0100 Subject: [PATCH] - Added gyro toggle option --- BetterJoyForCemu/App.config | 3 +++ BetterJoyForCemu/Joycon.cs | 19 +++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/BetterJoyForCemu/App.config b/BetterJoyForCemu/App.config index ae3a695..2a30964 100644 --- a/BetterJoyForCemu/App.config +++ b/BetterJoyForCemu/App.config @@ -71,6 +71,9 @@ + + + diff --git a/BetterJoyForCemu/Joycon.cs b/BetterJoyForCemu/Joycon.cs index 2a9a0ab..930a7cb 100644 --- a/BetterJoyForCemu/Joycon.cs +++ b/BetterJoyForCemu/Joycon.cs @@ -599,11 +599,12 @@ namespace BetterJoyForCemu { } } - string extraGyroFeature = ConfigurationManager.AppSettings["GyroToJoyOrMouse"]; - int GyroMouseSensitivity = Int32.Parse(ConfigurationManager.AppSettings["GyroMouseSensitivity"]); bool HomeLongPowerOff = Boolean.Parse(ConfigurationManager.AppSettings["HomeLongPowerOff"]); long PowerOffInactivityMins = Int32.Parse(ConfigurationManager.AppSettings["PowerOffInactivity"]); + string extraGyroFeature = ConfigurationManager.AppSettings["GyroToJoyOrMouse"]; + int GyroMouseSensitivity = Int32.Parse(ConfigurationManager.AppSettings["GyroMouseSensitivity"]); + bool GyroHoldToggle = Boolean.Parse(ConfigurationManager.AppSettings["GyroHoldToggle"]); bool GyroAnalogSliders = Boolean.Parse(ConfigurationManager.AppSettings["GyroAnalogSliders"]); int GyroAnalogSensitivity = Int32.Parse(ConfigurationManager.AppSettings["GyroAnalogSensitivity"]); byte[] sliderVal = new byte[] { 0, 0 }; @@ -689,12 +690,18 @@ namespace BetterJoyForCemu { // TODO } else if (extraGyroFeature == "mouse" && (isPro || (other == null) || (other != null && (Boolean.Parse(ConfigurationManager.AppSettings["GyroMouseLeftHanded"]) ? isLeft : !isLeft)))) { string res_val = Config.Value("active_gyro"); + if (res_val.StartsWith("joy_")) { int i = Int32.Parse(res_val.Substring(4)); - if (buttons_down[i] || (other != null && other.buttons_down[i])) - active_gyro = true; - else if (buttons_up[i] || (other != null && other.buttons_up[i])) - active_gyro = false; + if (GyroHoldToggle) { + if (buttons_down[i] || (other != null && other.buttons_down[i])) + active_gyro = true; + else if (buttons_up[i] || (other != null && other.buttons_up[i])) + active_gyro = false; + } else { + if (buttons_down[i] || (other != null && other.buttons_down[i])) + active_gyro = !active_gyro; + } } float dt = 0.015f; // 15ms