diff options
author | the lemons <citrons@mondecitronne.com> | 2022-08-21 20:48:11 -0500 |
---|---|---|
committer | the lemons <citrons@mondecitronne.com> | 2022-08-21 20:48:11 -0500 |
commit | 1cc04a1acb13d502e14f8dcbec04772fe2e58a91 (patch) | |
tree | c154782b6fabee4d0b25471e590f4a09442ca36e | |
parent | e3a45db9da687eb9a0a795d77c9363dc4852b3ef (diff) |
release the mouse when the user presses alt+tab
-rw-r--r-- | main.lua | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -36,6 +36,7 @@ end local to_draw local events = {} +local handlers = {} local function event(name) love[name] = function(...) @@ -46,6 +47,11 @@ end function love.update(dt) to_draw = {} physics.world:update(dt, 20, 20) + for _, e in ipairs(events) do + if handlers[e.type] then + handlers[e.type](unpack(e)) + end + end for o in pairs(game.all_objects) do for _, e in ipairs(events) do if o[e.type] then @@ -74,3 +80,14 @@ event "mousepressed" event "mousereleased" event "keypressed" event "keyreleased" + +function handlers.keypressed(key) + if key == 'tab' and + (love.keyboard.isDown 'ralt' or love.keyboard.isDown 'lalt') then + love.mouse.setRelativeMode(false) + end +end + +function handlers.mousepressed() + love.mouse.setRelativeMode(true) +end |