How to determine what controller fires the input

So me and my team are making a local multiplayer game, and we are stuck :(. The problem is that we don’t know how to make a system, where you can press ‘A’ to join the game, since we don’t know how to get the specific controller that fires the input. The current idea is to spawn a player, with the controller that fires the input, if that controller is not already controlling a player.

To do something similar in my game, I had to Add Player but not possess any Pawns.
Then the Player Controller exists and can receive input to select player color etc.

Later if the Player did not take an action i dicating they want to play, then I RemovePlayer.
I realize this approach will not work for you if you are have splitscreen enabled at the time the player joins, because adding a player also adds a screen (unless you override that behavior in C++)