You could create a subclass of PlayerInput with its own section with keybinds in the Input.ini.
If the controls are different based solely on the map/GameInfo, you can make a subclass of your PlayerController, set its
InputClass to your new PlayerInput subclass in defaultproperties, then in your GameInfo you can set
PlayerControllerClass to your new PlayerController type. So that GameInfo will spawn that PlayerController with that PlayerInput type.
If instead you want to swap it at runtime, you can skip creating the PlayerController subclass. You'll have to find and remove the old PlayerInput from you PlayerController's
Interactions array, set your
none, change your
InputClass. After that, you can call InitInputSystem() and it'll reinitialize your input with the new class.