Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Prevent OS screen-lock or sleep when using a gamepad #145

Open
j-h-a opened this issue Dec 7, 2024 · 1 comment
Open

Comments

@j-h-a
Copy link

j-h-a commented Dec 7, 2024

Description

Most OSes have a screen-lock or sleep feature that activates when the user does not provide input for some time. When using a gamepad the OS does not recognise this input. It would be great to have a single cross-platform function in Defos to prevent this behaviour across macOS, Windows, and Linux.

Proposed solution

Tell the OS not to allow sleeping while the game is active. Co-pilot reckons these OS functions are how to do it:

Implementation research:

The Windows and Linux ones appear to reset the idle timer, whereas the macOS one sets your requested assertion off/on. In order to present a consistent API to defos users, it might make sense to have them call a single function periodically and define a short time (20s or something) that if not called it will turn off the macOS one, and for Windows and Linux it can just pass on the call to reset the idle timer. This way it's the game developer's responsibility to keep calling it periodically while receiving gamepad input, then stop calling it to allow the system to sleep if the user really has gone away.

@j-h-a
Copy link
Author

j-h-a commented Dec 8, 2024

Hrm... I wonder if this is something Defold should do directly, and automatically, rather than in an extension 🤔? It's not something that really should need any developer-interaction, and the engine knows when there are inputs, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant