From 077e3a0badd1606d5d6db596e980e1842fece980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Struckmeier?= Date: Tue, 14 Jan 2025 18:45:55 +0100 Subject: [PATCH] Disable repeat on SPC, add repeat key instead --- README.md | 2 +- users/struckmb/config.h | 1 + users/struckmb/rules.mk | 1 + users/struckmb/struckmb.c | 13 +++++++++++++ users/struckmb/struckmb.h | 4 ++-- 5 files changed, 18 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b808ccce..75236f93 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ All base layers share the same thumb cluster: (If the keyboard only has 2 keys on one side, the outermost key (marked with *) is missing) ``` * * - ⎋ │ ↵ │ ⇥ │ │ ⌫ │Spc│ ⌦ + ⎋ │ ↵ │ ⇥ │ │Rpt│Spc│ ⌦ ───┴─⇧─┴LOW┘ └RSE┴─⇧─┴─── ``` diff --git a/users/struckmb/config.h b/users/struckmb/config.h index 872c0dae..a34449a0 100644 --- a/users/struckmb/config.h +++ b/users/struckmb/config.h @@ -32,6 +32,7 @@ // Tap-hold settings # define TAPPING_TERM 300 # define QUICK_TAP_TERM 175 +# define QUICK_TAP_TERM_PER_KEY # define PERMISSIVE_HOLD # define TAP_CODE_DELAY 20 # define TAPPING_FORCE_HOLD diff --git a/users/struckmb/rules.mk b/users/struckmb/rules.mk index 9d20b412..a41fa7b6 100644 --- a/users/struckmb/rules.mk +++ b/users/struckmb/rules.mk @@ -1,6 +1,7 @@ OS_DETECTION_ENABLE = yes MOUSEKEY_ENABLE = yes CAPS_WORD_ENABLE = yes +REPEAT_KEY_ENABLE = yes # Userspace code SRC += struckmb.c diff --git a/users/struckmb/struckmb.c b/users/struckmb/struckmb.c index e4c3a3d1..982d5b1f 100644 --- a/users/struckmb/struckmb.c +++ b/users/struckmb/struckmb.c @@ -325,6 +325,19 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { true; } +#ifdef QUICK_TAP_TERM +# ifdef QUICK_TAP_TERM_PER_KEY +uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RSFT_T(KC_SPC): + return 0; // no repeat. Was: QUICK_TAP_TERM - 20 + default: + return QUICK_TAP_TERM; + } +} +# endif // QUICK_TAP_TERM_PER_KEY +#endif // QUICK_TAP_TERM + #ifdef CAPS_WORD_ENABLE bool caps_word_press_user(uint16_t keycode) { // adapt caps word to german layout diff --git a/users/struckmb/struckmb.h b/users/struckmb/struckmb.h index 03e4f503..eaf516d1 100644 --- a/users/struckmb/struckmb.h +++ b/users/struckmb/struckmb.h @@ -187,7 +187,7 @@ void symR_reset(tap_dance_state_t *state, void *user_data); #define _ADD_R_3_ KC_RGUI // thumbs #define _0L4_2_ SFT_ENT, LOW_TAB -#define _0L4_3_ KC_ESC, _0L4_2_ +#define _0L4_3_ QK_REP, _0L4_2_ #define _0R4_2_ RSE_BSP, SFT_SPC #define _0R4_3_ _0R4_2_, KC_DEL @@ -371,7 +371,7 @@ void symR_reset(tap_dance_state_t *state, void *user_data); #define _LOWER_3x6_ _LL1_6_, _LR1_6_, _LL2_6_, _LR2_6_, _LL3_6_, _LR3_6_ /* Raise: Control + Navigation layer */ -#define _RL1_5_ KC_ESC, KC_BSPC, KC_UP, KC_DEL, KC_PGUP +#define _RL1_5_ KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_ESC #define _RL2_5_ KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END #define _RL3_5_ KC_INS, KC_CUT, KC_COPY, KC_PSTE, KC_PGDN #define _RR1_5_ KC_MPRV, KC_MSTP, KC_MPLY, OSM_AGR, KC_MNXT