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
This commit is contained in:
Drashna Jaelre 2019-05-16 10:28:06 -07:00 committed by MechMerlin
parent 5a8e387b77
commit 48b01446ba
2 changed files with 11 additions and 1 deletions

View File

@ -171,6 +171,8 @@ If you define these options you will enable the associated feature, which may in
* how long for the Combo keys to be detected. Defaults to `TAPPING_TERM` if not defined. * how long for the Combo keys to be detected. Defaults to `TAPPING_TERM` if not defined.
* `#define TAP_CODE_DELAY 100` * `#define TAP_CODE_DELAY 100`
* 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. * 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.
* `#define TAP_HOLD_CAPS_DELAY 200`
* 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.
## RGB Light Configuration ## RGB Light Configuration

View File

@ -44,6 +44,9 @@ int retro_tapping_counter = 0;
#include <fauxclicky.h> #include <fauxclicky.h>
#endif #endif
#ifndef TAP_HOLD_CAPS_DELAY
# define TAP_HOLD_CAPS_DELAY 200
#endif
/** \brief Called to execute an action. /** \brief Called to execute an action.
* *
* FIXME: Needs documentation. * FIXME: Needs documentation.
@ -518,7 +521,7 @@ void process_action(keyrecord_t *record, action_t action)
if (tap_count > 0) { if (tap_count > 0) {
dprint("KEYMAP_TAP_KEY: Tap: unregister_code\n"); dprint("KEYMAP_TAP_KEY: Tap: unregister_code\n");
if (action.layer_tap.code == KC_CAPS) { if (action.layer_tap.code == KC_CAPS) {
wait_ms(80); wait_ms(TAP_HOLD_CAPS_DELAY);
} }
unregister_code(action.layer_tap.code); unregister_code(action.layer_tap.code);
} else { } else {
@ -853,8 +856,13 @@ void unregister_code(uint8_t code)
*/ */
void tap_code(uint8_t code) { void tap_code(uint8_t code) {
register_code(code); register_code(code);
if (code == KC_CAPS) {
wait_ms(TAP_HOLD_CAPS_DELAY);
}
#if TAP_CODE_DELAY > 0 #if TAP_CODE_DELAY > 0
else {
wait_ms(TAP_CODE_DELAY); wait_ms(TAP_CODE_DELAY);
}
#endif #endif
unregister_code(code); unregister_code(code);
} }