From 1f772fe2ed84b9685683b350e32ee50506619b1f Mon Sep 17 00:00:00 2001 From: Joe Scotto Date: Sat, 11 Jul 2026 14:03:45 -0400 Subject: [PATCH] fix game mode --- Scotto48/PCB/Firmware/scotto.uf2 | Bin 88064 -> 88064 bytes Scotto48/PCB/QMK/keymaps/scotto/keymap.c | 90 +++++++++++------------ Scotto48/PCB/QMK/keymaps/scotto/keys.c | 12 +-- Scotto48/PCB/QMK/keymaps/scotto/keys.h | 9 +++ Scotto48/PCB/QMK/keymaps/scotto/rgb.c | 8 +- 5 files changed, 64 insertions(+), 55 deletions(-) diff --git a/Scotto48/PCB/Firmware/scotto.uf2 b/Scotto48/PCB/Firmware/scotto.uf2 index fbab5bd40cd95f2ca6441cf9138b19a57a607b36..454298c0e75af5437af87cbd944988f1cc02731d 100644 GIT binary patch delta 82 zcmZqJz}f&rTNq`unHd=vr+*A#ygT_1qu_L29Y*2l2Xq)^reDxuZ!5NBX#;ARkH;9%fk5CV(KGDtJ9F-S77GVn17FqkozGgyGdL3)62d$tbaRBZqq CZw?6n diff --git a/Scotto48/PCB/QMK/keymaps/scotto/keymap.c b/Scotto48/PCB/QMK/keymaps/scotto/keymap.c index 5068454..c80fdfd 100644 --- a/Scotto48/PCB/QMK/keymaps/scotto/keymap.c +++ b/Scotto48/PCB/QMK/keymaps/scotto/keymap.c @@ -7,36 +7,36 @@ // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// ┌──────┬───────────┬───────────────┬──────┬──────────────┬─────────────┐ ┌────────────┬────────────┬──────┬───────────┬───────────┬──────┐ -// │ tab │ q │ w │ f │ p │ g │ │ j │ l │ u │ y │ bspc │ bACK │ -// ├──────┼───────────┼───────────────┼──────┼──────────────┼─────────────┤ ├────────────┼────────────┼──────┼───────────┼───────────┼──────┤ -// │ caps │ a │ r │ s │ t │ d │ │ h │ n │ e │ i │ o │ ent │ -// ├──────┼───────────┼───────────────┼──────┼──────────────┼─────────────┤ ├────────────┼────────────┼──────┼───────────┼───────────┼──────┤ -// │ rsft │ RSFT_T(z) │ TD(TD_MODS_X) │ c │ v │ b │ │ k │ m │ , │ RGUI_T(.) │ RSFT_T(/) │ rsft │ -// ├──────┼───────────┼───────────────┼──────┼──────────────┼─────────────┤ ├────────────┼────────────┼──────┼───────────┼───────────┼──────┤ -// │ esc │ rgui │ ralt │ rctl │ TD(TD_MULTI) │ LGUI_T(spc) │ │ LT(2, tab) │ LT(3, ent) │ left │ up │ down │ rght │ -// └──────┴───────────┴───────────────┴──────┴──────────────┴─────────────┘ └────────────┴────────────┴──────┴───────────┴───────────┴──────┘ -[0] = LAYOUT_ortho_4x12( - KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_BSPC , KC_BACK , - KC_CAPS , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_ENTER, - KC_RSFT , RSFT_T(KC_Z) , TD(TD_MODS_X) , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMMA , RGUI_T(KC_DOT) , RSFT_T(KC_SLSH) , KC_RSFT , - KC_ESC , KC_RGUI , KC_RALT , KC_RCTL , TD(TD_MULTI) , LGUI_T(KC_SPC) , LT(2, KC_TAB) , LT(3, KC_ENT) , KC_LEFT , KC_UP , KC_DOWN , KC_RIGHT +// ┌──────┬───────────┬───────────────┬──────┬──────────────┬─────────────┐ ┌───────────────┬─────────────────┬──────┬───────────┬───────────┬──────┐ +// │ tab │ q │ w │ f │ p │ g │ │ j │ l │ u │ y │ bspc │ bACK │ +// ├──────┼───────────┼───────────────┼──────┼──────────────┼─────────────┤ ├───────────────┼─────────────────┼──────┼───────────┼───────────┼──────┤ +// │ caps │ a │ r │ s │ t │ d │ │ h │ n │ e │ i │ o │ ent │ +// ├──────┼───────────┼───────────────┼──────┼──────────────┼─────────────┤ ├───────────────┼─────────────────┼──────┼───────────┼───────────┼──────┤ +// │ rsft │ RSFT_T(z) │ TD(TD_MODS_X) │ c │ v │ b │ │ k │ m │ , │ RGUI_T(.) │ RSFT_T(/) │ rsft │ +// ├──────┼───────────┼───────────────┼──────┼──────────────┼─────────────┤ ├───────────────┼─────────────────┼──────┼───────────┼───────────┼──────┤ +// │ esc │ rgui │ ralt │ rctl │ TD(TD_MULTI) │ LGUI_T(spc) │ │ LT(CODE, tab) │ LT(NUMBER, ent) │ left │ up │ down │ rght │ +// └──────┴───────────┴───────────────┴──────┴──────────────┴─────────────┘ └───────────────┴─────────────────┴──────┴───────────┴───────────┴──────┘ +[BASE] = LAYOUT_ortho_4x12( + KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_BSPC , KC_BACK , + KC_CAPS , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_ENTER, + KC_RSFT , RSFT_T(KC_Z) , TD(TD_MODS_X) , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMMA , RGUI_T(KC_DOT) , RSFT_T(KC_SLSH) , KC_RSFT , + KC_ESC , KC_RGUI , KC_RALT , KC_RCTL , TD(TD_MULTI) , LGUI_T(KC_SPC) , LT(CODE, KC_TAB) , LT(NUMBER, KC_ENT) , KC_LEFT , KC_UP , KC_DOWN , KC_RIGHT ), -// ┌─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬──────┬─────┐ -// │ │ q │ w │ f │ p │ g │ │ j │ l │ u │ y │ bspc │ │ -// ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼──────┼─────┤ -// │ │ a │ r │ s │ t │ d │ │ h │ n │ e │ i │ o │ │ -// ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼──────┼─────┤ -// │ │ z │ x │ c │ v │ b │ │ k │ m │ , │ . │ / │ │ -// ├─────┼─────┼─────┼─────┼─────┼─────┤ ├─────┼─────┼─────┼─────┼──────┼─────┤ -// │ │ │ │ │ │ spc │ │ │ │ │ │ │ │ -// └─────┴─────┴─────┴─────┴─────┴─────┘ └─────┴─────┴─────┴─────┴──────┴─────┘ -[1] = LAYOUT_ortho_4x12( - KC_TRNS , KC_Q , KC_W , KC_F , KC_P , KC_G , KC_J , KC_L , KC_U , KC_Y , KC_BSPC , KC_TRNS, - KC_TRNS , KC_A , KC_R , KC_S , KC_T , KC_D , KC_H , KC_N , KC_E , KC_I , KC_O , KC_TRNS, - KC_TRNS , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_K , KC_M , KC_COMMA , KC_DOT , KC_SLSH , KC_TRNS, - KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_SPC , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS +// ┌─────┬─────┬─────┬─────┬──────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┐ +// │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// ├─────┼─────┼─────┼─────┼──────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ +// │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// ├─────┼─────┼─────┼─────┼──────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ +// │ │ z │ x │ │ │ │ │ │ │ │ . │ / │ │ +// ├─────┼─────┼─────┼─────┼──────┼─────┤ ├─────┼─────┼─────┼─────┼─────┼─────┤ +// │ │ │ │ │ rctl │ spc │ │ │ │ │ │ │ │ +// └─────┴─────┴─────┴─────┴──────┴─────┘ └─────┴─────┴─────┴─────┴─────┴─────┘ +[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_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_Z , KC_X , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_DOT , KC_SLSH , KC_TRNS, + KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_RCTL , KC_SPC , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ), // ┌─────┬───────────┬──────────────────┬─────┬─────┬─────┐ ┌─────┬──────┬──────┬──────────────┬───────────┬─────┐ @@ -48,27 +48,27 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ├─────┼───────────┼──────────────────┼─────┼─────┼─────┤ ├─────┼──────┼──────┼──────────────┼───────────┼─────┤ // │ │ │ │ │ │ │ │ │ │ │ │ │ │ // └─────┴───────────┴──────────────────┴─────┴─────┴─────┘ └─────┴──────┴──────┴──────────────┴───────────┴─────┘ -[2] = LAYOUT_ortho_4x12( +[CODE] = LAYOUT_ortho_4x12( KC_TRNS , KC_UNDS , KC_MINS , KC_PLUS , KC_EQL , KC_COLN , KC_GRV , KC_MRWD , KC_MPLY , KC_MFFD , KC_DEL , KC_TRNS, KC_TRNS , KC_LCBR , KC_LPRN , KC_RPRN , KC_RCBR , KC_PIPE , KC_ESC , KC_LEFT , KC_UP , KC_DOWN , KC_RGHT , KC_TRNS, KC_TRNS , RSFT_T(KC_LBRC) , TD(TD_MODS_QUOT) , KC_DQUO , KC_RBRC , KC_SCLN , KC_TILDE , KC_VOLD , KC_MUTE , RGUI_T(KC_VOLU) , RSFT_T(KC_BSLS) , 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 ), -// ┌─────┬──────┬─────┬─────┬─────┬───────┐ ┌─────┬─────┬─────┬──────┬───────────┬─────┐ -// │ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ caps │ bACK │ │ -// ├─────┼──────┼─────┼─────┼─────┼───────┤ ├─────┼─────┼─────┼──────┼───────────┼─────┤ -// │ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ │ -// ├─────┼──────┼─────┼─────┼─────┼───────┤ ├─────┼─────┼─────┼──────┼───────────┼─────┤ -// │ │ rsft │ no │ no │ no │ MO(4) │ │ no │ no │ , │ . │ RSFT_T(/) │ │ -// ├─────┼──────┼─────┼─────┼─────┼───────┤ ├─────┼─────┼─────┼──────┼───────────┼─────┤ -// │ │ │ │ │ │ │ │ │ │ │ │ │ │ -// └─────┴──────┴─────┴─────┴─────┴───────┘ └─────┴─────┴─────┴──────┴───────────┴─────┘ -[3] = LAYOUT_ortho_4x12( - KC_TRNS , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_CAPS , KC_BACK , KC_TRNS, - 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_RSFT , KC_NO , KC_NO , KC_NO , MO(4) , KC_NO , KC_NO , KC_COMMA , KC_DOT , RSFT_T(KC_SLSH) , 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 +// ┌─────┬──────┬─────┬─────┬─────┬──────────────┐ ┌─────┬─────┬─────┬──────┬───────────┬─────┐ +// │ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ caps │ bACK │ │ +// ├─────┼──────┼─────┼─────┼─────┼──────────────┤ ├─────┼─────┼─────┼──────┼───────────┼─────┤ +// │ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ │ +// ├─────┼──────┼─────┼─────┼─────┼──────────────┤ ├─────┼─────┼─────┼──────┼───────────┼─────┤ +// │ │ rsft │ no │ no │ no │ MO(FUNCTION) │ │ no │ no │ , │ . │ RSFT_T(/) │ │ +// ├─────┼──────┼─────┼─────┼─────┼──────────────┤ ├─────┼─────┼─────┼──────┼───────────┼─────┤ +// │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// └─────┴──────┴─────┴─────┴─────┴──────────────┘ └─────┴─────┴─────┴──────┴───────────┴─────┘ +[NUMBER] = LAYOUT_ortho_4x12( + KC_TRNS , KC_EXLM , KC_AT , KC_HASH , KC_DLR , KC_PERC , KC_CIRC , KC_AMPR , KC_ASTR , KC_CAPS , KC_BACK , KC_TRNS, + 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_RSFT , KC_NO , KC_NO , KC_NO , MO(FUNCTION) , KC_NO , KC_NO , KC_COMMA , KC_DOT , RSFT_T(KC_SLSH) , 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 ), // ┌─────┬─────────────┬────────────┬─────┬───────────┬─────┐ ┌─────┬─────┬─────┬─────────────┬─────────────┬─────┐ @@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ├─────┼─────────────┼────────────┼─────┼───────────┼─────┤ ├─────┼─────┼─────┼─────────────┼─────────────┼─────┤ // │ │ │ │ │ │ │ │ │ │ │ │ │ │ // └─────┴─────────────┴────────────┴─────┴───────────┴─────┘ └─────┴─────┴─────┴─────────────┴─────────────┴─────┘ -[4] = LAYOUT_ortho_4x12( +[FUNCTION] = LAYOUT_ortho_4x12( KC_TRNS , LAYOUT_SWAP , MODE_CHECK , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , GAME_TOGGLE , OS_TOGGLE , KC_TRNS, KC_TRNS , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_TRNS, KC_TRNS , RSFT_T(KC_F11) , KC_NO , KC_NO , HARD_BOOT , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , RSFT_T(KC_F12) , KC_TRNS, @@ -96,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ├─────┼───────────┼─────┼─────┼─────┼─────┤ ├─────────┼────────────┼─────────┼─────────┼────────────┼─────┤ // │ │ │ │ │ │ │ │ MS_BTN1 │ MS_BTN2 │ │ │ │ │ // └─────┴───────────┴─────┴─────┴─────┴─────┘ └─────────┴────────────┴─────────┴─────────┴────────────┴─────┘ -[5] = LAYOUT_ortho_4x12( +[MOUSE] = LAYOUT_ortho_4x12( KC_TRNS , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , RGUI(KC_LEFT) , KC_NO , KC_NO , RGUI(KC_RIGHT) , KC_TRNS, KC_TRNS , KC_A , KC_NO , KC_NO , KC_NO , KC_NO , KC_ESC , MS_LEFT , MS_UP , MS_DOWN , MS_RGHT , KC_TRNS, KC_TRNS , RSFT_T(KC_Z) , KC_X , KC_C , KC_V , KC_B , KC_NO , MS_WHLL , MS_WHLU , MS_WHLD , MS_WHLR , KC_TRNS, diff --git a/Scotto48/PCB/QMK/keymaps/scotto/keys.c b/Scotto48/PCB/QMK/keymaps/scotto/keys.c index a36f151..c0576d1 100644 --- a/Scotto48/PCB/QMK/keymaps/scotto/keys.c +++ b/Scotto48/PCB/QMK/keymaps/scotto/keys.c @@ -87,7 +87,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } if (user_config.is_game_mode) { - layer_on(1); + layer_on(GAME); } if (remapped_keycode != KC_NO) { @@ -126,22 +126,22 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; case TO_CODE: flash_led(255, 255, 0); // Yellow - layer_move(get_highest_layer(layer_state) == 2 ? 0 : 2); + layer_move(get_highest_layer(layer_state) == CODE ? 0 : CODE); return false; case TO_NUMBER: flash_led(0, 0, 255); // Blue - layer_move(get_highest_layer(layer_state) == 3 ? 0 : 3); + layer_move(get_highest_layer(layer_state) == NUMBER ? 0 : NUMBER); return false; case TO_FUNCTION: flash_led(255, 64, 0); // Orange - layer_move(get_highest_layer(layer_state) == 4 ? 0 : 4); + layer_move(get_highest_layer(layer_state) == FUNCTION ? 0 : FUNCTION); return false; case TO_MOUSE: flash_led(128, 0, 255); // Purple - layer_move(get_highest_layer(layer_state) == 5 ? 0 : 5); + layer_move(get_highest_layer(layer_state) == MOUSE ? 0 : MOUSE); return false; case OS_TOGGLE: @@ -156,7 +156,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case GAME_TOGGLE: user_config.is_game_mode = !user_config.is_game_mode; - user_config.is_game_mode ? layer_on(1) : layer_off(1); + user_config.is_game_mode ? layer_on(GAME) : layer_off(GAME); eeconfig_update_user(user_config.raw); if (user_config.is_game_mode) { diff --git a/Scotto48/PCB/QMK/keymaps/scotto/keys.h b/Scotto48/PCB/QMK/keymaps/scotto/keys.h index ce2a683..7b22168 100644 --- a/Scotto48/PCB/QMK/keymaps/scotto/keys.h +++ b/Scotto48/PCB/QMK/keymaps/scotto/keys.h @@ -47,3 +47,12 @@ enum combos { FUNCTION_COMBO_2, MOUSE_COMBO, }; + +enum layers { + BASE, + GAME, + CODE, + NUMBER, + FUNCTION, + MOUSE +}; diff --git a/Scotto48/PCB/QMK/keymaps/scotto/rgb.c b/Scotto48/PCB/QMK/keymaps/scotto/rgb.c index d415a0a..37d645e 100644 --- a/Scotto48/PCB/QMK/keymaps/scotto/rgb.c +++ b/Scotto48/PCB/QMK/keymaps/scotto/rgb.c @@ -18,19 +18,19 @@ void housekeeping_task_user(void) { // Layer colors switch (layer) { - case 2: + case CODE: rgblight_setrgb(SCALE(255), SCALE(255), 0); // Yellow return; - case 3: + case NUMBER: rgblight_setrgb(0, 0, SCALE(255)); // Blue return; - case 4: + case FUNCTION: rgblight_setrgb(SCALE(255), SCALE(64), 0); // Orange return; - case 5: + case MOUSE: rgblight_setrgb(SCALE(128), 0, SCALE(255)); // Purple return; }