Comments (3)
You'll run into a bunch of issues if you recreate the window inside an input press event. I recommend doing it on release instead.
from love.
It might also be a good idea to use an event bus, for example:
function love.changescreenmode(width, height)
love.window.setMode(width, height)
end
function love.keypressed(key)
if key == "f" and love.keyboard.isDown("lctrl") then
love.event.push("changescreenmode", 800, 600)
end
end
The event execution will be delayed until the next frame, so you can collect everything what you need in current.
from love.
I think SDL assumes that all keys/buttons are in an unpressed state when it creates a window because any keypress that happened prior to the window being created is considered to be outside the scope or "jurisdiction" of the window. The input event system ignores keypresses and mouse clicks that happen outside the window and the isDown() states need to correspond with the events received. However, in the case of subsequent windows being created (such as toggling fullscreen) maybe the handover from one window to another could be handled better because even though it's a new window there is (or should be) continuity in the application.
Something that might not be too difficult to fix: When you hold down a mouse button in relative mode (with grabbed pointer) during a love.window.setMode() call the grab stops functioning and the pointer can leave the confines of the newly created window. I think this can be solved by re-grabbing the new window. I tried this using Win32 API calls and it worked. I'm not sure if this is an issue for Love2D or SDL.
from love.
Related Issues (20)
- LÖVE not rendering HOT 6
- High Point SEO & Marketing
- love.system.getArch() proposal HOT 10
- Mousepressed not working on first click sometimes after window is restored from task bar HOT 2
- integration with zig cc HOT 6
- Joysticks rapidly disconnect and reconnect on 11.5, but not on 11.4 HOT 4
- Both key and scankey has some problems on AZERTY keyboards HOT 4
- "No game" screen in folder with "main.lua" file present HOT 1
- love.data.unpack arg #3 default is no 1 HOT 1
- love.data.hash container output typed for love 12.0 HOT 1
- Request: MeshDrawMode: lines HOT 3
- Request: Add x and y params to filedropped() and directorydropped() event callbacks HOT 3
- Multithreaded job/task system HOT 3
- Request: ability to bind a texture to a shader at specific mipmap level HOT 6
- Request: Love2D Android app ability to import and store .love files in its own directory (similar to iOS version) HOT 6
- Feature request: love.filesystem.newTempFile HOT 7
- Bug: File:read() returns empty string instead of nil when past end of file HOT 2
- Low FPS on certain monitor HOT 6
- love.data.compress causes a segfault on macOS Big Sur (LOVE 11.5) HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from love.