From 455a63f75d8e7b9cedcc3b77087031491fec84ab Mon Sep 17 00:00:00 2001 From: Drew Whitney Date: Sat, 15 Nov 2025 23:08:09 -0700 Subject: [PATCH] Updating --- keyboards/keebio/iris_lm/keymaps/drew/alias.h | 2 +- .../keebio/iris_lm/keymaps/drew/keymap.c | 35 ++++++++++--------- .../keymaps/drew/tap_dance/tap_dance.c | 14 +++++++- .../keymaps/drew/tap_dance/tap_dance.h | 4 ++- 4 files changed, 36 insertions(+), 19 deletions(-) diff --git a/keyboards/keebio/iris_lm/keymaps/drew/alias.h b/keyboards/keebio/iris_lm/keymaps/drew/alias.h index 9729652f..fa2d9d7b 100644 --- a/keyboards/keebio/iris_lm/keymaps/drew/alias.h +++ b/keyboards/keebio/iris_lm/keymaps/drew/alias.h @@ -11,6 +11,7 @@ enum CustomKeycodes { }; #define TD_CLS TD(TD_CAD_LOCK_SLEEP) +#define GAME TD(TD_GAMER_MODE) #define COMPOSE KC_SCRL // keys #define CAD C(A(KC_DEL)) @@ -25,7 +26,6 @@ enum CustomKeycodes { #define SYM_ENT LT(_SYM, KC_ENT) #define NAV_CANCEL LT(_NAV, KC_NO) // have to implement this functionality #define NUM MO(_NUM) -#define GAME MO(_GAME) #define LAUNCH_NUM LT(_SH_NUM, LAUNCH) #define COMP_ARROW LT(_SH_ARROW, COMPOSE) diff --git a/keyboards/keebio/iris_lm/keymaps/drew/keymap.c b/keyboards/keebio/iris_lm/keymaps/drew/keymap.c index 05486d41..f63ab075 100644 --- a/keyboards/keebio/iris_lm/keymaps/drew/keymap.c +++ b/keyboards/keebio/iris_lm/keymaps/drew/keymap.c @@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ KC_TRNS, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_TRNS, //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ - KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, KC_TRNS, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_TRNS, + KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_TRNS, TG(_GAME), KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_TRNS, //└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘ KC_ESC, KC_I, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS // └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘ @@ -112,6 +112,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { tap_dance_action_t tap_dance_actions[] = { [TD_CAD_LOCK_SLEEP] = ACTION_TAP_DANCE_FN(CAD_lock_sleep), + [TD_GAMER_MODE] = ACTION_TAP_DANCE_FN(enter_gamer_mode), }; const uint16_t PROGMEM num_layer_combo[] = {NAV_CANCEL, SYM_ENT, COMBO_END}; @@ -123,30 +124,31 @@ combo_t key_combos[] = { }; bool process_record_user(uint16_t keycode, keyrecord_t* record) { - static bool NAV_is_on = false; + // 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 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_CANCEL: // allow oneshot mods to be canceled by pressing this key - if (!record->tap.count) { - NAV_is_on = record->event.pressed; // track NAV's state for SYM - } else { + 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 @@ -169,7 +171,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { case OSO_SHIFT: // make thumb shift oneshot-only if (record->event.pressed) { - set_oneshot_mods(MOD_BIT(KC_LSFT)); + (!get_oneshot_mods() && MOD_BIT(KC_LSFT) ? add_oneshot_mods + : del_oneshot_mods)(MOD_BIT(KC_LSFT)); } break; } diff --git a/keyboards/keebio/iris_lm/keymaps/drew/tap_dance/tap_dance.c b/keyboards/keebio/iris_lm/keymaps/drew/tap_dance/tap_dance.c index 27db43c4..ca6ff48a 100644 --- a/keyboards/keebio/iris_lm/keymaps/drew/tap_dance/tap_dance.c +++ b/keyboards/keebio/iris_lm/keymaps/drew/tap_dance/tap_dance.c @@ -11,8 +11,20 @@ void CAD_lock_sleep(tap_dance_state_t* state, void*) { break; case 3: tap_code16(KC_SLEP); - default: reset_tap_dance(state); break; } } + +void enter_gamer_mode(tap_dance_state_t* state, void*) { + switch (state->count) { + case 1: + break; + case 2: + break; + case 3: + layer_on(_GAME); + reset_tap_dance(state); + break; + } +} \ No newline at end of file diff --git a/keyboards/keebio/iris_lm/keymaps/drew/tap_dance/tap_dance.h b/keyboards/keebio/iris_lm/keymaps/drew/tap_dance/tap_dance.h index 5d648645..be7d77eb 100644 --- a/keyboards/keebio/iris_lm/keymaps/drew/tap_dance/tap_dance.h +++ b/keyboards/keebio/iris_lm/keymaps/drew/tap_dance/tap_dance.h @@ -4,6 +4,8 @@ enum { TD_CAD_LOCK_SLEEP, + TD_GAMER_MODE, }; -void CAD_lock_sleep(tap_dance_state_t* state, void*); \ No newline at end of file +void CAD_lock_sleep(tap_dance_state_t* state, void*); +void enter_gamer_mode(tap_dance_state_t* state, void*); \ No newline at end of file