summaryrefslogtreecommitdiff
path: root/users/gourdo1/custom_double_taps.h
diff options
context:
space:
mode:
Diffstat (limited to 'users/gourdo1/custom_double_taps.h')
-rw-r--r--users/gourdo1/custom_double_taps.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/users/gourdo1/custom_double_taps.h b/users/gourdo1/custom_double_taps.h
index 4f551e1fa1..fe97b8cd1f 100644
--- a/users/gourdo1/custom_double_taps.h
+++ b/users/gourdo1/custom_double_taps.h
@@ -71,3 +71,31 @@ static bool process_esc_to_base(uint16_t keycode, keyrecord_t * record) {
}
return true;
}
+
+static bool process_lsft_for_caps(uint16_t keycode, keyrecord_t * record) {
+ static bool tapped = false;
+ static uint16_t tap_timer = 0;
+
+ if (keycode == KC_LSFT) {
+ if (user_config.double_tap_shift_for_capslock) {
+ if (!keymap_config.no_gui) {
+ if (record->event.pressed) {
+ if (tapped && !timer_expired(record->event.time, tap_timer)) {
+ // The key was double tapped.
+ //clear_mods(); // If needed, clear the mods.
+ // Do something interesting...
+ register_code(KC_CAPS);
+ }
+ tapped = true;
+ tap_timer = record->event.time + TAPPING_TERM;
+ } else {
+ unregister_code(KC_CAPS);
+ }
+ }
+ }
+ } else {
+ // On an event with any other key, reset the double tap state.
+ tapped = false;
+ }
+ return true;
+}