From 95a35e39bd88ca4d69565b6ccea229289eb01592 Mon Sep 17 00:00:00 2001 From: unknown Date: Sat, 5 Jan 2019 22:41:10 +0100 Subject: [PATCH] prevent gyro drift on some controllers On some original Nintendo controllers gyro drift occurs (moves constantly to the right, for example). Not dividing the neutral point by 2 seems to fix the problem, and it doesn't seem to effect other controllers negatively (tested with 8bitDo N30 pro and SF30 Pro). --- BetterJoyForCemu/Joycon.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BetterJoyForCemu/Joycon.cs b/BetterJoyForCemu/Joycon.cs index 8641371..3048b4a 100644 --- a/BetterJoyForCemu/Joycon.cs +++ b/BetterJoyForCemu/Joycon.cs @@ -647,12 +647,12 @@ namespace BetterJoyForCemu { break; case 1: acc_g.Y = (!isLeft ? -1 : 1) * (acc_r[i] - offset[i]) * (1.0f / (acc_sensiti[i] - acc_neutral[i])) * 4.0f; - gyr_g.Y = -(!isLeft ? -1 : 1) * (gyr_r[i] - gyr_neutral[i] * 0.5f) * (816.0f / (gyr_sensiti[i] - gyr_neutral[i])); + gyr_g.Y = -(!isLeft ? -1 : 1) * (gyr_r[i] - gyr_neutral[i]) * (816.0f / (gyr_sensiti[i] - gyr_neutral[i])); break; case 2: acc_g.Z = (!isLeft ? -1 : 1) * (acc_r[i] - offset[i]) * (1.0f / (acc_sensiti[i] - acc_neutral[i])) * 4.0f; - gyr_g.Z = -(!isLeft ? -1 : 1) * (gyr_r[i] - gyr_neutral[i] * 0.5f) * (816.0f / (gyr_sensiti[i] - gyr_neutral[i])); + gyr_g.Z = -(!isLeft ? -1 : 1) * (gyr_r[i] - gyr_neutral[i]) * (816.0f / (gyr_sensiti[i] - gyr_neutral[i])); break; }