From 722e446e3380edf99c5d098ffdffc7edcc06b788 Mon Sep 17 00:00:00 2001 From: MULTidll Date: Sun, 30 Nov 2025 12:24:18 +0530 Subject: [PATCH] Improve touch input handling by activating slot 0 based on mouse click or touch events --- src/platforms/rcore_drm.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/platforms/rcore_drm.c b/src/platforms/rcore_drm.c index 274aa2eec..de129124f 100644 --- a/src/platforms/rcore_drm.c +++ b/src/platforms/rcore_drm.c @@ -2441,7 +2441,27 @@ static void PollMouseEvents(void) if (event.value > 0) { - // platform.touchActive[0] = true; + bool activateSlot0 = false; + + if (event.code == BTN_LEFT) + { + activateSlot0 = true; // Mouse click always activates + } + else if (event.code == BTN_TOUCH) + { + bool anyActive = false; + for (int i = 0; i < MAX_TOUCH_POINTS; i++) { + if (platform.touchActive[i]) { anyActive = true; break; } + } + if (!anyActive) activateSlot0 = true; + } + + if (activateSlot0) + { + platform.touchActive[0] = true; + platform.touchId[0] = 0; + } + touchAction = 1; // TOUCH_ACTION_DOWN } else @@ -2453,6 +2473,10 @@ static void PollMouseEvents(void) platform.touchPosition[0].x = -1; platform.touchPosition[0].y = -1; } + else if (event.code == BTN_TOUCH) + { + platform.touchSlot = 0; // Reset slot index to 0 + } touchAction = 0; // TOUCH_ACTION_UP } }