diff options
Diffstat (limited to 'tmk_core/common/action.c')
| -rw-r--r-- | tmk_core/common/action.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c index d4d4ac28d..bb4e66c9c 100644 --- a/tmk_core/common/action.c +++ b/tmk_core/common/action.c | |||
| @@ -44,6 +44,9 @@ int retro_tapping_counter = 0; | |||
| 44 | #include <fauxclicky.h> | 44 | #include <fauxclicky.h> |
| 45 | #endif | 45 | #endif |
| 46 | 46 | ||
| 47 | #ifndef TAP_HOLD_CAPS_DELAY | ||
| 48 | # define TAP_HOLD_CAPS_DELAY 200 | ||
| 49 | #endif | ||
| 47 | /** \brief Called to execute an action. | 50 | /** \brief Called to execute an action. |
| 48 | * | 51 | * |
| 49 | * FIXME: Needs documentation. | 52 | * FIXME: Needs documentation. |
| @@ -518,7 +521,7 @@ void process_action(keyrecord_t *record, action_t action) | |||
| 518 | if (tap_count > 0) { | 521 | if (tap_count > 0) { |
| 519 | dprint("KEYMAP_TAP_KEY: Tap: unregister_code\n"); | 522 | dprint("KEYMAP_TAP_KEY: Tap: unregister_code\n"); |
| 520 | if (action.layer_tap.code == KC_CAPS) { | 523 | if (action.layer_tap.code == KC_CAPS) { |
| 521 | wait_ms(80); | 524 | wait_ms(TAP_HOLD_CAPS_DELAY); |
| 522 | } | 525 | } |
| 523 | unregister_code(action.layer_tap.code); | 526 | unregister_code(action.layer_tap.code); |
| 524 | } else { | 527 | } else { |
| @@ -853,8 +856,13 @@ void unregister_code(uint8_t code) | |||
| 853 | */ | 856 | */ |
| 854 | void tap_code(uint8_t code) { | 857 | void tap_code(uint8_t code) { |
| 855 | register_code(code); | 858 | register_code(code); |
| 859 | if (code == KC_CAPS) { | ||
| 860 | wait_ms(TAP_HOLD_CAPS_DELAY); | ||
| 861 | } | ||
| 856 | #if TAP_CODE_DELAY > 0 | 862 | #if TAP_CODE_DELAY > 0 |
| 863 | else { | ||
| 857 | wait_ms(TAP_CODE_DELAY); | 864 | wait_ms(TAP_CODE_DELAY); |
| 865 | } | ||
| 858 | #endif | 866 | #endif |
| 859 | unregister_code(code); | 867 | unregister_code(code); |
| 860 | } | 868 | } |
