From d59b41e28a16a78a4640b6c658a908cc3ae7e1d3 Mon Sep 17 00:00:00 2001 From: shinyquagsire23 Date: Sat, 24 Feb 2018 16:53:13 -0700 Subject: [PATCH] hid: This block needs to be after keyDown/keyUp are set --- nx/source/services/hid.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/nx/source/services/hid.c b/nx/source/services/hid.c index fa1af99d..5d480053 100644 --- a/nx/source/services/hid.c +++ b/nx/source/services/hid.c @@ -207,26 +207,26 @@ void hidScanInput(void) { g_controllerTimestamps[i] = newInputEntry->timestamp; g_controllerHeld[i] |= g_controllerEntries[i].buttons; - - if (g_controllerDown[i]) { - g_controllerHeldStartTime[i] = g_controllerTimestamps[i]; - } else if (g_controllerUp[i]) { - g_controllerHeldStartTime[i] = 0; - } - - bool sticksActive = (g_controllerEntries[i].joysticks[JOYSTICK_LEFT].dx - || g_controllerEntries[i].joysticks[JOYSTICK_RIGHT].dx - || g_controllerEntries[i].joysticks[JOYSTICK_LEFT].dy - || g_controllerEntries[i].joysticks[JOYSTICK_RIGHT].dy); - if (sticksActive && !g_controllerStickHeldStartTime[i]) { - g_controllerStickHeldStartTime[i] = g_controllerTimestamps[i]; - } else if (!sticksActive && g_controllerStickHeldStartTime[i]){ - g_controllerStickHeldStartTime[i] = 0; - } } g_controllerDown[i] = (~g_controllerOld[i]) & g_controllerHeld[i]; g_controllerUp[i] = g_controllerOld[i] & (~g_controllerHeld[i]); + + if (g_controllerDown[i]) { + g_controllerHeldStartTime[i] = g_controllerTimestamps[i]; + } else if (g_controllerUp[i]) { + g_controllerHeldStartTime[i] = 0; + } + + bool sticksActive = (g_controllerEntries[i].joysticks[JOYSTICK_LEFT].dx + || g_controllerEntries[i].joysticks[JOYSTICK_RIGHT].dx + || g_controllerEntries[i].joysticks[JOYSTICK_LEFT].dy + || g_controllerEntries[i].joysticks[JOYSTICK_RIGHT].dy); + if (sticksActive && !g_controllerStickHeldStartTime[i]) { + g_controllerStickHeldStartTime[i] = g_controllerTimestamps[i]; + } else if (!sticksActive && g_controllerStickHeldStartTime[i]){ + g_controllerStickHeldStartTime[i] = 0; + } } // For P1_AUTO and ANY, newer inputs > older inputs