aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2019-05-16 10:28:06 -0700
committerMechMerlin <30334081+mechmerlin@users.noreply.github.com>2019-05-16 10:28:06 -0700
commit48b01446ba6b74d7e0793f972873a10fceef2f62 (patch)
tree5760314047ad0b88ee0104d2cbd7f3f2f8c11b06
parent5a8e387b774f9af6932a61ce17d5e762b141d884 (diff)
downloadqmk_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.md2
-rw-r--r--tmk_core/common/action.c10
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 */
854void tap_code(uint8_t code) { 857void 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}