As a little update for y'all I'm still working on the input mapping/binding.
1. As for now, I have already created a module which allows to rebind keys to the user's desires, this module is available for both the game and mods, each mod needs to create their own input actions and map them to keys/buttons.
2. Keybindings (known as input mappings) are saved in the configuration module without problems
3. The controller is fully compatible!
4. All issues with the old input system has been resolved, the new input system is smooth as fuck! and everything works correctly, whether it is a single key/button or a combination.
5. Added a new method to check whether a key or an input mapping is being released, being released means that the user has pressed down a key/button and just released it.
I encountered a problem with the movement that I just solved today:
I had to implement a new method that "mirrors" the native methods RPG Maker uses to determine the movement (up/down, left/right and whatnot) it was a little pain in the ass to do this since there is not much documentation so I had to spend more time than I wanted in this, the problem was that RPG Maker determines the movement direction using the default keys (directional arrows) and the left stick in controllers (left stick up, down, etc...), so if you mapped the movement to WASD the player won't move.
I managed to replicate this behavior so everything is working as it should but checking the input mappings for movement, so if you map the movement keys to WASD or to the right stick in the controller it works without problems and you are able to move the character.
There are some problems I am currently dealing with:
1. Every window in the game should be adapted to the new input system, this involves modifying all windows that comes with RPG Maker and make them interact with the new module (I'm currently working on this)
2. There are some issues in the configuration scene when setting keybindings, I need to create a window to listen to key/button-strokes and register them (I'm currently working on this)
3. The window (keyboard) input I have created is not compatible with controllers, since it only listen to the keyboard
-> This one is not a huge problem, I will need to do something about this before v1.0, but it is not a priority
4. The scene the game uses to change an actor's name is not compatible with the keyboard, and also, more importantly, it only uses latin characters, so it is impossible to rename a character with japanese/chinese characters.
-> Like I said above for point 3, not a priority for me as for now since it is only a test release, but I gotta do something about this later on, so anyone can rename characters with special characters.
Hopefully I can come up with a devlog sooner than later about the new input system.