diff --git a/lib/bluetooth/devices/base_device.dart b/lib/bluetooth/devices/base_device.dart index 3267794..5456d18 100644 --- a/lib/bluetooth/devices/base_device.dart +++ b/lib/bluetooth/devices/base_device.dart @@ -69,18 +69,21 @@ abstract class BaseDevice { Future connect(); Future handleButtonsClickedWithoutLongPressSupport(List clickedButtons) async { - await handleButtonsClicked(clickedButtons, longPress: true); if (clickedButtons.length == 1) { final keyPair = core.actionHandler.supportedApp?.keymap.getKeyPair(clickedButtons.single); if (keyPair != null && (keyPair.isLongPress || keyPair.inGameAction?.isLongPress == true)) { - // simulate release after click + // For long press actions: perform down, wait, then release + await handleButtonsClicked(clickedButtons, longPress: true); _longPressTimer?.cancel(); await Future.delayed(const Duration(milliseconds: 800)); await handleButtonsClicked([], longPress: true); } else { - await handleButtonsClicked([], longPress: true); + // For non-long-press actions: perform a single click + await handleButtonsClicked(clickedButtons, longPress: false); + await handleButtonsClicked([], longPress: false); } } else { + await handleButtonsClicked(clickedButtons); await handleButtonsClicked([]); } }