From 01c4d373392f49b664e2e4c15abfd02554fa789a Mon Sep 17 00:00:00 2001 From: Drew Whitney Date: Mon, 3 Nov 2025 15:37:52 -0700 Subject: [PATCH] Rearranged the mod taps --- .../keebio/nyquist/rev4/keymaps/drew/alias.h | 50 +++--- .../keebio/nyquist/rev4/keymaps/drew/keymap.c | 65 +++---- .../keymaps/drew/taphold/taphold_options.c | 170 +++++++++--------- 3 files changed, 141 insertions(+), 144 deletions(-) diff --git a/keyboards/keebio/nyquist/rev4/keymaps/drew/alias.h b/keyboards/keebio/nyquist/rev4/keymaps/drew/alias.h index 74e913e2..65a1fc52 100644 --- a/keyboards/keebio/nyquist/rev4/keymaps/drew/alias.h +++ b/keyboards/keebio/nyquist/rev4/keymaps/drew/alias.h @@ -38,36 +38,34 @@ enum CustomKeycodes { // home row mods // base layer -#define GUI_A GUI_T(KC_A) -#define ALT_S GUI_T(KC_S) -#define SFT_D SFT_T(KC_D) -#define CTL_F CTL_T(KC_F) -#define CTL_G CTL_T(KC_G) +#define ALT_A ALT_T(KC_A) +#define GUI_S GUI_T(KC_S) +#define CTL_D CTL_T(KC_D) +#define SFT_F SFT_T(KC_F) -#define GUI_SCLN GUI_T(KC_SCLN) -#define ALT_L ALT_T(KC_L) -#define SFT_K RSFT_T(KC_K) -#define CTL_J CTL_T(KC_J) -#define CTL_H CTL_T(KC_H) +#define ALT_SCLN ALT_T(KC_SCLN) +#define GUI_L GUI_T(KC_L) +#define CTL_K CTL_T(KC_K) +#define SFT_J RSFT_T(KC_J) // nav layer -#define GUI_BSLS GUI_T(KC_BSLS) -#define ALT_LBRC ALT_T(KC_LBRC) -#define SFT_RBRC SFT_T(KC_RBRC) -#define CTL_MINS CTL_T(KC_MINS) +#define ALT_BSLS ALT_T(KC_BSLS) +#define GUI_LBRC GUI_T(KC_LBRC) +#define CTL_RBRC CTL_T(KC_RBRC) +#define SFT_MINS SFT_T(KC_MINS) -#define GUI_RGHT GUI_T(KC_RGHT) -#define ALT_UP ALT_T(KC_UP) -#define SFT_DOWN RSFT_T(KC_DOWN) -#define CTL_LEFT CTL_T(KC_LEFT) +#define ALT_RGHT ALT_T(KC_RGHT) +#define GUI_UP GUI_T(KC_UP) +#define CTL_DOWN CTL_T(KC_DOWN) +#define SFT_LEFT RSFT_T(KC_LEFT) // num layer -#define GUI_1 GUI_T(KC_1) -#define ALT_2 ALT_T(KC_2) -#define SFT_3 SFT_T(KC_3) -#define CTL_4 CTL_T(KC_4) +#define ALT_1 ALT_T(KC_1) +#define GUI_2 GUI_T(KC_2) +#define CTL_3 CTL_T(KC_3) +#define SFT_4 SFT_T(KC_4) -#define GUI_0 GUI_T(KC_0) -#define ALT_9 ALT_T(KC_9) -#define SFT_8 RSFT_T(KC_8) -#define CTL_7 CTL_T(KC_7) \ No newline at end of file +#define ALT_0 ALT_T(KC_0) +#define GUI_9 GUI_T(KC_9) +#define CTL_8 CTL_T(KC_8) +#define SFT_7 RSFT_T(KC_7) \ No newline at end of file diff --git a/keyboards/keebio/nyquist/rev4/keymaps/drew/keymap.c b/keyboards/keebio/nyquist/rev4/keymaps/drew/keymap.c index 334eb736..04fe194f 100644 --- a/keyboards/keebio/nyquist/rev4/keymaps/drew/keymap.c +++ b/keyboards/keebio/nyquist/rev4/keymaps/drew/keymap.c @@ -24,28 +24,28 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // base [_BASE] = LAYOUT_ortho_4x12( KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, - KC_TAB, GUI_A, ALT_S, SFT_D, CTL_F, CTL_G, CTL_H, CTL_J, SFT_K, ALT_L, GUI_SCLN, KC_QUOT, + KC_TAB, ALT_A, GUI_S, CTL_D, SFT_F, KC_G, KC_H, SFT_J, CTL_K, GUI_L, ALT_SCLN, KC_QUOT, TD(TD_CW_CL), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_DEL, KC_NO, FUNC_PLAY, KC_LALT, TD(TD_CAD_LOCK_SLEEP), LAUNCH, NUM_SPC, NAV_ENT, KC_RALT, KC_LEFT, DOWN, UP, KC_RGHT ), // gamer [_GAME] = LAYOUT_ortho_4x12( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_TRNS, + KC_TAB, KC_A, KC_S, KC_D, KC_TRNS, KC_TRNS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCTL, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), // numbers [_NUM] = LAYOUT_ortho_4x12( KC_TRNS, KC_SLSH, KC_AT, MULT, KC_MINS, KC_PLUS, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, - KC_DOT, GUI_1, ALT_2, SFT_3, CTL_4, KC_5, KC_6, CTL_7, SFT_8, ALT_9, GUI_0, KC_TRNS, + KC_DOT, ALT_1, GUI_2, CTL_3, SFT_4, KC_5, KC_6, SFT_7, CTL_8, GUI_9, ALT_0, KC_TRNS, KC_COMM, LOW_6, LOW_7, LOW_8, LOW_9, LOW_0, KC_SCLN, KC_COLN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_COLN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), // navigation and special characters [_NAV] = LAYOUT_ortho_4x12( KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, - KC_TRNS, GUI_BSLS, ALT_LBRC, SFT_RBRC, CTL_MINS, KC_EQL, KC_HOME, CTL_LEFT, SFT_DOWN, ALT_UP, GUI_RGHT, KC_END, + KC_TRNS, ALT_BSLS, GUI_LBRC, CTL_RBRC, SFT_MINS, KC_EQL, KC_HOME, SFT_LEFT, CTL_DOWN, GUI_UP, ALT_RGHT, KC_END, KC_TILDE, KC_PIPE, KC_LCBR, KC_RCBR, KC_UNDS, KC_PLUS, KC_NO, KC_F2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), @@ -87,39 +87,39 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { break; // noshift homerow mods with control overrides - case GUI_1: + case ALT_1: return unshift_register_or_ctrl_fallthrough(keycode, KC_A, record); break; - case ALT_2: + case GUI_2: return unshift_register_or_ctrl_fallthrough(keycode, KC_S, record); break; - case CTL_4: + case SFT_4: return unshift_register_or_ctrl_fallthrough(keycode, KC_F, record); break; - case CTL_7: + case SFT_7: return unshift_register_or_ctrl_fallthrough(keycode, KC_J, record); break; - case GUI_BSLS: + case ALT_BSLS: return unshift_register_or_ctrl_fallthrough(keycode, KC_A, record); break; - case ALT_LBRC: + case GUI_LBRC: return unshift_register_or_ctrl_fallthrough(keycode, KC_S, record); break; - case CTL_MINS: + case SFT_MINS: return unshift_register_or_ctrl_fallthrough(keycode, KC_F, record); break; - case SFT_3: - case GUI_0: - case SFT_8: - case ALT_9: - case SFT_RBRC: // no control override, just unshift + case CTL_3: + case ALT_0: + case CTL_8: + case GUI_9: + case CTL_RBRC: // no control override, just unshift return unshift_register(keycode, record); break; // make arrow key homerow mods trigger the tap action when held and the hold time expires - case ALT_UP: - case SFT_DOWN: + case GUI_UP: + case CTL_DOWN: if (!record->tap.count && !record->tap.interrupted) { if (record->event.pressed) { register_code(keycode); @@ -138,8 +138,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { } } } - case CTL_LEFT: - case GUI_RGHT: + case SFT_LEFT: + case ALT_RGHT: // if this is a hold action and it occurred naturally if (!record->tap.count && !record->tap.interrupted) { if (record->event.pressed) { @@ -157,6 +157,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { case KC_E: case KC_R: case KC_T: + case KC_G: case KC_Z: case KC_X: case KC_C: @@ -167,11 +168,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { } break; - case GUI_A: - case ALT_S: - case SFT_D: - case CTL_F: - case CTL_G: + case ALT_A: + case GUI_S: + case CTL_D: + case SFT_F: if (record->event.pressed && record->tap.count && get_mods() == MOD_BIT(KC_LSFT)) { return false; // do nothing } @@ -182,6 +182,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { case KC_I: case KC_O: case KC_P: + case KC_H: case KC_QUOT: case KC_N: case KC_M: @@ -192,11 +193,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { return false; // do nothing } break; - case GUI_SCLN: - case ALT_L: - case SFT_K: - case CTL_J: - case CTL_H: + case ALT_SCLN: + case GUI_L: + case CTL_K: + case SFT_J: if (IS_LAYER_ON(_BASE) && record->event.pressed && record->tap.count && get_mods() == MOD_BIT(KC_RSFT)) { return false; // do nothing @@ -248,6 +248,9 @@ const key_override_t UP_TO_ZOOM_IN = ko_make_basic(MOD_MASK_CTRL, UP, C(KC_EQL)) const key_override_t UP_DEFAULT = ko_make_basic(0, UP, KC_UP); // NUM layer +const key_override_t FIVE_NOSHIFT = ko_make_basic(MOD_MASK_SHIFT, KC_5, KC_5); +const key_override_t SIX_NOSHIFT = ko_make_basic(MOD_MASK_SHIFT, KC_6, KC_6); + const key_override_t LOW_6_TO_Z = ko_make_basic(MOD_MASK_CTRL, LOW_6, C(KC_Z)); const key_override_t LOW_6_NOSHIFT = ko_make_basic(MOD_MASK_SHIFT, LOW_6, KC_6); const key_override_t LOW_6_DEFAULT = ko_make_basic(0, LOW_6, KC_6); @@ -325,6 +328,8 @@ const key_override_t* key_overrides[] = { &UP_TO_ZOOM_IN, &UP_DEFAULT, + &FIVE_NOSHIFT, + &SIX_NOSHIFT, &LOW_6_TO_Z, &LOW_6_NOSHIFT, &LOW_6_DEFAULT, diff --git a/keyboards/keebio/nyquist/rev4/keymaps/drew/taphold/taphold_options.c b/keyboards/keebio/nyquist/rev4/keymaps/drew/taphold/taphold_options.c index 03b24a5e..81a0126e 100644 --- a/keyboards/keebio/nyquist/rev4/keymaps/drew/taphold/taphold_options.c +++ b/keyboards/keebio/nyquist/rev4/keymaps/drew/taphold/taphold_options.c @@ -5,36 +5,33 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t* record) { switch (keycode) { - case CTL_T(KC_TAB): case NUM_SPC: case NAV_ENT: case FUNC_PLAY: // no repeat tapping for these keys - case GUI_A: - case ALT_S: - case SFT_D: - case CTL_F: - case CTL_G: - case GUI_SCLN: - case ALT_L: - case SFT_K: - case CTL_J: - case CTL_H: + case ALT_A: + case GUI_S: + case CTL_D: + case SFT_F: + case ALT_SCLN: + case GUI_L: + case CTL_K: + case SFT_J: - case GUI_1: - case ALT_2: - case SFT_3: - case CTL_4: - case GUI_0: - case ALT_9: - case SFT_8: - case CTL_7: - - case GUI_BSLS: - case ALT_LBRC: - case SFT_RBRC: - case CTL_MINS: // no repeat tapping for homerow mods + case ALT_BSLS: + case GUI_LBRC: + case CTL_RBRC: + case SFT_MINS: // intentionally omitting arrow keys + + case ALT_1: + case GUI_2: + case CTL_3: + case SFT_4: + case ALT_0: + case GUI_9: + case CTL_8: + case SFT_7: // no repeat tapping for homerow mods return 0; break; } @@ -46,34 +43,33 @@ bool get_permissive_hold(uint16_t keycode, keyrecord_t* record) { case NUM_SPC: // permissive hold for layer tap space return true; break; - case GUI_A: - case ALT_S: - case SFT_D: - case CTL_F: - case CTL_G: - case GUI_SCLN: - case ALT_L: - case SFT_K: - case CTL_J: - case CTL_H: - case GUI_1: - case ALT_2: - case SFT_3: - case CTL_4: - case GUI_0: - case ALT_9: - case SFT_8: - case CTL_7: + case ALT_A: + case GUI_S: + case CTL_D: + case SFT_F: + case ALT_SCLN: + case GUI_L: + case CTL_K: + case SFT_J: - case GUI_BSLS: - case ALT_LBRC: - case SFT_RBRC: - case CTL_MINS: // permissive hold for homerow mods - case GUI_RGHT: - case ALT_UP: - case SFT_DOWN: - case CTL_LEFT: + case ALT_BSLS: + case GUI_LBRC: + case CTL_RBRC: + case SFT_MINS: + case ALT_RGHT: + case GUI_UP: + case CTL_DOWN: + case SFT_LEFT: + + case ALT_1: + case GUI_2: + case CTL_3: + case SFT_4: + case ALT_0: + case GUI_9: + case CTL_8: + case SFT_7: // permissive hold for mod-taps return true; break; } @@ -86,34 +82,32 @@ bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t* record) { return false; break; - case GUI_A: - case ALT_S: - case SFT_D: - case CTL_F: - case CTL_G: - case GUI_SCLN: - case ALT_L: - case SFT_K: - case CTL_J: - case CTL_H: + case ALT_A: + case GUI_S: + case CTL_D: + case SFT_F: + case ALT_SCLN: + case GUI_L: + case CTL_K: + case SFT_J: - case GUI_1: - case ALT_2: - case SFT_3: - case CTL_4: - case GUI_0: - case ALT_9: - case SFT_8: - case CTL_7: + case ALT_BSLS: + case GUI_LBRC: + case CTL_RBRC: + case SFT_MINS: + case ALT_RGHT: + case GUI_UP: + case CTL_DOWN: + case SFT_LEFT: - case GUI_BSLS: - case ALT_LBRC: - case SFT_RBRC: - case CTL_MINS: // no hold on other key press for homerow mods - case GUI_RGHT: - case ALT_UP: - case SFT_DOWN: - case CTL_LEFT: + case ALT_1: + case GUI_2: + case CTL_3: + case SFT_4: + case ALT_0: + case GUI_9: + case CTL_8: + case SFT_7: // no hold on other key press for mod taps return false; break; } @@ -122,19 +116,19 @@ bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t* record) { uint16_t get_tapping_term(uint16_t keycode, keyrecord_t* record) { switch (keycode) { - case GUI_A: - case GUI_SCLN: - case GUI_1: - case GUI_0: - case GUI_BSLS: - case GUI_RGHT: + case GUI_S: + case GUI_L: + case GUI_2: + case GUI_9: + case GUI_LBRC: + case GUI_UP: - case ALT_S: - case ALT_L: - case ALT_2: - case ALT_9: - case ALT_LBRC: // alt and gui have events for a hold and release - case ALT_UP: + case ALT_A: + case ALT_SCLN: + case ALT_1: + case ALT_0: + case ALT_BSLS: // alt and gui have events for a hold and release + case ALT_RGHT: return 400; break; }