diff options
author | Florian Didron <fdidron@users.noreply.github.com> | 2019-05-20 15:55:10 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-20 15:55:10 +0900 |
commit | 0315ef645b069b19bbd48e70504326a1ec3c8cef (patch) | |
tree | ffa57d32c7160701bde762f2647937b0314bc44c | |
parent | 20218bebf54ddb429360a462229c7548f09fd3bc (diff) | |
parent | 680c966e8ef139de377c6e34ae85b87b7f78da2d (diff) |
Merge pull request #55 from zsa/fix/caps_lock_tap_hold_functions
Make delay for Capslock in Hold-Tap functions configurable (#5497)
-rw-r--r-- | changelog.md | 1 | ||||
-rw-r--r-- | tmk_core/common/action.c | 10 |
2 files changed, 10 insertions, 1 deletions
diff --git a/changelog.md b/changelog.md index af61dd3e64..4ba3c228d6 100644 --- a/changelog.md +++ b/changelog.md @@ -16,6 +16,7 @@ 05-05-2019 - New keycode macro (XP) for shifted character pairs using UNICODEMAP, and bugfixes/improvements 05-05-2019 - Add `LINK_TIME_OPTIMIZATION_ENABLE` to enable LTO and disable problematic features that cause LTO to fail 05-05-2019 - Fix issue with Space Cadet +05-17-2019 - Make delay for Capslock in Hold-Tap functions configurable 05-10-2019 - Split Common i2c Backlight fix 05-06-2019 - More readable fix of Mousekeys issue 05-06-2019 - Changes to Split Common and OLED code diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index d4d4ac28da..bb4e66c9c8 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c @@ -44,6 +44,9 @@ int retro_tapping_counter = 0; #include <fauxclicky.h> #endif +#ifndef TAP_HOLD_CAPS_DELAY +# define TAP_HOLD_CAPS_DELAY 200 +#endif /** \brief Called to execute an action. * * FIXME: Needs documentation. @@ -518,7 +521,7 @@ void process_action(keyrecord_t *record, action_t action) if (tap_count > 0) { dprint("KEYMAP_TAP_KEY: Tap: unregister_code\n"); if (action.layer_tap.code == KC_CAPS) { - wait_ms(80); + wait_ms(TAP_HOLD_CAPS_DELAY); } unregister_code(action.layer_tap.code); } else { @@ -853,8 +856,13 @@ void unregister_code(uint8_t code) */ void tap_code(uint8_t code) { register_code(code); + if (code == KC_CAPS) { + wait_ms(TAP_HOLD_CAPS_DELAY); + } #if TAP_CODE_DELAY > 0 + else { wait_ms(TAP_CODE_DELAY); + } #endif unregister_code(code); } |