How to combine Chord and Pulse with Enhanced Input?

I’ve been experimenting with the Enhanced Input functionality, and for the most part it seems to solve a lot of complicated input scenarios I was encountering. However, a common scenario I have is needing to have a button periodically repeat when held down (handled by the Pulse trigger), and ALSO having a chorded input, which I can’t get to work.

So what I WANT to have happen is to have a button trigger an event continuously when held down. Easy. When a SECOND button is held down (chorded), I want to trigger a DIFFERENT event, but pulse every half second. That doesn’t seem to work. I get Event B trigger, then .5 seconds of continuous Event A triggering, then Event B again at the .5 mark, then .5 seconds of continuous Event A, etc.

Based on digging into the c++ code for enhanced input, I THINK what is happening is that the chord trigger on event B is only adding a Chord Blocker while both the Chord and Pulse are firing (so, every .5 seconds), so event A can fire every time it’s NOT a pulse for event B. I WANT the chord to block event A any time the chord button is held down.

Is there a way to achieve this? (Ideally without writing a lot of C++ code. I’m comfortable with C++, but it looks like I’d have to change some plugin code instead of just implementing a new trigger, since the logic for auto creating the chord blockers looks at the class of the trigger, and Chorded triggers don’t inherit from the Timed trigger base (which is what Pulse is based on), so it’s not trivial to create a trigger than acts as both as a chord and pulse in one trigger.)

Steps to Reproduce:
Enable Enhanced input.
Create a Test1 input action with default settings.
Create a Test2 input action with default settings.
Create a ChordTest input action with default settings.

Create an Input Context using the above input actions.
Set a Keybind for Test 1.
Set a Keybind for Test2.
Set a Keybind for ChordTest.
Add a Pulse Trigger to Test2 (.5 second duration)
Add a Chord Trigger to Test2 (ChordTest as ChordAction)

Wire up Test1 and Test2 events in your controller to just print the event name to the screen, or log, or whatever. (obviously you need to add your input mapping context created above somewhere as well, I’m using my controller’s on possess but I guess being play would work fine too.)

I’m able to get around this by basically writing my own chording logic in blueprints, but that’s obviously not ideal. Any suggestions for how to get this working in as close to an “out of the box” way would be helpful.