diff --git a/keyboards/keebio/nyquist/rev4/keymaps/drew/alias.h b/keyboards/keebio/nyquist/rev4/keymaps/drew/alias.h index 65a1fc52..7a64f290 100644 --- a/keyboards/keebio/nyquist/rev4/keymaps/drew/alias.h +++ b/keyboards/keebio/nyquist/rev4/keymaps/drew/alias.h @@ -32,6 +32,9 @@ enum CustomKeycodes { #define NAV_ENT LT(_NAV, KC_ENT) #define FUNC_PLAY LT(_FUNC, KC_MPLY) +// mod-taps (not homerow mods) +#define GUI_LAUNCH GUI_T(LAUNCH) + // trigger mods #define TABBING_TRIGGER_MODS MOD_MASK_ALT #define OBLITERATE_TRIGGER_MODS MOD_MASK_GUI diff --git a/keyboards/keebio/nyquist/rev4/keymaps/drew/flow_tap/flow_tap_options.c b/keyboards/keebio/nyquist/rev4/keymaps/drew/flow_tap/flow_tap_options.c index 35cbdea0..206ace4b 100644 --- a/keyboards/keebio/nyquist/rev4/keymaps/drew/flow_tap/flow_tap_options.c +++ b/keyboards/keebio/nyquist/rev4/keymaps/drew/flow_tap/flow_tap_options.c @@ -23,9 +23,11 @@ uint16_t get_flow_tap_term(uint16_t keycode, keyrecord_t* record, uint16_t previ case CTL_RBRC: case CTL_DOWN: // control should always be allowed to hold + case GUI_LAUNCH: // same with non-homerow mod taps + case NUM_SPC: case NAV_ENT: - case FUNC_PLAY: // same with layers + case FUNC_PLAY: // same with layer-taps return 0; break; } diff --git a/keyboards/keebio/nyquist/rev4/keymaps/drew/keymap.c b/keyboards/keebio/nyquist/rev4/keymaps/drew/keymap.c index 04fe194f..37f17bdd 100644 --- a/keyboards/keebio/nyquist/rev4/keymaps/drew/keymap.c +++ b/keyboards/keebio/nyquist/rev4/keymaps/drew/keymap.c @@ -26,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 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, 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 + KC_NO, FUNC_PLAY, KC_LALT, TD(TD_CAD_LOCK_SLEEP), GUI_LAUNCH, NUM_SPC, NAV_ENT, KC_RALT, KC_LEFT, DOWN, UP, KC_RGHT ), // gamer [_GAME] = LAYOUT_ortho_4x12( @@ -61,6 +61,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { bool process_record_user(uint16_t keycode, keyrecord_t* record) { switch (keycode) { + case GUI_LAUNCH: // make this keycode work (16-bit mod-tap) + if (record->tap.count) { + if (record->event.pressed) { + tap_code16(LAUNCH); + } + return false; + } + break; + // make it possible to go from layer 3 to layer 2 case NUM_SPC: if (!record->tap.count) { 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 81a0126e..7a07b45a 100644 --- a/keyboards/keebio/nyquist/rev4/keymaps/drew/taphold/taphold_options.c +++ b/keyboards/keebio/nyquist/rev4/keymaps/drew/taphold/taphold_options.c @@ -5,6 +5,7 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t* record) { switch (keycode) { + case GUI_LAUNCH: case NUM_SPC: case NAV_ENT: case FUNC_PLAY: // no repeat tapping for these keys @@ -127,8 +128,10 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t* record) { 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: + case ALT_BSLS: + case ALT_RGHT: // alt and gui have events for a hold and release + + case GUI_LAUNCH: // also non-homerow mod-taps return 400; break; }