I've already worked out all of the kinks after a few dozen hours, thankfully.
I also have the solution for you. The major problems arise when more than one screen is displayed.
Example:
MainScreen - Has key button action (Action) setup for most controller/keyboard/mouse input.
Then, while MainScreen is shown, I call another screen.
The controls don't work properly for the new screen while MainScreen is shown. Right now, it's actually unpredictable. It breaks worse if you call the other screen while holding the joystick or pressing the dpad in any direction. You have to press the button to call the new screen without touching the joystick or dpad.
The solution is for the engine, internally, to ignore all controls for MainScreen while the new screen is called
ONLY IF MODAL IS TRUE.
Modal True should be telling the engine that this new screen takes priority over all other screens and it is not working that way in the context of controller support.
If the new screen could be treated as if nothing else exists (only while modal is true, because MainScreen functions with about 10-20 other screens at the same time, this only has to work for screens where Modal is true), then it would entirely solve the problem, at least, 90% of the problems that I personally experienced while adding Full Controller support to my game.
This solution I have provided actually works for 99% of the issues I had to find other ways of working around. The other 1%, I had to code my whole gameplay a 2nd time in a method that works exclusively for controller, but that was already to be expected as the current method revolved around mouse too much.
On a side note, it would also be helpful to have a new focus keyword for buttons, to be able to force the engine to target certain focusable buttons (like default_focus, but one that actually works because default_focus is very faulty and not reliable possibly due to what I described above).
And, more importantly, a new screen action so we can manually define a button to change focus (i.e. we need the ability to call focus_left, focus_right, etc. via screen actions)...this screen action would allow the player to just press left/right whenever the game breaks and it would have been a huge solution that would have saved me roughly 26 labor hours.
I hope this info helps.
I'm disappointed that there are more important things on your list, as these are not so much features I am requesting but workarounds to critical bugs that should be addressed immediately IMHO, but since I was able to work around them myself it doesn't really affect me anymore. I just feel bad for anyone else who will have to go through the horror I experienced this week. In any case, I've provided all the info I can, if you need more just let me know (you can reach me on Twitter fastest).
(And thanks for your reply ^^)
EDIT: In case you think I'm crazy, here is a post that described focus functionality being totally broken (from TWO years ago).
https://f95zone.to/threads/unable-to-ge ... ton.16182/
I am still wrestling with the flaws in Ren'Py's controller support because it extends to keyboards (testers found more bugs), after 50 labor hours this week.
As I mentioned before, I rate it 2 out of 10. I don't say that lightly. I sincerely hope you move this to your priority list before more people are affected. I don't think everyone has >50k hours experience coding in over a dozen languages in order to work around these issues themselves the way I've had to do through sheer brute force, trial-and-error, and willpower (and I've almost run out of willpower).
To look at the bright side, though, I had posted regarding protecting the source code of my game thinking someone could just steal and image-swap. I guess all of these workarounds I've had to do will help to prevent that, too, since most people probably won't understand why I coded them in the first place haha. Just waiting on the help to make sure no more bugs surface with keyboard or controller, so I can finally be done with this.