Hopefully this is the last time I have to implement the backend for this - I’m going to reuse the code for this from now on. (The display, however, could definitely use some work.)
You don’t have to go through the same ordeal. Get the source code from my Codeberg repo - it’s MIT licensed and GenAI-free.
You can also follow the plugin development on my:
Mastodon
Bluesky
So Godot STILL doesn’t let you treat the InputMap.Actions as an editable array? Why? I remember suffering like hell to allow players to have main buttons, secondary buttons + gamepad rebindable keybinds, all because I couldn’t simply do something like
InputMap.set_action("action_jump", 1) = "whatever"I don’t know about Godot (I could be missing this feature if they added it) but I sure as hell can let you do that. I’m already storing the events as an array in the config file, after all.
In fact, I’m going to implement this option right now (at least the under-the-hood part, will make an UI for it later).
Edit: Done. Hopefully it helps someone other than me
Thanks for sharing the source. Two small things I noticed reading settings_handler.gd. CONFIG_FILE points at res://config/config.ini, and res:// is read-only in exported builds, so saving rebinds would probably fail outside the editor. user:// would be safer. Also, storing mute as a negative volume means a volume of 0 reads back as muted, which might be what you want, but worth knowing. The regex skip and include lists for leaving out the ui_ actions are a neat touch.



