diff --git a/keyboards/keebio/iris_lm/keymaps/drew/alias.h b/keyboards/keebio/iris_lm/keymaps/drew/alias.h index 10b42224..8ceb641b 100644 --- a/keyboards/keebio/iris_lm/keymaps/drew/alias.h +++ b/keyboards/keebio/iris_lm/keymaps/drew/alias.h @@ -21,14 +21,15 @@ enum CustomKeycodes { #define ZOOM_IN C(KC_EQL) #define ZOOM_OUT C(KC_MINS) +#define SFT_BSPC SFT_T(KC_BSPC) + // layers #define SYM_ENT LT(_SYM, KC_ENT) -#define NAV_SPC LT(_NAV, KC_SPC) +#define NAV_TAB LT(_NAV, KC_TAB) +#define NUM_SPC LT(_NUM, KC_SPC) #define FN_LAUNCH LT(_FUNC, LAUNCH) #define FN_ESC LT(_FUNC, KC_ESC) -// #define NUM MO(_NUM) -// #define LAUNCH_NUM LT(_SH_NUM, LAUNCH) -#define COMP_ARROW LT(_SH_ARROW, COMPOSE) +#define ARROW MO(_SH_ARROW) // trigger mods #define OBLITERATE_TRIGGER_MODS MOD_MASK_GUI diff --git a/keyboards/keebio/iris_lm/keymaps/drew/config.h b/keyboards/keebio/iris_lm/keymaps/drew/config.h index bf02c3d3..8456e71a 100644 --- a/keyboards/keebio/iris_lm/keymaps/drew/config.h +++ b/keyboards/keebio/iris_lm/keymaps/drew/config.h @@ -4,9 +4,9 @@ // tap-hold #define QUICK_TAP_TERM_PER_KEY -#define HOLD_ON_OTHER_KEY_PRESS -// #define HOLD_ON_OTHER_KEY_PRESS_PER_KEY -// #define PERMISSIVE_HOLD_PER_KEY +// #define HOLD_ON_OTHER_KEY_PRESS +#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY +#define PERMISSIVE_HOLD_PER_KEY // combos // #define COMBO_PROCESS_KEY_RELEASE diff --git a/keyboards/keebio/iris_lm/keymaps/drew/keymap.c b/keyboards/keebio/iris_lm/keymaps/drew/keymap.c index 37529aae..ef1e0320 100644 --- a/keyboards/keebio/iris_lm/keymaps/drew/keymap.c +++ b/keyboards/keebio/iris_lm/keymaps/drew/keymap.c @@ -4,7 +4,6 @@ #include "./layers/layers.h" #include "./tap_dance/tap_dance.h" #include "./utils/utils.h" -#include #include // clang-format off @@ -13,13 +12,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - 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_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO, //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_NO, //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - CW_TOGG, KC_Z, KC_X, KC_C, KC_V, KC_B, TD_CLS, GAME, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_DEL, + KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, TD_CLS, GAME, KC_N, KC_M, KC_COMM, KC_DOT, KC_SCLN, KC_NO, //└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘ - FN_LAUNCH, NAV_SPC, KC_SPC, OS_LSFT, SYM_ENT, COMP_ARROW + FN_LAUNCH, NAV_TAB, NUM_SPC, SFT_BSPC, SYM_ENT, ARROW // └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ ), @@ -37,34 +36,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ ), -[_SYM] = LAYOUT( -//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ - 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_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, -//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - KC_TRNS, KC_BSLS, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_PLUS, OS_RSFT, OS_RCTL, OS_RALT, OS_RGUI, KC_DQUO, -//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - KC_CAPS, KC_PIPE, KC_LCBR, KC_RCBR, KC_UNDS, KC_GRV, KC_TRNS, QK_BOOT, KC_TILD, KC_COLN, KC_LABK, KC_RABK, KC_QUES, KC_TRNS, -//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘ - FN_LAUNCH, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ -), - -[_NAV] = LAYOUT( -//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ - 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_TRNS, KC_NO, KC_NO, TAB_LEFT, TAB_RIGHT, KC_NO, KC_NO, KC_HOME, KC_UP, KC_END, PH_P, KC_TRNS, -//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - KC_TRNS, OS_LGUI, OS_LALT, OS_LCTL, OS_LSFT, KC_NO, CW_TOGG, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_TRNS, -//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - KC_CAPS, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), KC_NO, KC_TRNS, QK_BOOT, KC_CAPS, KC_F2, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS, -//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘ - FN_LAUNCH, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ -), - [_NUM] = LAYOUT( //┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -73,37 +44,51 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, QK_BOOT, KC_NO, KC_COLN, KC_COMM, KC_DOT, KC_SCLN, KC_TRNS, + KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DOT, QK_BOOT, KC_NO, KC_COLN, KC_COMM, KC_DOT, KC_SCLN, KC_TRNS, //└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘ - FN_LAUNCH, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + FN_LAUNCH, NAV_TAB, NUM_SPC, KC_TRNS, KC_TRNS, KC_TRNS // └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ ), -// [_SH_NUM] = LAYOUT( // single-handed numbers -// //┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ -// KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, -// //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ -// KC_TRNS, KC_SLSH, KC_DOT, KC_COMM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, -// //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ -// KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, -// //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ -// KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, -// //└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘ -// KC_TRNS, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS -// // └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ -// ), +[_SYM] = LAYOUT( +//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ + 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_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, +//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ + KC_TRNS, KC_BSLS, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_PLUS, OS_RSFT, OS_RCTL, OS_RALT, OS_RGUI, KC_TRNS, +//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ + KC_CAPS, KC_PIPE, KC_LCBR, KC_RCBR, KC_UNDS, KC_GRV, TD_CLS, QK_BOOT, KC_TILD, KC_QUES, KC_LABK, KC_RABK, KC_SLSH, KC_TRNS, +//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘ + FN_LAUNCH, NAV_TAB, NUM_SPC, KC_TRNS, KC_TRNS, KC_TRNS +// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ +), + +[_NAV] = LAYOUT( +//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ + 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_TRNS, KC_ESC, KC_NO, TAB_LEFT, TAB_RIGHT, KC_NO, KC_NO, KC_HOME, KC_UP, KC_END, KC_DEL, KC_TRNS, +//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ + KC_TRNS, OS_LGUI, OS_LALT, OS_LCTL, OS_LSFT, CW_TOGG, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_SLSH, KC_TRNS, +//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ + KC_TRNS, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), C(KC_Y), TD_CLS, QK_BOOT, COMPOSE, KC_F2, KC_COMM, KC_DOT, KC_SCLN, KC_TRNS, +//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘ + FN_LAUNCH, NAV_TAB, NUM_SPC, KC_TRNS, KC_TRNS, KC_TRNS +// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ +), [_FUNC] = LAYOUT( // functions //┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ 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_TRNS, KC_NO, KC_NO, ZOOM_OUT, ZOOM_IN, KC_F11, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_NO, + KC_TRNS, KC_NO, KC_NO, ZOOM_OUT, ZOOM_IN, KC_F11, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS, //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - KC_TRNS, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_NO, KC_F5, KC_F6, KC_F7, KC_F8, KC_NO, + KC_TRNS, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, KC_NO, KC_F5, KC_F6, KC_F7, KC_F8, KC_TRNS, //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - KC_TRNS, KC_BRID, KC_BRIU, KC_WBAK, KC_WFWD, KC_MUTE, KC_TRNS, QK_BOOT, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, + KC_TRNS, KC_BRID, KC_BRIU, KC_WBAK, KC_WFWD, KC_MUTE, TD_CLS, QK_BOOT, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, //└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘ - FN_LAUNCH, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + FN_LAUNCH, NAV_TAB, NUM_SPC, KC_TRNS, KC_TRNS, KC_TRNS // └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ ), @@ -115,9 +100,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS, //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TD_CLS, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, //└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘ - FN_LAUNCH, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + FN_LAUNCH, NAV_TAB, NUM_SPC, KC_TRNS, KC_TRNS, KC_TRNS // └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ ), @@ -133,38 +118,11 @@ tap_dance_action_t tap_dance_actions[] = { const uint16_t PROGMEM win_swap_combo[] = {TAB_LEFT, TAB_RIGHT, COMBO_END}; combo_t key_combos[] = { - // [NumCombo] = COMBO(num_layer_combo, NUM), [WinSwapCombo] = COMBO(win_swap_combo, WIN_SWAP), }; bool process_record_user(uint16_t keycode, keyrecord_t* record) { - // static bool NAV_is_on = false; - switch (keycode) { - // allow the SYM and NAV layers to override each other - // case SYM_ENT: - // if (!record->tap.count) { - // // if NAV is on, turn it off when SYM is turned on, then restore it when SYM - // // is turned off - // // if we're NUM-latched, don't interfere with the states - // if (NAV_is_on) { - // record->event.pressed && !NUM_latched ? layer_off(_NAV) : layer_on(_NAV); - // } - // } - // break; - - // case NAV_SPC: // allow oneshot mods to be canceled by pressing this key - // if (record->tap.count) { - // if (record->event.pressed) { - // clear_oneshot_mods(); - // } - // return false; - // } - // // else { - // // NAV_is_on = record->event.pressed; // track NAV's state for SYM - // // } - // break; - case WIN_SWAP: // easy Alt-Tab if (record->event.pressed) { register_mods(MOD_LALT); @@ -182,21 +140,40 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { return false; } break; + + case SFT_BSPC: // obliterate line backwards + if (record->tap.count && record->event.pressed) { + uint8_t mods = get_mods(); + if ((mods | get_oneshot_mods()) & OBLITERATE_TRIGGER_MODS) { + tap_code(DUMMY_MOD_NEUTRALIZER_KEYCODE); + unregister_mods(OBLITERATE_TRIGGER_MODS); + clear_oneshot_mods(); + tap_code16(S(KC_HOME)); + register_code(KC_BSPC); + set_mods(mods); + return false; + } + } + break; + + case NUM_SPC: // menu shortcut + if (record->tap.count && record->event.pressed) { + uint8_t mods = get_mods(); + if ((mods | get_oneshot_mods()) & MOD_MASK_CTRL) { + del_mods(MOD_MASK_CTRL); + clear_oneshot_mods(); + tap_code16(MENU); + set_mods(mods); + return false; + } + } + break; } return true; } const key_override_t Q_TO_KILL = ko_make_with_layers(MOD_MASK_GUI, KC_Q, A(KC_F4), 1 << _BASE); -const key_override_t SPACE_TO_MENU = ko_make_basic(MOD_MASK_CTRL, KC_SPACE, MENU); - -const key_override_t BSPC_TO_OBLITERATE = { - .trigger = KC_BSPC, - .trigger_mods = OBLITERATE_TRIGGER_MODS, - .layers = 0xFF, - .custom_action = obliterate_line_backwards, - .suppressed_mods = OBLITERATE_TRIGGER_MODS, -}; const key_override_t DEL_TO_OBLITERATE = { .trigger = KC_DEL, .trigger_mods = OBLITERATE_TRIGGER_MODS, @@ -214,37 +191,6 @@ const key_override_t END_TO_META_END = ko_make_basic(MOD_MASK_GUI, KC_END, C(KC_ const key_override_t UP_NO_CTRL = ko_make_basic(MOD_MASK_CTRL, KC_UP, KC_UP); const key_override_t DOWN_NO_CTRL = ko_make_basic(MOD_MASK_CTRL, KC_DOWN, KC_DOWN); -// SYM layer -// A S F R Z X C V B M P U Y I -const key_override_t BSLS_TO_A = ko_make_with_layers(MOD_MASK_CTRL, KC_BSLS, C(KC_A), 1 << _SYM); -const key_override_t LBRC_TO_S = ko_make_with_layers(MOD_MASK_CTRL, KC_LBRC, C(KC_S), 1 << _SYM); -const key_override_t MINS_TO_F = ko_make_with_layers(MOD_MASK_CTRL, KC_MINS, C(KC_F), 1 << _SYM); -const key_override_t DLR_TO_R = ko_make_with_layers(MOD_MASK_CTRL, KC_DLR, C(KC_R), 1 << _SYM); -const key_override_t PIPE_TO_Z = ko_make_with_layers(MOD_MASK_CTRL, KC_PIPE, C(KC_Z), 1 << _SYM); -const key_override_t LCBR_TO_X = ko_make_with_layers(MOD_MASK_CTRL, KC_LCBR, C(KC_X), 1 << _SYM); -const key_override_t RCBR_TO_C = ko_make_with_layers(MOD_MASK_CTRL, KC_RCBR, C(KC_C), 1 << _SYM); -const key_override_t UNDS_TO_V = ko_make_with_layers(MOD_MASK_CTRL, KC_UNDS, C(KC_V), 1 << _SYM); -const key_override_t GRV_TO_B = ko_make_with_layers(MOD_MASK_CTRL, KC_GRV, C(KC_B), 1 << _SYM); -const key_override_t COLN_TO_M = ko_make_with_layers(MOD_MASK_CTRL, KC_COLN, C(KC_M), 1 << _SYM); -const key_override_t RPRN_TO_P = ko_make_with_layers(MOD_MASK_CTRL, KC_RPRN, C(KC_P), 1 << _SYM); -const key_override_t AMPR_TO_U = ko_make_with_layers(MOD_MASK_CTRL, KC_AMPR, C(KC_U), 1 << _SYM); -const key_override_t ASTR_TO_I = ko_make_with_layers(MOD_MASK_CTRL, KC_ASTR, C(KC_I), 1 << _SYM); -const key_override_t CIRC_TO_Y = ko_make_with_layers(MOD_MASK_CTRL, KC_CIRC, C(KC_Y), 1 << _SYM); - -// NAV layer -// R Z X C V B M P Y -const key_override_t TAB_RIGHT_TO_R = - ko_make_with_layers(MOD_MASK_CTRL, TAB_RIGHT, C(KC_R), 1 << _NAV); -const key_override_t MUTE_TO_Z = ko_make_with_layers(MOD_MASK_CTRL, KC_MUTE, C(KC_Z), 1 << _NAV); -const key_override_t MPRV_TO_X = ko_make_with_layers(MOD_MASK_CTRL, KC_MPRV, C(KC_X), 1 << _NAV); -const key_override_t VOLD_TO_C = ko_make_with_layers(MOD_MASK_CTRL, KC_VOLD, C(KC_C), 1 << _NAV); -const key_override_t VOLU_TO_V = ko_make_with_layers(MOD_MASK_CTRL, KC_VOLU, C(KC_V), 1 << _NAV); -const key_override_t MNXT_TO_B = ko_make_with_layers(MOD_MASK_CTRL, KC_MNXT, C(KC_B), 1 << _NAV); -const key_override_t F2_TO_M = ko_make_with_layers(MOD_MASK_CTRL, KC_F2, C(KC_M), 1 << _NAV); -const key_override_t PLACEHOLDER_TO_P = - ko_make_with_layers(MOD_MASK_CTRL, PH_P, C(KC_P), 1 << _NAV); -const key_override_t WFWD_TO_Y = ko_make_with_layers(MOD_MASK_CTRL, KC_WFWD, C(KC_Y), 1 << _NAV); - // noshifts const key_override_t ONE_NOSHIFT = ko_make_basic(MOD_MASK_SHIFT, KC_1, KC_1); const key_override_t TWO_NOSHIFT = ko_make_basic(MOD_MASK_SHIFT, KC_2, KC_2); @@ -268,10 +214,7 @@ const key_override_t GRV_NOSHIFT = ko_make_basic(MOD_MASK_SHIFT, KC_GRV, KC_GRV) // this globally defines all key overrides to be used const key_override_t* key_overrides[] = { &Q_TO_KILL, - - &SPACE_TO_MENU, // blocking formatting with this line - &BSPC_TO_OBLITERATE, &DEL_TO_OBLITERATE, &HOME_NOCTRL, @@ -282,33 +225,6 @@ const key_override_t* key_overrides[] = { &UP_NO_CTRL, &DOWN_NO_CTRL, - // SYM layer Ctrl overrides - &BSLS_TO_A, - &LBRC_TO_S, - &MINS_TO_F, - &DLR_TO_R, - &PIPE_TO_Z, - &LCBR_TO_X, - &RCBR_TO_C, - &UNDS_TO_V, - &GRV_TO_B, - &COLN_TO_M, - &RPRN_TO_P, - &R_TO_U, - &ASTR_TO_I, - &CIRC_TO_Y, - - // NAV layer Ctrl overrides - &TAB_RIGHT_TO_R, - &MUTE_TO_Z, - &MPRV_TO_X, - &VOLD_TO_C, - &VOLU_TO_V, - &MNXT_TO_B, - &F2_TO_M, - &PLACEHOLDER_TO_P, - &WFWD_TO_Y, - // noshifts &ONE_NOSHIFT, &TWO_NOSHIFT, diff --git a/keyboards/keebio/iris_lm/keymaps/drew/layers/layers.c b/keyboards/keebio/iris_lm/keymaps/drew/layers/layers.c index 170251e8..b0951308 100644 --- a/keyboards/keebio/iris_lm/keymaps/drew/layers/layers.c +++ b/keyboards/keebio/iris_lm/keymaps/drew/layers/layers.c @@ -4,28 +4,8 @@ bool NUM_latched = false; bool NAV_pressed_first = false; layer_state_t layer_state_set_user(layer_state_t state) { - // NUM latching - if (NUM_latched) { - if (IS_LAYER_ON_STATE(state, _SYM) && IS_LAYER_ON_STATE(state, _NAV)) { - state |= 1 << _NUM; // turn on NUM - } else { - // if both NAV and SYM are off, de-latch NUM - if (!IS_LAYER_ON_STATE(state, _SYM) && !IS_LAYER_ON_STATE(state, _NAV)) { - NUM_latched = false; - NAV_pressed_first = false; // reset to the original state - } - // since both layers aren't held, turn off NUM - state &= ~(1 << _NUM); - } - } else { - if (NAV_pressed_first && IS_LAYER_ON_STATE(state, _SYM)) { - // both layers are on in the correct order, so turn on NUM and latch it - NUM_latched = true; - state |= 1 << _NUM; - } else { - NAV_pressed_first = IS_LAYER_ON_STATE(state, _NAV) && !IS_LAYER_ON_STATE(state, _SYM); - } - } + // allow the SYM and NUM layers to override each other + return state; } diff --git a/keyboards/keebio/iris_lm/keymaps/drew/layers/layers.h b/keyboards/keebio/iris_lm/keymaps/drew/layers/layers.h index 595e6f56..b1ba166d 100644 --- a/keyboards/keebio/iris_lm/keymaps/drew/layers/layers.h +++ b/keyboards/keebio/iris_lm/keymaps/drew/layers/layers.h @@ -6,9 +6,9 @@ enum { _BASE, _GAME, + _NUM, _SYM, _NAV, - _NUM, _FUNC, // _SH_NUM, _SH_ARROW, diff --git a/keyboards/keebio/iris_lm/keymaps/drew/taphold/taphold_options.c b/keyboards/keebio/iris_lm/keymaps/drew/taphold/taphold_options.c index e215231f..65592768 100644 --- a/keyboards/keebio/iris_lm/keymaps/drew/taphold/taphold_options.c +++ b/keyboards/keebio/iris_lm/keymaps/drew/taphold/taphold_options.c @@ -5,28 +5,30 @@ uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t* record) { switch (keycode) { - case SYM_ENT: // no repeat tapping for this key - case NAV_SPC: + case NAV_TAB: + case NUM_SPC: + case SFT_BSPC: + case SYM_ENT: return 0; break; } return QUICK_TAP_TERM; } -// bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t* record) { -// switch (keycode) { -// case NUM_SPC: -// return false; -// break; -// } -// return true; -// } +bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t* record) { + switch (keycode) { + case NUM_SPC: + return false; + break; + } + return true; +} -// bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) { -// switch (keycode) { -// case NUM_SPC: -// return true; -// break; -// } -// return false; -// } \ No newline at end of file +bool get_permissive_hold(uint16_t keycode, keyrecord_t* record) { + switch (keycode) { + case NUM_SPC: + return true; + break; + } + return false; +} \ No newline at end of file