Recently needed this, and for a legitimate use, but Godot doesn't seems to offer it. It would be awesome to be able to simulate mouse/key presses and its combinations (Ctrl+C).
I don't like this idea at all. I can't see any reason for a game to send keypresses to the OS. This can be made as a custom module.
Really? So you think that the sole purpose of Godot is making games? Check this out. I would do it but I don't know C++.
Godot _is_ a game making engine. Of course it can be used for other purposes too but if we keep adding and maintaining features outside of this scope, the development will lose focus which will make Godot become less useful in the area it proposes: making games.
Of course, as an open source software, every one is free to propose ideas and code. But who will fix the bugs that might come eventually?
Really? So you think that the sole purpose of Godot is making games? Check this out. I would do it but I don't know C++.
BTW, you could use FileDialog to load and save files instead of relying on a PNG file with a non-changeable name and calling it a limitation of Godot ;)
I know. But then I would have to do a saving and loading interface. I tried using the one Godot provided but for some reason it doesn't show up. That's the limitation I was talking about. Anyways you can't say Godot is a game making engine. When Santos Dumont created the airplane his intention wasn't to create a war machine, but it happened anyways. The fact is this: As Godot become bigger, it'll draw attention from the people who wants to make a software and be able to deploy it on every OS. After all, it's the only engine out there that is completely free and able to deploy to almost every OS, with lots of powerful resources.
Yeah, but your Santos Dumont did not put bombs in the belly of his aircrafts himself. So feel free to modify Godot into an all-purpose cross-platform engine, but our focus will always stay on providing tools to make _games_.
Regarding the FileDialog, just add one to your game and use get_node("FileDialog").popup() when you want it to show...
As Godot become bigger, it'll draw attention from the people who wants to make a software and be able to deploy it on every OS. After all, it's the only engine out there that is completely free and able to deploy to almost every OS, with lots of powerful resources.
Then they're abusing the product for something it was not created for and have to live with the consequences... Like wasting lots of cpu-cycles to keep a game-loop running at 60 fps, when the app wouldn't need it.
Always pick the right tool for the job, you wouldn't use a screwdriver for putting nails in your wall, right? :P
Also there _are_ free toolkits for general-purpose applications which are able to deploy anywhere.
Qt + qml for instance, it's incredibly powerful and also has much better docs and resources than what Godot currently provides.
But as @akien-mga said, noone is stopping anyone from adding the things they need, that's the purpose of open-source :)
Okay then... ¯\_(ツ)_/¯
Closing then, as there is a clear consensus from the developers who commented so far that we don't want to implement such a feature in the main tree.
Oh, and BTW, if anyone ends up here trying to simulate an InputEvent inside the Godot window, this is possible via MainLoop::input_event()
Most helpful comment
I don't like this idea at all. I can't see any reason for a game to send keypresses to the OS. This can be made as a custom module.