Remove layer-tap from Z/Slash; extend RPI to all mod-tap keys; disable hold-on-other-key-press

Agent-Logs-Url: https://github.com/timfee/qmk_userspace/sessions/2a2d454b-14c3-485c-9968-a5297bba60e4

Co-authored-by: timfee <3246342+timfee@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-04-13 20:45:55 +00:00 committed by GitHub
commit 7cb53d85b9
Failed to generate hash of commit
3 changed files with 32 additions and 31 deletions

View file

@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_split_3x6_3( [0] = LAYOUT_split_3x6_3(
ESC_L2, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, MIN_L1, ESC_L2, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, MIN_L1,
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_EQL, KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_EQL,
KC_LSFT, Z_L1, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SL_L2, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT,
CT_GRV, AL_DEL, GU_BSP, GU_SPC, AL_ENT, CT_BSL CT_GRV, AL_DEL, GU_BSP, GU_SPC, AL_ENT, CT_BSL
), ),

View file

@ -15,8 +15,8 @@ const uint16_t PROGMEM lbkt_combo[] = {KC_F, KC_G, COMBO_END};
const uint16_t PROGMEM rbkt_combo[] = {KC_H, KC_J, COMBO_END}; const uint16_t PROGMEM rbkt_combo[] = {KC_H, KC_J, COMBO_END};
const uint16_t PROGMEM lbrace_combo[] = {KC_V, KC_B, COMBO_END}; const uint16_t PROGMEM lbrace_combo[] = {KC_V, KC_B, COMBO_END};
const uint16_t PROGMEM rbrace_combo[] = {KC_N, KC_M, COMBO_END}; const uint16_t PROGMEM rbrace_combo[] = {KC_N, KC_M, COMBO_END};
const uint16_t PROGMEM pipe_combo[] = {Z_L1, KC_X, COMBO_END}; const uint16_t PROGMEM pipe_combo[] = {KC_Z, KC_X, COMBO_END};
const uint16_t PROGMEM bslh_combo[] = {SL_L2, KC_QUOT, COMBO_END}; const uint16_t PROGMEM bslh_combo[] = {KC_SLSH, KC_QUOT, COMBO_END};
combo_t key_combos[COMBO_COUNT] = { combo_t key_combos[COMBO_COUNT] = {
COMBO(lparen_combo, KC_LPRN), COMBO(lparen_combo, KC_LPRN),
@ -229,18 +229,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false; return false;
} }
break; break;
case Z_L1:
if (elapsed < RPI_Z) {
tap_code(KC_Z);
return false;
}
break;
case SL_L2:
if (elapsed < RPI_SLASH) {
tap_code(KC_SLSH);
return false;
}
break;
case ESC_L2: case ESC_L2:
if (elapsed < RPI_ESC) { if (elapsed < RPI_ESC) {
tap_code(KC_ESC); tap_code(KC_ESC);
@ -253,6 +241,30 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false; return false;
} }
break; break;
case CT_GRV:
if (elapsed < RPI_CTRL) {
tap_code(KC_GRV);
return false;
}
break;
case CT_BSL:
if (elapsed < RPI_CTRL) {
tap_code(KC_BSLS);
return false;
}
break;
case AL_DEL:
if (elapsed < RPI_ALT) {
tap_code(KC_DEL);
return false;
}
break;
case AL_ENT:
if (elapsed < RPI_ALT) {
tap_code(KC_ENT);
return false;
}
break;
} }
last_key_time = timer_read(); last_key_time = timer_read();
@ -265,8 +277,6 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) { switch (keycode) {
case GU_BSP: return 100; case GU_BSP: return 100;
case GU_SPC: return 150; case GU_SPC: return 150;
case Z_L1:
case SL_L2: return 120;
case AL_DEL: case AL_DEL:
case AL_ENT: return 130; case AL_ENT: return 130;
default: return TAPPING_TERM; default: return TAPPING_TERM;
@ -277,21 +287,16 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
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 Z_L1:
case MIN_L1: case MIN_L1:
case SL_L2:
return true; return true;
default: default:
return false; return false;
} }
} }
// ── Per-key hold on other key press (yeet only) ── // ── Per-key hold on other key press — disabled for all keys ──
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) {
switch (keycode) { return false;
case GU_BSP: 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
@ -304,8 +309,6 @@ bool get_retro_tapping(uint16_t keycode, keyrecord_t *record) {
uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) { uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) { switch (keycode) {
case GU_SPC: return 90; case GU_SPC: return 90;
case Z_L1:
case SL_L2: return 80;
default: return QUICK_TAP_TERM; default: return QUICK_TAP_TERM;
} }
} }

View file

@ -3,9 +3,7 @@
// ── Key aliases (layer numbers match Vial: L1=symbols, L2=nav) ── // ── Key aliases (layer numbers match Vial: L1=symbols, L2=nav) ──
#define ESC_L2 LT(2, KC_ESC) #define ESC_L2 LT(2, KC_ESC)
#define Z_L1 LT(1, KC_Z)
#define MIN_L1 LT(1, KC_MINS) #define MIN_L1 LT(1, KC_MINS)
#define SL_L2 LT(2, KC_SLSH)
#define CT_GRV LCTL_T(KC_GRV) #define CT_GRV LCTL_T(KC_GRV)
#define AL_DEL LALT_T(KC_DEL) #define AL_DEL LALT_T(KC_DEL)
#define GU_BSP LGUI_T(KC_BSPC) #define GU_BSP LGUI_T(KC_BSPC)
@ -15,8 +13,8 @@
// ── Require-prior-idle thresholds (ms) ── // ── Require-prior-idle thresholds (ms) ──
#define RPI_SPACE 150 #define RPI_SPACE 150
#define RPI_Z 125 #define RPI_BKSP 150
#define RPI_SLASH 150
#define RPI_ESC 125 #define RPI_ESC 125
#define RPI_MINUS 150 #define RPI_MINUS 150
#define RPI_BKSP 150 #define RPI_CTRL 125
#define RPI_ALT 150