Thanks for your replies guys. I think it will be helpful that you’ve mentioned a lot of ways to do this.
You can definitely work around the issue in gdevelop, and this is not something I’m arguing (it’s not at all impossible to use the inputs as they currently are or anything of the sort). You’ve so far mentioned buffered variables and mouse release instead of click, thanks for the tips again.
While both of these might work well, comparing to having to store variables, I would just personally find it easier in some cases to have an action to depress (potentially all) keys on scene load, and let gdevelop handle the input buffers (which it probably does already, in which case it might be easier to add this action, but I’m not sure - this is something that the developer would know). If I need to depress mouse button after opening of a menu, then that’s one more action, but it might still be less actions than variables.
As for using mouse button release, I have considered this, but I’m not sure if this is optimal both for web and android devices. E.g. I’ve tested some games, and some buttons would actually work when you release the touch, but others would work immediately after touching (before you release). On windows, some functions (e.g. some menu’s) activate themselves immediately on mouse key press (before you release it), while others wait for release. Funny thing is that other things activate on release, so you could e.g. click your mouse on “Help” menu within a program, hold the mouse button, and release it on “About”, and it would actually open the “About” dialogue, so you would do two actions (Help + About) with just one mouse click. It’s probably not supposed to work that way, but it does.
Regardless of being able to solve the problem, if gdevelop does have an internal buffer for keypresses (so it doesn’t take too much work for the developer), I would love for some depress actions to exist (depress all inputs, and depress specific input), to make some things simpler. We need to manage buffers in Javascript ourselves with variables, but with this command we wouldn’t necessarily have to do so in gdevelop (depending on usage case).
Another example is the platformer behavior with no special events. Once your character passes from scene 1 to scene 2, you likely won’t immediately depress the keyboard key so he/she will continue running in the 2nd level until you do. This is not necessarily an issue and probably happens in some games and not in other, but I would prefer that you have to physically depress and press the key again before the next scene. This is where a “depress all keys” on scene load would come in handy.