-
-
Notifications
You must be signed in to change notification settings - Fork 39.8k
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
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. |
* qmk/develop: (163 commits) Expose API for hardware unique ID (qmk#16869) [Keyboard] Add CrimsonKeyboards' Resume1800 (qmk#16842) [Keyboard] sandbox - fix keymaps (qmk#16873) [Keyboard] Add deskpad (qmk#15602) Fix one-shot locked modifiers (qmk#16114) Ploopy Trackball Mini: only define DPI options as needed (qmk#16160) [Keyboard] Add the Ciel (qmk#16816) [Keyboard] Add digicarpice (qmk#16791) [Keyboard] SharkPCB release Beta compatibility (qmk#16713) Add customizable snake and knight animation increments (qmk#16337) [Keyboard] Add sandbox keyboard (qmk#16021) Anne Pro 2 Refactor (qmk#16864) Refine LED indicator documentation (qmk#16304) Fix qmk#16859. (qmk#16865) [QP] Check BPP capabilities before loading the palette (qmk#16863) rgblight: Add functions to stop blinking one or all but one layer (qmk#16859) Heatmap incorrect matrix effect workaround (qmk#16315) [Keyboard] Add Phase One keyboard (qmk#16430) Fix Xorg segfault with KeebCats PCBs (qmk#16434) Add GET_TAPPING_TERM macro to reduce duplicate code (qmk#16681) ...
* 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
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_TERM
was 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_TERM
macro modeled after theget_tapping_term
function. Using this macro instead ofTAPPING_TERM
will produce the optimal and correct code for getting the tapping term.Types of Changes
Issues Fixed or Closed by This PR
Checklist