The following code in UPlayerInput::GetChordsForKeyMapping is at fault for this:
!(KeyMapping.bAlt || KeyMapping.bCtrl || KeyMapping.bShift || KeyMapping.bCmd || ActionBinding.KeyEvent == EInputEvent::IE_DoubleClick)
This code was originally put in to purposefully allow keys that may not have had their modifiers pressed to be processed because if they were not processed it could block lower priority input keys from components on other frames.
I think that the steps described above would come up more often than the problem that was originally being fixed here (not to mention the code itself is ancient and something may have changed), so it may be worth reconsidering if this is still needed in a modern UE.
This behavior feels incorrect to me since a non-matching binding consumes the event without doing anything, instead of letting a valid matching binding consume the event.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-133181 in the post.
0 |
Component | UE - Gameplay - Input |
---|---|
Affects Versions | 4.25, 5.0 |
Created | Oct 29, 2021 |
---|---|
Updated | May 11, 2022 |