summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Didron <fdidron@users.noreply.github.com>2019-05-20 15:55:10 +0900
committerGitHub <noreply@github.com>2019-05-20 15:55:10 +0900
commit0315ef645b069b19bbd48e70504326a1ec3c8cef (patch)
treeffa57d32c7160701bde762f2647937b0314bc44c
parent20218bebf54ddb429360a462229c7548f09fd3bc (diff)
parent680c966e8ef139de377c6e34ae85b87b7f78da2d (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.md1
-rw-r--r--tmk_core/common/action.c10
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);
}