From 1d684545129855c8db3366fe5beed51cd8b0f6d1 Mon Sep 17 00:00:00 2001 From: sonil Date: Mon, 17 Oct 2022 00:36:36 +0800 Subject: [PATCH] update for em_mode --- src/dinput.cc | 9 ++++++--- src/dinput.h | 3 +++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/dinput.cc b/src/dinput.cc index 0a7b2e0..8efe029 100644 --- a/src/dinput.cc +++ b/src/dinput.cc @@ -152,6 +152,8 @@ static bool clicked = false; bool mouseDeviceGetData(MouseData* mouseState) { + mouseState->em_mode = false; + if (gLastInputType == INPUT_TYPE_TOUCH) { mouseState->x = gTouchMouseDeltaX; mouseState->y = gTouchMouseDeltaY; @@ -162,7 +164,7 @@ bool mouseDeviceGetData(MouseData* mouseState) gTouchMouseDeltaX = 0; gTouchMouseDeltaY = 0; - if (lastType == SDL_FINGERDOWN && SDL_GetTicks() - gTouchGestureLastTouchUpTimestamp > 250) { + if (lastType == SDL_FINGERDOWN && SDL_GetTicks() - gTouchGestureLastTouchUpTimestamp > 250 && gTouchMouseLastX > screenGetWidth() / 4) { longPressed = true; } @@ -172,8 +174,9 @@ bool mouseDeviceGetData(MouseData* mouseState) } else if (clicked) { clicked = false; if (em_mode) { - mouseState->x = gTouchMouseDeltaX; - mouseState->y = gTouchMouseDeltaY; + mouseState->em_mode = em_mode; + mouseState->rawx = gTouchMouseLastX; + mouseState->rawy = gTouchMouseLastY; } if (gTouchMouseLastX < screenGetWidth() / 4) { diff --git a/src/dinput.h b/src/dinput.h index 51e76e7..10699fe 100644 --- a/src/dinput.h +++ b/src/dinput.h @@ -11,6 +11,9 @@ typedef struct MouseData { unsigned char buttons[2]; int wheelX; int wheelY; + int rawx; + int rawy; + bool em_mode; } MouseData; typedef struct KeyboardData {