* Make process_tapping more readable
Move most #ifdefs into conditionally defined macros to make the logic
easier to follow.
* Retain momentary layers until the end of tapping
This allows mod-tap and layer-tap keys on layers to behave as expected.
Bug: https://github.com/qmk/qmk_firmware/issues/17281
* Add tests for delayed mod/layer release while tapping
Mods and layer key release is delayed while tapping is in progress to
ensure that the tap is registered with the modifier state and on the
layer where the key was first pressed.
Signed-off-by: Felix Kuehling <felix.kuehling@gmail.com>
* Add GET_TAPPING_TERM macro to reduce duplicate code
The macro gives the right tapping term depending on whether per-key
tapping terms and/or dynamic tapping terms are enabled. Unnecessary
function calls and variable resolution are avoided.
Fixes#16472.
* Use GET_TAPPING_TERM for Cirque trackpads
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
* New feature: `DYNAMIC_TAPPING_TERM_ENABLE`
3 new quantum keys to configure the tapping term on the fly.
* Replace sprintf call in tapping_term_report by get_u16_str
* Replace tab with 4 spaces
* Revert "Short term bodge for firmware size bloat (#14144)"
This reverts commit a8d6547346.
* Revert "Tidy up quantum.c now some of tmk_core has been merged (#14083)"
This reverts commit c4dbf4bf01.