summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjerryen <Jerry@jerryen.com>2017-05-19 17:24:47 -0700
committerskullydazed <skullydazed@users.noreply.github.com>2017-05-19 17:24:47 -0700
commit9c284786e728a2e8834745d6bb7df0fda4099cf3 (patch)
tree1aec50a62f6ca0554b284338c69d2f4502f00f61
parent85df6873487000583454657fb20ac7cea7194f8d (diff)
Workaround for the macOS caps lock delay (#1308)
* Add 80ms delay for KC_CAPS when used as a tap key Workaround for the macOS caps lock delay * Revert "Increase TAPPING_TERM for the Clueboard" This reverts commit a74e69e9fa889113ee31fbc8dc7e6848fdb07576.
-rw-r--r--keyboards/clueboard/config.h10
-rw-r--r--tmk_core/common/action.c4
2 files changed, 4 insertions, 10 deletions
diff --git a/keyboards/clueboard/config.h b/keyboards/clueboard/config.h
index 3817062777..ad68323856 100644
--- a/keyboards/clueboard/config.h
+++ b/keyboards/clueboard/config.h
@@ -42,16 +42,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)
-/* How long a "key tap" is. Used in functions like LT() and macros to determine
- * how long QMK "holds down" a tapped key.
- *
- * If you are macOS this should be at least 500ms to avoid macOS's accidental
- * Caps Lock activation prevention measures, as noted by /u/JerryEn here:
- *
- * https://www.reddit.com/r/clueboard/comments/6bfc2m/lt_not_working_with_caps_lock/dhmbp88/
- */
-#define TAPPING_TERM 600 // ms
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/tmk_core/common/action.c b/tmk_core/common/action.c
index 8640dfab35..a534f818ec 100644
--- a/tmk_core/common/action.c
+++ b/tmk_core/common/action.c
@@ -26,6 +26,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "action_macro.h"
#include "action_util.h"
#include "action.h"
+#include "wait.h"
#ifdef DEBUG_ACTION
#include "debug.h"
@@ -438,6 +439,9 @@ void process_action(keyrecord_t *record, action_t action)
} else {
if (tap_count > 0) {
dprint("KEYMAP_TAP_KEY: Tap: unregister_code\n");
+ if (action.layer_tap.code == KC_CAPS) {
+ wait_ms(80);
+ }
unregister_code(action.layer_tap.code);
} else {
dprint("KEYMAP_TAP_KEY: No tap: Off on release\n");