TriggerPressed/Released doesn't follow propogation expectations.
LumpBloom7 opened this issue · 0 comments
Relevant discord thread: https://discord.com/channels/188630481301012481/589331078574112768/1167049871199584306
The RulesetInputManager sends replay actions via KeyBindingContainer.TriggerPressed/TriggerReleased
.
KeyBindingContainer.TriggerPressed/Released
doesn't go through the handleNewPressed/handleNewReleased
flow (where the inputQueue used is trimmed as needed); Instead TriggerPressed/Released
will create a completely new queue, which includes all drawables present in the hierarchy, so all active drawables get the released event (since there is nothing to stop propogation like PropogationPressed
), while drawables that handled OnPressed
doesn't affect the input queues used by handleNewPressed/Released
This also has an impact on touch input handling, as on screen touch receptors used by osu rulesets utilize the trigger methods as well, which may be mixed with physical key presses (in the case of sentakki)