From 8774c12b13b1b43e0da73731028efe7aa38d6366 Mon Sep 17 00:00:00 2001 From: staphen Date: Sun, 20 Apr 2025 19:24:30 -0400 Subject: [PATCH] Ignore held mouse button when pressing keymapper mouse buttons --- Source/diablo.cpp | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Source/diablo.cpp b/Source/diablo.cpp index 0f4f4776e..7299b0dc5 100644 --- a/Source/diablo.cpp +++ b/Source/diablo.cpp @@ -659,20 +659,22 @@ void HandleMouseButtonDown(Uint8 button, uint16_t modState) return; } - if (sgbMouseDown == CLICK_NONE) { - switch (button) { - case SDL_BUTTON_LEFT: + switch (button) { + case SDL_BUTTON_LEFT: + if (sgbMouseDown == CLICK_NONE) { sgbMouseDown = CLICK_LEFT; LeftMouseDown(modState); - break; - case SDL_BUTTON_RIGHT: + } + break; + case SDL_BUTTON_RIGHT: + if (sgbMouseDown == CLICK_NONE) { sgbMouseDown = CLICK_RIGHT; RightMouseDown((modState & KMOD_SHIFT) != 0); - break; - default: - KeymapperPress(static_cast(button | KeymapperMouseButtonMask)); - break; } + break; + default: + KeymapperPress(static_cast(button | KeymapperMouseButtonMask)); + break; } }