From 41de8dfa7b531aeda5c2de4afd06128783618193 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 14 Apr 2026 16:30:07 +0000 Subject: [PATCH] Enable hold_on_other_key_press for thumb keys + increase COMBO_TERM to 50 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - hold_on_other_key_press for thumb mod-tap keys (GU_BSP, GU_SPC, CT_GRV, AL_DEL, AL_ENT, CT_BSL): shortcuts like CMD+Z, CMD+SHIFT+V resolve immediately when the next key is pressed. RPI guard still prevents accidental modifier activation during fast typing. - permissive_hold also enabled for thumb keys as backup for nested taps. - COMBO_TERM 40 → 50: slightly more forgiving combo activation window without triggering on fast typing. Agent-Logs-Url: https://github.com/timfee/qmk_userspace/sessions/a215aefa-1750-491a-8a85-8745466bb539 Co-authored-by: timfee <3246342+timfee@users.noreply.github.com> --- users/timfee/config.h | 2 +- users/timfee/timfee.c | 29 ++++++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/users/timfee/config.h b/users/timfee/config.h index 77c211ee..fdc6a6ce 100644 --- a/users/timfee/config.h +++ b/users/timfee/config.h @@ -12,7 +12,7 @@ // ── Combos ── #define COMBO_COUNT 8 -#define COMBO_TERM 40 +#define COMBO_TERM 50 #define COMBO_ONLY_FROM_LAYER 0 // ── OLED (SSD1312 on Keebart Corne Choc Pro) ── diff --git a/users/timfee/timfee.c b/users/timfee/timfee.c index 56808e29..5094cc02 100644 --- a/users/timfee/timfee.c +++ b/users/timfee/timfee.c @@ -300,20 +300,43 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { } } -// ── Per-key permissive hold (pinky layer-taps only) ── +// ── Per-key permissive hold ── +// Layer-taps (pinky keys) and thumb mod-taps benefit from permissive +// hold: a nested tap (press+release another key within the hold) +// immediately selects the hold action. bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case ESC_L2: case MIN_L1: + case GU_BSP: + case GU_SPC: + case CT_GRV: + case CT_BSL: + case AL_DEL: + case AL_ENT: return true; default: return false; } } -// ── Per-key hold on other key press — disabled for all keys ── +// ── Per-key hold on other key press ── +// Enabled for thumb mod-tap keys so shortcuts like CMD+Z, CMD+SHIFT+V +// resolve immediately when the next key is pressed (no need to wait for +// tapping_term to expire). The RPI guard in pre_process_record_user +// still prevents accidental modifier activation during fast typing. bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { - return false; + switch (keycode) { + case GU_BSP: + case GU_SPC: + case CT_GRV: + case CT_BSL: + case AL_DEL: + case AL_ENT: + return true; + default: + return false; + } } // ── Per-key retro tapping — disabled to prevent unintended tap action