From d08c4c905fd1aa4f38181018c070f7c9c6b8d2c8 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Mon, 9 Mar 2026 07:14:41 +0100 Subject: [PATCH] fix: gamepad select registering as long press --- lib/services/gamepad_service.dart | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/services/gamepad_service.dart b/lib/services/gamepad_service.dart index 5e227375..2ffad2df 100644 --- a/lib/services/gamepad_service.dart +++ b/lib/services/gamepad_service.dart @@ -153,8 +153,12 @@ class GamepadService with WindowListener { if (event.pressed) { onGamepadInput?.call(); _setTraditionalFocusHighlight(); - key_sim.scheduleFrameIfIdle(); } + // Ensure a frame is scheduled so addPostFrameCallback-based key + // simulation fires promptly. Without this, key-up events can be + // delayed indefinitely when the app is idle, causing the long-press + // timer to fire before the release is delivered. + key_sim.scheduleFrameIfIdle(); final wasPressed = _pressedButtons.contains(event.button);