Skip to content

Commit 0b6b428

Browse files
committed
Mouse release event now runs even if cursor didn't move for 2s
1 parent 2262468 commit 0b6b428

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

main.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -868,13 +868,16 @@ function love.joystickhat(joystick, hat, direction)
868868
end
869869
end
870870

871+
local mouse_buttons_pressed = {}
872+
871873
---@param x number
872874
---@param y number
873875
---@param button integer
874876
---@param istouch boolean
875877
---@param presses integer
876878
function love.mousepressed(x, y, button, istouch, presses)
877879
if mouse_idle > 2 then return end
880+
mouse_buttons_pressed[button] = true
878881
local screen_x, screen_y = love.graphics.getDimensions()
879882
local scale_factor = math.min(screen_x / 640, screen_y / 480)
880883
local local_x, local_y = (x - (screen_x - scale_factor * 640) / 2)/scale_factor, (y - (screen_y - scale_factor * 480) / 2)/scale_factor
@@ -887,7 +890,8 @@ end
887890
---@param istouch boolean
888891
---@param presses integer
889892
function love.mousereleased(x, y, button, istouch, presses)
890-
if mouse_idle > 2 then return end
893+
if mouse_idle > 2 and not mouse_buttons_pressed[button] then return end
894+
mouse_buttons_pressed[button] = false
891895
local screen_x, screen_y = love.graphics.getDimensions()
892896
local scale_factor = math.min(screen_x / 640, screen_y / 480)
893897
local local_x, local_y = (x - (screen_x - scale_factor * 640) / 2)/scale_factor, (y - (screen_y - scale_factor * 480) / 2)/scale_factor

0 commit comments

Comments
 (0)