Here are some cases where chorded triggers may evaluate unexpectedly, reported by a user:
- IA has no triggers, IMC mapping contains both Chorded Action trigger and Pressed trigger: everything works fine here, no matter the order
- IA contains Pressed trigger, IMC has a single mapping for that action and contains Chorded Action trigger: everything works fine here too
- IA contains Pressed trigger, IMC has two mappings for an action and only the second mapping contains Chorded Action trigger: everything works fine here because bMappingTriggersApplied is set to 'true' while evaluating the second mapping and not overwritten by anything. This leads to a value contained in TriggerState after IMC mapping trigger evaluation being used for final state calculation (EnhancedPlayerInput.cpp:501 in the latest github build).
- IA contains Pressed trigger, IMC has two mappings for an action and only the first mapping contains Chorded Action trigger: doesn't work because bMappingTriggersApplied is first set to true while evaluating a mapping with Chorded Action but overwritten to false while evaluating the second mapping without a Chorded Action. This leads to the code ignoring the value contained in TriggerState and triggering even when Chorded Action condition is not satisfied.