Is it possible to change which player uses which gamepad/keyboard at runtime?

I’m trying to make a local multiplayer game and I reached a logical dead-end when trying to set up keyboard/gamepads for play.

I know its possible to have player 1 on a keyboard and the other players on gamepads or all player on gamepads by skipping assigning gamepad to player 1, but what I’m trying to do is to have a press a key to join system where each player are assigned to the gamepad/keyboard mouse they pressed an input on first.

Is it possible to directly assign gamepad/keyboard mous to a controller/player at runtime?

I forgot about this question, but I essentially came to the same conclusion.

I give the choice of using keyboard or gamepad at startup which then changes a bool variable that redirects input depending on the chosen inpute method to the right player controller.

I never found a way to do this myself in blueprints, but what I did was create a system for rerouting the inputs from one playercontroller to another playercontroller. I had a data structure that keeps track of which player routes to which other player’s functions.

I am sure there is a much better way. I just haven’t found it yet.