Enable hold_on_other_key_press for thumb keys + increase COMBO_TERM to 50

- 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>
This commit is contained in:
copilot-swe-agent[bot] 2026-04-14 16:30:07 +00:00 committed by GitHub
commit 41de8dfa7b
Failed to generate hash of commit
2 changed files with 27 additions and 4 deletions

View file

@ -12,7 +12,7 @@
// ── Combos ── // ── Combos ──
#define COMBO_COUNT 8 #define COMBO_COUNT 8
#define COMBO_TERM 40 #define COMBO_TERM 50
#define COMBO_ONLY_FROM_LAYER 0 #define COMBO_ONLY_FROM_LAYER 0
// ── OLED (SSD1312 on Keebart Corne Choc Pro) ── // ── OLED (SSD1312 on Keebart Corne Choc Pro) ──

View file

@ -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) { bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
switch (keycode) { switch (keycode) {
case ESC_L2: case ESC_L2:
case MIN_L1: case MIN_L1:
case GU_BSP:
case GU_SPC:
case CT_GRV:
case CT_BSL:
case AL_DEL:
case AL_ENT:
return true; return true;
default: default:
return false; 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) { 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 // ── Per-key retro tapping — disabled to prevent unintended tap action