Hi.
In our game i use a fsm for movement horizontal, a fsm for Climb objects (vertical) and one for buttons.
all 3 have a enable/disable event which i can trigger.
On the button fsm i use Set Fsm Bool to for example jump, roll, attacks fsms.
But the setup is quite complex as there are a lot of movements.
Rewired is a bit intimidating to start with, and you will have to go thru the documentation.
But its very powerful and supports most controllers.