This is a very simple fix to a rather complicated issue. Essentially, hold-taps will "release" (raise) their captured keys before actually telling the event manager they have captured a key. This means the event manager ends up assigning the `last_listener_index` to the hold-tap subscription rather than the combo. So when the combo calls `ZMK_EVENT_RELEASE` it raises after the hold-tap instead of after the combo as the combo code expects. The corresponding test (which fails without this change) has also been added.
1 line
No EOL
28 B
Text
1 line
No EOL
28 B
Text
s/.*hid_listener_keycode_//p |