I’m trying to set up some input mappings with slightly more complex control schemes and have run into a bit of a snag for how best to approach it. The use case would be something like having one set of gamepad facebutton actions normally, and then a different set of actions with the right shoulder RB button held down - and then doing the same thing for keyboard mappings.
The cleanest way would be to use the concept of modifiers, define one action for ‘face button lower’ and one for ‘face button lower’ + RB modifier, but this doesn’t seem to be a supported concept. Even the concept of an FInputChord is hardcoded to only deal with Shift,Ctrl,Alt,Cmd buttons. I’ve found a couple examples in blueprints of people hacking this concept into being by setting bools and timers, and one person tantalizingly made mention of this being ‘easier in C++’ but I haven’t found any C++ examples.
The only thing I can see that’s drastically different in C++ vs blueprint is that the binding can be split up instead of just using BindAction directly, but I can’t quite see how that helps me in this case. The only obvious thing I can see to do is to bind something to RB, and that function I unbind then rebind all the facebuttons to something different. While I can see that working, it doesn’t feel right.
I hope I’m missing something - am I?