-
-
Notifications
You must be signed in to change notification settings - Fork 42.4k
Add GET_TAPPING_TERM macro to reduce duplicate code #16681
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add GET_TAPPING_TERM macro to reduce duplicate code #16681
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me and I didn't notice any firmware size regressions when checking out this PR. In fact, compiling a keymap with AUTO_SHIFT_ENABLE like qmk compile -kb nacly/splitreus62 -km scheiklp for example actually produced a smaller binary, so that's nice.
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 qmk#16472.
92b9853 to
9a74764
Compare
|
I added a mention of the macro to the documentation. @drashna: The new macro could replace |
|
Very nice, I found one other place that would benefit from the usage of this macro, it is the cirque trackpoint driver in quantum. Could you add the simplification for https://github.com/qmk/qmk_firmware/blob/develop/quantum/pointing_device_drivers.c#L100-L115 The else branch in in this condition in the cirque driver doesn't make any sense as # ifdef TAPPING_TERM
# define CIRQUE_PINNACLE_TAPPING_TERM TAPPING_TERM
# else
# define CIRQUE_PINNACLE_TAPPING_TERM 200
# endif |
That looks similar to, but a litttle more complex than the Drashna pointing code. Unfortunately, I'm away from a decent computer for the coming week. Feel free to pile up a commit that takes care of those two pointer usages. Otherwise, I can do it at the end of next week at the earliest. |
|
@joukewitteveen done! @drashna and @precondition please review and feel free to merge if ok. |
* 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 qmk#16472. * Use GET_TAPPING_TERM for Cirque trackpads Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
- remove old capsword feature - upgrade tapping term to new macro - add new capword References - https://getreuer.info/posts/keyboards/caps-word/index.html - qmk#16681 (comment) - https://docs.qmk.fm/#/feature_caps_word
- remove old capsword feature - upgrade tapping term to new macro - add new capword References - https://getreuer.info/posts/keyboards/caps-word/index.html - qmk#16681 (comment) - https://docs.qmk.fm/#/feature_caps_word
- remove old capsword feature - upgrade tapping term to new macro - add new capword References - https://getreuer.info/posts/keyboards/caps-word/index.html - qmk#16681 (comment) - https://docs.qmk.fm/#/feature_caps_word
- remove old capsword feature - upgrade tapping term to new macro - add new capword References - https://getreuer.info/posts/keyboards/caps-word/index.html - qmk#16681 (comment) - https://docs.qmk.fm/#/feature_caps_word
- remove old capsword feature - upgrade tapping term to new macro - add new capword References - https://getreuer.info/posts/keyboards/caps-word/index.html - qmk#16681 (comment) - https://docs.qmk.fm/#/feature_caps_word
- remove old capsword feature - upgrade tapping term to new macro - add new capword References - https://getreuer.info/posts/keyboards/caps-word/index.html - qmk#16681 (comment) - https://docs.qmk.fm/#/feature_caps_word
- remove old capsword feature - upgrade tapping term to new macro - add new capword References - https://getreuer.info/posts/keyboards/caps-word/index.html - qmk#16681 (comment) - https://docs.qmk.fm/#/feature_caps_word
- remove old capsword feature - upgrade tapping term to new macro - add new capword References - https://getreuer.info/posts/keyboards/caps-word/index.html - qmk#16681 (comment) - https://docs.qmk.fm/#/feature_caps_word
- remove old capsword feature - upgrade tapping term to new macro - add new capword References - https://getreuer.info/posts/keyboards/caps-word/index.html - qmk#16681 (comment) - https://docs.qmk.fm/#/feature_caps_word
- remove old capsword feature - upgrade tapping term to new macro - add new capword References - https://getreuer.info/posts/keyboards/caps-word/index.html - qmk#16681 (comment) - https://docs.qmk.fm/#/feature_caps_word
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.
Description
The time when
TAPPING_TERMwas the tapping term is over. Per-key and dynamic tapping terms are possible now. This makes using the correct tapping term tricky and it requires some preprocessor-fu. Let's abstract all of that away in aGET_TAPPING_TERMmacro modeled after theget_tapping_termfunction. Using this macro instead ofTAPPING_TERMwill produce the optimal and correct code for getting the tapping term.Types of Changes
Issues Fixed or Closed by This PR
Checklist