diff options
| author | Drashna Jaelre <drashna@live.com> | 2019-05-16 10:28:06 -0700 |
|---|---|---|
| committer | MechMerlin <30334081+mechmerlin@users.noreply.github.com> | 2019-05-16 10:28:06 -0700 |
| commit | 48b01446ba6b74d7e0793f972873a10fceef2f62 (patch) | |
| tree | 5760314047ad0b88ee0104d2cbd7f3f2f8c11b06 | |
| parent | 5a8e387b774f9af6932a61ce17d5e762b141d884 (diff) | |
| download | qmk_firmware-48b01446ba6b74d7e0793f972873a10fceef2f62.tar.gz qmk_firmware-48b01446ba6b74d7e0793f972873a10fceef2f62.zip | |
Make delay for Capslock in Hold-Tap functions configurable (#5497)
* Increase delay for Hold-Tap register for CAPSLOCK
Because it seems that the 80ms delay wasn't too much
* Screw it, make the caps delay a define and make it configurable
| -rw-r--r-- | docs/config_options.md | 2 | ||||
| -rw-r--r-- | tmk_core/common/action.c | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/docs/config_options.md b/docs/config_options.md index 3ef00394d..cab3c0747 100644 --- a/docs/config_options.md +++ b/docs/config_options.md | |||
| @@ -171,6 +171,8 @@ If you define these options you will enable the associated feature, which may in | |||
| 171 | * how long for the Combo keys to be detected. Defaults to `TAPPING_TERM` if not defined. | 171 | * how long for the Combo keys to be detected. Defaults to `TAPPING_TERM` if not defined. |
| 172 | * `#define TAP_CODE_DELAY 100` | 172 | * `#define TAP_CODE_DELAY 100` |
| 173 | * Sets the delay between `register_code` and `unregister_code`, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. | 173 | * Sets the delay between `register_code` and `unregister_code`, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds. |
| 174 | * `#define TAP_HOLD_CAPS_DELAY 200` | ||
| 175 | * Sets the delay for Tap Hold keys (`LT`, `MT`) when using `KC_CAPSLOCK` keycode, as this has some special handling on MacOS. The value is in milliseconds, and defaults to 200ms if not defined. | ||
| 174 | 176 | ||
| 175 | ## RGB Light Configuration | 177 | ## RGB Light Configuration |
| 176 | 178 | ||
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 | } |
