Just adding this is still an issue in version 3.346 of the app (as of 4/22/2020)
Same thing happened in a different app now... Oracle SQL Studio, although I'm pretty sure it has nothing to do with the app.
Again, as an example, I'm trying to use BTT to change inputting END on my keyboard to move to the end of the line as opposed to its default behavior of going to the end of the document. This is easy enough to achieve... set up a keyboard shortcut for END that sends CMD-RIGHT to the app instead. Simple. Works like a charm.
I also want to map CMD-END to go to the end of the document, again like windows. Since the application normally listens for END for that, I think no biggie... just map CMD-END to END.
BUT... this of course doesn't work because CMD-END maps to END which recursively triggers the one above that maps END to CMD-RIGHT so the app actually receives CMD-RIGHT, not END as I expected.
'Prevent recursive triggers' is supposed to address this, so I enable it on my CMD-END -> END trigger, and it works... for the first key-press only. If I press CMD-END a second time, the app now receives CMD-END as if the trigger didn't exist.
Worse, even the original trigger for END now stops working as well.
ALL triggers are now disabled and stay that way until I switch to a different app, then back again.
What I would expect is that the recursive triggers would only block for that specific trigger, meaning whatever output they generate gets sent to the app. Completely guessing as I don't know your inner-workings, I'm speculating you turn off all key shortcut detections, but you're not re-enabling them after you've sent out the initial key mapping. Thus, the next key press, and all future presses, are ignored until you switch away to a different app, then back again, which of course 'resets' BTT since there was an app switch, thus re-enabling the triggers.
Again, purely a guess, but it can't be that far off.
BTW, I tried a work-around which was to set the triggers to only fire if they are coming from the specific keyboard they were generated from, thinking the shortcuts BTT remaps to would becoming from BTT, not my keyboard, thus that condition would fail and it wouldn't recursively trigger, but that didn't work. Don't know if it's because the output trigger was also recorded on that keyboard so when played back it does look like it's coming from the keyboard even though it's actually coming from BTT. I didn't want to dig out an old keyboard to see if that was the case, but I will if you want me to.
Anyway, happy to hop on Skype, Zoom or anything else to show you this first-hand if it would help. May be better to see it in action if this doesn't make any sense.
I even have an app called KeyCodes that visually shows you what keys are being received by the app that can help diagnose this more.
Please address this though. This would let us fix keyboard mappings in any application to be the way we want.