Open endorphins opened 3 months ago
IIUC, this is likely because Godot's actions don't actually let you query which device is triggering the action, so you can't check it as part of the FrayInputBindAction (here)?
Perhaps my solution is to not register actions, but keep track of button presses per device manually?
I'd like to request better support for local multiplayer. As far as I can tell, it's not possible for me to define fray inputs for a particular device. I see that the FrayController class exists which seems useful for this, but my issue is that any action registered with the FrayInputMap will output for all connected devices, despite being pressed by only a single device.
I've tried specifying separate actions for each player (e.g., "punch_p1" and "punch_p2") to different buttons and different devices, and then binding those actions with the FrayInputMap. However, this still causes the the fray input event to be emitted for both devices.
I think ideally I would be able to define the action once (e.g., "punch"), and then it would only be emitted for the device that pressed the mapped button.
There doesn't seem to be any connection between the device used in the FrayController and the inputs being emitted from FrayInput.input_detected. It's unclear to me if something is wrong with my setup, or the framework doesn't support this use case. Any help would be appreciated.