diff options
Diffstat (limited to 'layouts/community/ergodox/replicaJunction/keymap.c')
| -rw-r--r-- | layouts/community/ergodox/replicaJunction/keymap.c | 725 |
1 files changed, 338 insertions, 387 deletions
diff --git a/layouts/community/ergodox/replicaJunction/keymap.c b/layouts/community/ergodox/replicaJunction/keymap.c index ce0400be5..0c36abcf7 100644 --- a/layouts/community/ergodox/replicaJunction/keymap.c +++ b/layouts/community/ergodox/replicaJunction/keymap.c | |||
| @@ -1,427 +1,378 @@ | |||
| 1 | /* | 1 | /* Copyright 2021 Joshua T. |
| 2 | * Keyboard: Ergodox | 2 | * |
| 3 | * Keymap: replicaJunction | 3 | * This program is free software: you can redistribute it and/or modify |
| 4 | * Version: 2.1 | 4 | * it under the terms of the GNU General Public License as published by |
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 5 | */ | 15 | */ |
| 6 | 16 | ||
| 7 | #include QMK_KEYBOARD_H | 17 | #include QMK_KEYBOARD_H |
| 8 | #include "config.h" | ||
| 9 | #include "replicaJunction.h" | 18 | #include "replicaJunction.h" |
| 10 | 19 | ||
| 11 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 20 | // Most layers are defined in my userspace, but this keyboard has |
| 21 | // an extra one. | ||
| 22 | enum additional_keyboard_layers { | ||
| 23 | L_SYSLEDS = _LAYER_SAFE_RANGE | ||
| 24 | }; | ||
| 12 | 25 | ||
| 13 | [L_COLEMAK] = LAYOUT_ergodox( | 26 | #define BSP_SYM LT(L_SYMBOLS, KC_BSPC) |
| 14 | //--------|--------|--------|--------|--------|--------|--------| | 27 | #define SPC_NAV LT(L_NAVIGATION, KC_SPC) |
| 15 | KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_GRV , | ||
| 16 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 17 | KX_ECTL ,KC_Q ,KC_W ,KC_F ,KC_P ,KC_B ,KC_LBRC , | ||
| 18 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 19 | KC_TAB ,KC_A ,KC_R_LT ,KC_S_LT ,KC_T ,KC_G, | ||
| 20 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 21 | KC_LSFT ,KX_Z_MT ,KX_X_MT ,KX_C_MT ,KX_D_MT ,KC_V ,KC_RBRC , | ||
| 22 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 23 | TD_LAYR ,KC_LGUI ,KC_HYPR ,KX_CTSF ,KC_LCTL , | ||
| 24 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 25 | KC_HOME ,KC_END , | ||
| 26 | // |--------|--------| | ||
| 27 | KC_PGUP , | ||
| 28 | // |--------|--------|--------| | ||
| 29 | KX_BKNM ,KX_DCTL ,KC_PGDN , | ||
| 30 | // |--------|--------|--------| | ||
| 31 | |||
| 32 | //--------|--------|--------|--------|--------|--------|-------| | ||
| 33 | TG_GAME ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_EQL , | ||
| 34 | //--------|--------|--------|--------|--------|--------|-------| | ||
| 35 | KC_DEL ,KC_J ,KC_L ,KC_U ,KC_Y ,KC_SCLN ,KC_BSLS, | ||
| 36 | //--------|--------|--------|--------|--------|--------|-------| | ||
| 37 | KC_M ,KC_N ,KC_E_LT ,KC_I_LT ,KC_O ,KC_QUOT, | ||
| 38 | //--------|--------|--------|--------|--------|--------|-------| | ||
| 39 | KC_LOCK ,KC_K ,KX_H_MT ,KX_COMT ,KX_DOMT ,KX_SLMT ,KC_RSFT, | ||
| 40 | //--------|--------|--------|--------|--------|--------|-------| | ||
| 41 | KC_LALT ,KC_MINS ,KC_QUOT ,KC_EQL ,TT_NUM , | ||
| 42 | //--------|--------|--------|--------|--------|--------|-------| | ||
| 43 | KC_LEFT ,KC_RGHT , | ||
| 44 | //--------|--------| | ||
| 45 | KC_UP , | ||
| 46 | //--------|--------|--------| | ||
| 47 | KC_DOWN ,KX_NALT ,KX_SPAC | ||
| 48 | //--------|--------|--------| | ||
| 49 | 28 | ||
| 50 | ), | 29 | #define MO_FN MO(L_FN) |
| 30 | #define MO_MAC MO(L_MACROS) | ||
| 31 | #define MO_SLED MO(L_SYSLEDS) | ||
| 32 | |||
| 33 | #define TG_GAME TG(L_GAMING) | ||
| 34 | |||
| 35 | #define ESC_SFT LSFT_T(KC_ESC) | ||
| 36 | #define TAB_SFT RSFT_T(KC_TAB) | ||
| 51 | 37 | ||
| 52 | 38 | ||
| 39 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
| 40 | |||
| 53 | 41 | ||
| 54 | [L_QWERTY] = LAYOUT_ergodox( | 42 | [L_BASE] = LAYOUT_ergodox( |
| 55 | //--------|--------|--------|--------|--------|--------|--------| | 43 | KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, |
| 56 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | 44 | KC_EQL, KC_Q, KC_W, KC_F, KC_P, KC_B, NUMWORD, |
| 57 | //--------|--------|--------|--------|--------|--------|--------| | 45 | KC_MINS, KC_A, KC_R, KC_S, KC_T, KC_G, |
| 58 | _______ ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,_______ , | 46 | KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_RBRC, |
| 59 | //--------|--------|--------|--------|--------|--------|--------| | 47 | KC_LCTL, KC_LGUI ,KC_LALT, MO_FN, ESC_SFT, |
| 60 | _______ ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , | 48 | KC_HOME, KC_END, |
| 61 | //--------|--------|--------|--------|--------|--------|--------| | 49 | KC_PGUP, |
| 62 | _______ ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,_______ , | 50 | BSP_SYM, CTL_DEL, KC_PGDN, |
| 63 | //--------|--------|--------|--------|--------|--------|--------| | 51 | |
| 64 | _______ ,_______ ,_______ ,_______ ,_______ , | 52 | TG_GAME, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, |
| 65 | //--------|--------|--------|--------|--------|--------|--------| | 53 | CAPWORD, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSLS, |
| 66 | _______ ,_______ , | 54 | KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, |
| 67 | // |--------|--------| | 55 | KC_LOCK, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, |
| 68 | _______ , | 56 | TAB_SFT, MO_FN, KC_RALT, KC_RGUI, MO_SLED, |
| 69 | // |--------|--------|--------| | 57 | KC_LEFT, KC_RGHT, |
| 70 | _______ ,_______ ,_______ , | 58 | KC_UP, |
| 71 | // |--------|--------|--------| | 59 | KC_DOWN, ALT_ENT, SPC_NAV |
| 72 | |||
| 73 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 74 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_EQL , | ||
| 75 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 76 | _______ ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,_______ , | ||
| 77 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 78 | KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT , | ||
| 79 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 80 | KC_LOCK ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC , | ||
| 81 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 82 | KC_RALT ,KC_MINS ,KC_QUOT ,KC_EQL ,TT_NUM , | ||
| 83 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 84 | KC_LEFT ,KC_RGHT , | ||
| 85 | //--------|--------| | ||
| 86 | KC_UP , | ||
| 87 | //--------|--------|--------| | ||
| 88 | KC_DOWN ,KX_NALT ,KX_SPAC | ||
| 89 | //--------|--------|--------| | ||
| 90 | ), | 60 | ), |
| 91 | 61 | ||
| 92 | 62 | ||
| 63 | [L_GAMING] = LAYOUT_ergodox( | ||
| 64 | KC_GRV, _______,_______,_______,_______,_______,_______, | ||
| 65 | KC_TAB, _______,_______,_______,_______,_______,_______, | ||
| 66 | KC_ESC, KC_A, KC_R, KC_S, KC_T, _______, | ||
| 67 | KC_LSFT,_______,_______,KC_C, KC_D, _______,_______, | ||
| 68 | _______,_______,KC_TAB, KC_LALT,KC_LCTL, | ||
| 69 | KC_LOCK,_______, | ||
| 70 | _______, | ||
| 71 | KC_SPC, KC_LSFT,_______, | ||
| 72 | |||
| 73 | ooooooo,_______,_______,_______,_______,_______,_______, | ||
| 74 | _______,_______,_______,_______,_______,_______,_______, | ||
| 75 | _______,KC_N, KC_E, KC_I, KC_O, _______, | ||
| 76 | _______,_______,_______,_______,_______,_______,_______, | ||
| 77 | MO_FN, KC_LEFT,KC_DOWN,KC_UP, KC_RGHT, | ||
| 78 | KC_BTN3,_______, | ||
| 79 | KC_BTN2, | ||
| 80 | KC_BTN1,KC_ENT, KC_BSPC | ||
| 81 | ), | ||
| 82 | |||
| 93 | 83 | ||
| 94 | [L_NUM] = LAYOUT_ergodox( | 84 | [L_NUMBERS] = LAYOUT_ergodox( |
| 95 | //--------|--------|--------|--------|--------|--------|--------| | 85 | _______,_______,_______,_______,_______,_______,_______, |
| 96 | _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,_______ , | 86 | _______,_______,_______,_______,_______,_______,_______, |
| 97 | //--------|--------|--------|--------|--------|--------|--------| | 87 | _______,KC_LGUI,KC_LALT,KC_LSFT,KC_LCTL,_______, |
| 98 | _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_SLSH ,_______ , | 88 | _______,_______,_______,_______,_______,_______,_______, |
| 99 | //--------|--------|--------|--------|--------|--------|--------| | 89 | _______,_______,_______,_______,_______, |
| 100 | _______ ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_PIPE, | 90 | _______,_______, |
| 101 | //--------|--------|--------|--------|--------|--------|--------| | 91 | _______, |
| 102 | _______ ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_BSLS ,_______ , | 92 | _______,_______,_______, |
| 103 | //--------|--------|--------|--------|--------|--------|--------| | 93 | |
| 104 | _______ ,_______ ,KC_AMPR ,KC_LABK ,KC_RABK, | 94 | _______,KC_NLCK,_______,_______,_______,_______,_______, |
| 105 | //--------|--------|--------|--------|--------|--------|--------| | 95 | KC_NLCK,KC_HASH,KC_P7, KC_P8, KC_P9, KC_PSLS,SFT_TAB, |
| 106 | _______ ,_______ , | 96 | KC_PPLS,KC_P4, KC_P5, KC_P6, KC_PAST,KC_TAB, |
| 107 | // |--------|--------| | 97 | _______,KC_PMNS,KC_P1, KC_P2, KC_P3, KC_BSLS,KC_EQL, |
| 108 | _______ , | 98 | KC_P0, KC_P0, KC_PDOT,KC_PENT,_______, |
| 109 | // |--------|--------|--------| | 99 | _______,_______, |
| 110 | _______ ,_______ ,_______ , | 100 | _______, |
| 111 | // |--------|--------|--------| | 101 | _______,_______,_______ |
| 112 | |||
| 113 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 114 | _______ ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 , | ||
| 115 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 116 | _______ ,KC_COLN ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PSLS ,KC_F12 , | ||
| 117 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 118 | KC_HASH ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PAST ,KC_BSPC , | ||
| 119 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 120 | _______ ,KC_BSPC ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PMNS ,KC_TAB , | ||
| 121 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 122 | KC_P0 ,KC_PDOT ,KC_PEQL ,KC_PPLS ,_______ , | ||
| 123 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 124 | _______ ,_______ , | ||
| 125 | //--------|--------| | ||
| 126 | _______ , | ||
| 127 | //--------|--------|--------| | ||
| 128 | _______ ,KC_PENT ,MO_FUNC | ||
| 129 | //--------|--------|--------| | ||
| 130 | ), | 102 | ), |
| 131 | 103 | ||
| 132 | 104 | ||
| 105 | [L_SYMBOLS] = LAYOUT_ergodox( | ||
| 106 | _______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, | ||
| 107 | _______,KC_AT, KC_LT, KC_DLR, KC_GT, XXXXXXX,_______, | ||
| 108 | _______,KC_BSLS,KC_LPRN,KC_DQUO,KC_RPRN,KC_HASH, | ||
| 109 | _______,KC_EXLM,KC_COLN,KC_ASTR,KC_PLUS,XXXXXXX,_______, | ||
| 110 | _______,_______,_______,_______,_______, | ||
| 111 | _______,_______, | ||
| 112 | _______, | ||
| 113 | ooooooo,_______,_______, | ||
| 114 | |||
| 115 | _______,KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, | ||
| 116 | _______,XXXXXXX,KC_LBRC,KC_UNDS,KC_RBRC,XXXXXXX,KC_F12, | ||
| 117 | KC_PERC,KC_LCBR,KC_EQL, KC_RCBR,KC_PIPE,_______, | ||
| 118 | _______,XXXXXXX,KC_AMPR,KC_CIRC,KC_TILD,KC_GRV, _______, | ||
| 119 | _______,_______,_______,_______,_______, | ||
| 120 | _______,_______, | ||
| 121 | _______, | ||
| 122 | _______,_______,ooooooo | ||
| 123 | ), | ||
| 124 | |||
| 133 | 125 | ||
| 134 | [L_EXTEND] = LAYOUT_ergodox( | 126 | [L_NAVIGATION] = LAYOUT_ergodox( |
| 135 | //--------|--------|--------|--------|--------|--------|--------| | 127 | _______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, |
| 136 | _______ ,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, | 128 | _______,OS_UNDO,OS_CUT, OS_PAST,OS_COPY,OS_SALL,_______, |
| 137 | //--------|--------|--------|--------|--------|--------|--------| | 129 | _______,KC_LGUI,KC_LSFT,KC_LALT,KC_LCTL,_______, |
| 138 | _______ ,_______ ,_______ ,_______ ,KC_APP ,KX_CGR, KC_VOLU, | 130 | _______,WIN_V, _______,_______,OS_FIND,SEARCH, _______, |
| 139 | //--------|--------|--------|--------|--------|--------|--------| | 131 | _______,_______,_______,_______,_______, |
| 140 | _______ ,KC_LGUI, KC_LSFT, KC_LALT, KC_LCTL, _______ , | 132 | _______,_______, |
| 141 | //--------|--------|--------|--------|--------|--------|--------| | 133 | _______, |
| 142 | _______ ,_______ ,_______ ,_______ ,KX_SRCH, KX_PAST, KC_VOLD, | 134 | _______,_______,_______, |
| 143 | //--------|--------|--------|--------|--------|--------|--------| | 135 | |
| 144 | _______ ,_______ ,_______ ,_______ ,_______ , | 136 | _______,KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, |
| 145 | //--------|--------|--------|--------|--------|--------|--------| | 137 | _______,KC_PGUP,KC_HOME,KC_UP, KC_END, KC_DEL, KC_F12, |
| 146 | _______ ,_______ , | 138 | KC_PGDN,KC_LEFT,KC_DOWN,KC_RGHT,KC_BSPC,_______, |
| 147 | // |--------|--------|--------| | 139 | _______,_______,SFT_TAB,KC_TAB, KC_APP, KC_PSCR,_______, |
| 148 | _______ , | 140 | _______,_______,_______,_______,_______, |
| 149 | // |--------|--------|--------| | 141 | _______,_______, |
| 150 | MO_FUNC, _______ ,_______ , | 142 | _______, |
| 151 | // |--------|--------|--------| | 143 | _______,_______,ooooooo |
| 152 | |||
| 153 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 154 | KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______ , | ||
| 155 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 156 | _______ ,KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, _______ , | ||
| 157 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 158 | KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, KC_MENU, | ||
| 159 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 160 | _______ ,_______ ,KX_STAB, KC_TAB, _______ ,KC_INS, KC_PSCR, | ||
| 161 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 162 | _______ ,_______ ,_______ ,KC_PSCR, _______ , | ||
| 163 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 164 | _______ ,_______ , | ||
| 165 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 166 | _______ , | ||
| 167 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 168 | _______ ,_______ ,_______ | ||
| 169 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 170 | ), | 144 | ), |
| 171 | 145 | ||
| 172 | 146 | ||
| 147 | [L_FN] = LAYOUT_ergodox( | ||
| 148 | _______,_______,_______,_______,_______,_______,_______, | ||
| 149 | _______,QK_VERS,_______,DM_REC2,DM_REC1,DM_RSTP,_______, | ||
| 150 | _______,QK_MAKE,_______,DM_PLY2,DM_PLY1,_______, | ||
| 151 | _______,QK_FLSH,K_SECR1,K_SECR2,K_SECR3,K_SECR4,_______, | ||
| 152 | _______,_______,_______,ooooooo,_______, | ||
| 153 | _______,_______, | ||
| 154 | _______, | ||
| 155 | KC_LCTL,_______,_______, | ||
| 156 | |||
| 157 | _______,_______,_______,_______,_______,_______,_______, | ||
| 158 | _______,KC_VOLU,KC_F9, KC_F10, KC_F11, KC_F12, _______, | ||
| 159 | KC_MUTE,KC_F5, KC_F6, KC_F7, KC_F8, _______, | ||
| 160 | _______,KC_VOLD,KC_F1, KC_F2, KC_F3, KC_F4, _______, | ||
| 161 | _______,ooooooo,_______,_______,_______, | ||
| 162 | _______,RESET, | ||
| 163 | _______, | ||
| 164 | _______,_______,KC_LALT | ||
| 165 | ), | ||
| 173 | 166 | ||
| 174 | [L_FUNC] = LAYOUT_ergodox( | 167 | |
| 175 | //--------|--------|--------|--------|--------|--------|--------| | 168 | [L_MACROS] = LAYOUT_ergodox( |
| 176 | _______ ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,_______ , | 169 | _______,_______,_______,_______,_______,_______,_______, |
| 177 | //--------|--------|--------|--------|--------|--------|--------| | 170 | _______,_______,_______,DM_REC2,DM_REC1,_______,_______, |
| 178 | _______ ,_______ ,_______ ,M_LCLIK, M_RCLIK, M_MCLIK, _______ , | 171 | _______,_______,_______,DM_PLY2,DM_PLY1,DM_RSTP, |
| 179 | //--------|--------|--------|--------|--------|--------|--------| | 172 | _______,_______,_______,_______,_______,_______,_______, |
| 180 | _______ ,KC_LGUI, KC_LSFT, KC_LALT, KC_LCTL, M_WHLUP, | 173 | _______,_______,_______,_______,_______, |
| 181 | //--------|--------|--------|--------|--------|--------|--------| | 174 | _______,_______, |
| 182 | _______ ,M_LEFT, M_DOWN, M_UP ,M_RIGHT, M_WHLDN, _______ , | 175 | _______, |
| 183 | //--------|--------|--------|--------|--------|--------|--------| | 176 | ooooooo,_______,_______, |
| 184 | _______ ,_______ ,_______ ,_______ ,_______ , | 177 | |
| 185 | //--------|--------|--------|--------|--------|--------|--------| | 178 | _______,_______,_______,_______,_______,_______,_______, |
| 186 | _______ ,_______ , | 179 | _______,_______,SHEBANG,_______,_______,_______,_______, |
| 187 | // |--------|--------|--------| | 180 | PRG_NE, PRG_EQ, PRG_GEQ,PRG_LEQ,PRG_ARR,_______, |
| 188 | _______ , | 181 | _______,_______,PS_ITEM,FS_PIPE,_______,FS_ARR, _______, |
| 189 | // |--------|--------|--------| | 182 | _______,_______,_______,_______,_______, |
| 190 | _______ ,_______ ,_______ , | 183 | _______,_______, |
| 191 | // |--------|--------|--------| | 184 | _______, |
| 192 | 185 | _______,_______,ooooooo | |
| 193 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 194 | _______ ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,_______ , | ||
| 195 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 196 | _______ ,KC_VOLU, KC_F9, KC_F10, KC_F11, KC_F12, _______ , | ||
| 197 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 198 | KC_MUTE, KC_F5, KC_F6, KC_F7, KC_F8, _______ , | ||
| 199 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 200 | _______ ,KC_VOLD, KC_F1, KC_F2, KC_F3, KC_F4, _______ , | ||
| 201 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 202 | _______ ,_______ ,_______ ,_______ ,_______ , | ||
| 203 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 204 | _______ ,_______ , | ||
| 205 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 206 | _______ , | ||
| 207 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 208 | _______ ,_______ ,_______ | ||
| 209 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 210 | ), | 186 | ), |
| 211 | 187 | ||
| 212 | 188 | ||
| 213 | 189 | ||
| 214 | [L_GAMING] = LAYOUT_ergodox( | 190 | [L_SYSLEDS] = LAYOUT_ergodox( |
| 215 | //--------|--------|--------|--------|--------|--------|--------| | 191 | _______,_______,_______,_______,_______,_______,_______, |
| 216 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | 192 | _______,_______,_______,_______,_______,_______,_______, |
| 217 | //--------|--------|--------|--------|--------|--------|--------| | 193 | _______,_______,_______,_______,_______,_______, |
| 218 | KC_ESC ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | 194 | _______,_______,_______,_______,_______,_______,_______, |
| 219 | //--------|--------|--------|--------|--------|--------|--------| | 195 | _______,_______,_______,_______,_______, |
| 220 | _______ ,_______ ,KC_R ,KC_S ,_______ ,_______ , | 196 | _______,_______, |
| 221 | //--------|--------|--------|--------|--------|--------|--------| | 197 | _______, |
| 222 | KC_LSFT, _______ ,_______ ,_______ ,_______ ,_______ ,_______ , | 198 | _______,_______,_______, |
| 223 | //--------|--------|--------|--------|--------|--------|--------| | 199 | |
| 224 | _______ ,_______ ,_______ ,KC_LALT ,KC_LCTL , | 200 | KC_NLCK,_______,_______,_______,_______,_______,_______, |
| 225 | //--------|--------|--------|--------|--------|--------|--------| | 201 | KC_CAPS,_______,_______,_______,_______,_______,_______, |
| 226 | _______ ,_______ , | 202 | _______,_______,_______,_______,_______,_______, |
| 227 | // |--------|--------| | 203 | KC_SLCK,_______,_______,_______,_______,_______,_______, |
| 228 | _______ , | 204 | _______,_______,_______,_______,ooooooo, |
| 229 | // |--------|--------|--------| | 205 | _______,_______, |
| 230 | KC_SPC, KC_LSFT, _______ , | 206 | _______, |
| 231 | // |--------|--------|--------| | 207 | _______,_______,_______ |
| 232 | |||
| 233 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 234 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 235 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 236 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 237 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 238 | _______ ,_______ ,KC_E ,KC_I ,_______ ,_______ , | ||
| 239 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 240 | _______ ,_______ ,_______ ,_______ ,_______ ,KC_UP, KC_SLSH, | ||
| 241 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 242 | _______ ,_______ ,KC_LEFT, KC_DOWN, KC_RGHT, | ||
| 243 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 244 | M_MCLIK ,_______ , | ||
| 245 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 246 | M_RCLIK , | ||
| 247 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 248 | M_LCLIK ,KC_ENT ,KC_BSPC | ||
| 249 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 250 | ) | ||
| 251 | , | ||
| 252 | |||
| 253 | // "Letter Layers" | ||
| 254 | |||
| 255 | [L_LL_R] = LAYOUT_ergodox( | ||
| 256 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 257 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 258 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 259 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 260 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 261 | _______ ,_______ ,ooooooo ,KC_AMPR ,KC_PIPE ,_______ , | ||
| 262 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 263 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 264 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 265 | _______ ,_______ ,_______ ,_______ ,_______ , | ||
| 266 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 267 | _______ ,_______ , | ||
| 268 | // |--------|--------| | ||
| 269 | _______ , | ||
| 270 | // |--------|--------|--------| | ||
| 271 | _______ ,_______ ,_______ , | ||
| 272 | // |--------|--------|--------| | ||
| 273 | |||
| 274 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 275 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 276 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 277 | _______ ,KC_COLN ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PSLS ,_______ , | ||
| 278 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 279 | KC_HASH ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PAST ,KC_TAB , | ||
| 280 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 281 | _______ ,KC_BSPC ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PMNS ,_______ , | ||
| 282 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 283 | KC_P0 ,KC_PDOT ,KC_PEQL ,KC_PPLS ,_______ , | ||
| 284 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 285 | _______ ,_______ , | ||
| 286 | //--------|--------| | ||
| 287 | _______ , | ||
| 288 | //--------|--------|--------| | ||
| 289 | _______ ,KC_PENT ,MO_FUNC | ||
| 290 | //--------|--------|--------| | ||
| 291 | ) | ||
| 292 | , | ||
| 293 | |||
| 294 | [L_LL_E] = LAYOUT_ergodox( | ||
| 295 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 296 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 297 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 298 | RJ_QMKV ,RJ_MAKE ,RJ_EQ ,RJ_LEQ ,RJ_GEQ ,RJ_GEQR ,_______ , | ||
| 299 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 300 | _______ ,_______ ,_______ ,RJ_SELS ,RJ_DUND ,_______ , | ||
| 301 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 302 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 303 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 304 | _______ ,_______ ,_______ ,_______ ,_______ , | ||
| 305 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 306 | _______ ,_______ , | ||
| 307 | // |--------|--------| | ||
| 308 | _______ , | ||
| 309 | // |--------|--------|--------| | ||
| 310 | _______ ,_______ ,_______ , | ||
| 311 | // |--------|--------|--------| | ||
| 312 | |||
| 313 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 314 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 315 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 316 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 317 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 318 | _______ ,_______ ,ooooooo ,_______ ,_______ ,_______ , | ||
| 319 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 320 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 321 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 322 | _______ ,_______ ,_______ ,_______ ,_______ , | ||
| 323 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 324 | _______ ,_______ , | ||
| 325 | //--------|--------| | ||
| 326 | _______ , | ||
| 327 | //--------|--------|--------| | ||
| 328 | _______ ,_______ ,_______ | ||
| 329 | //--------|--------|--------| | ||
| 330 | ) | ||
| 331 | , | ||
| 332 | |||
| 333 | [L_LL_I] = LAYOUT_ergodox( | ||
| 334 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 335 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 336 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 337 | _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_SLSH ,_______ , | ||
| 338 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 339 | _______ ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_PIPE, | ||
| 340 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 341 | _______ ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_BSLS ,_______ , | ||
| 342 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 343 | _______ ,_______ ,KC_AMPR ,KC_LABK ,KC_RABK, | ||
| 344 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 345 | _______ ,_______ , | ||
| 346 | // |--------|--------| | ||
| 347 | _______ , | ||
| 348 | // |--------|--------|--------| | ||
| 349 | _______ ,_______ ,_______ , | ||
| 350 | // |--------|--------|--------| | ||
| 351 | |||
| 352 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 353 | _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , | ||
| 354 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 355 | _______ ,_______ ,KC_UNDS, KC_GRV ,_______ ,_______ ,_______ , | ||
| 356 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 357 | _______ ,KC_MINS ,KC_QUOT ,ooooooo ,_______ ,_______ , | ||
| 358 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 359 | _______ ,_______ ,KC_TILD, KC_DQT ,_______ ,_______ ,_______ , | ||
| 360 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 361 | _______ ,_______ ,_______ ,_______ ,_______ , | ||
| 362 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 363 | _______ ,_______ , | ||
| 364 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 365 | _______ , | ||
| 366 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 367 | _______ ,_______ ,_______ | ||
| 368 | //--------|--------|--------|--------|--------|--------|--------| | ||
| 369 | ) | 208 | ) |
| 370 | 209 | ||
| 210 | // Template | ||
| 211 | // [_NUMBERS] = LAYOUT_ergodox( | ||
| 212 | // _______,_______,_______,_______,_______,_______,_______, | ||
| 213 | // _______,_______,_______,_______,_______,_______,_______, | ||
| 214 | // _______,_______,_______,_______,_______,_______, | ||
| 215 | // _______,_______,_______,_______,_______,_______,_______, | ||
| 216 | // _______,_______,_______,_______,_______, | ||
| 217 | // _______,_______, | ||
| 218 | // _______, | ||
| 219 | // _______,_______,_______, | ||
| 220 | |||
| 221 | // _______,_______,_______,_______,_______,_______,_______, | ||
| 222 | // _______,_______,_______,_______,_______,_______,_______, | ||
| 223 | // _______,_______,_______,_______,_______,_______, | ||
| 224 | // _______,_______,_______,_______,_______,_______,_______, | ||
| 225 | // _______,_______,_______,_______,_______, | ||
| 226 | // _______,_______, | ||
| 227 | // _______, | ||
| 228 | // _______,_______,_______ | ||
| 229 | // ), | ||
| 371 | 230 | ||
| 372 | }; | 231 | }; |
| 373 | 232 | ||
| 374 | // The normal QMK functions ending in _user are overridden in the | 233 | void keyboard_post_init_user_kb(void) { |
| 375 | // replicaJunction userspace. Those functions handle my global | 234 | ergodox_right_led_1_on(); |
| 376 | // settings, and redirect to these _keymap functions if something | 235 | } |
| 377 | // is unhandled. This allows me to keep most of my global preferences | 236 | |
| 378 | // in one place while still allowing keyboard-specific code. | 237 | |
| 238 | //////////////////////////////////////////////////////////// | ||
| 239 | // System LED code | ||
| 240 | //////////////////////////////////////////////////////////// | ||
| 241 | |||
| 242 | // We need to track both the layer state and the system LED state in | ||
| 243 | // order to update the LEDs appropriately when either one changes. | ||
| 244 | // These are both represented as a bitmask. | ||
| 245 | // | ||
| 246 | // There is a global 'layer_state' variable but it is set after the call | ||
| 247 | // to layer_state_set_user(), so it doesn't work properly for our | ||
| 248 | // purposes. | ||
| 249 | static uint32_t current_layer_state = 0; | ||
| 250 | static uint8_t sys_led_state = 0; | ||
| 251 | |||
| 252 | // Whether the given layer (one of the constant defined at the top) is active. | ||
| 253 | #define LAYER_ON(state, layer) (state & (1<<layer)) | ||
| 254 | |||
| 255 | // Brightness of LEDs (0-255) | ||
| 256 | // Default value is 255. Use a lesser value for dimmer LEDs. | ||
| 257 | static const uint8_t max_led_value = 255; | ||
| 258 | |||
| 259 | void led_1_on(void) { | ||
| 260 | ergodox_right_led_1_on(); | ||
| 261 | ergodox_right_led_1_set(max_led_value); | ||
| 262 | } | ||
| 263 | |||
| 264 | void led_2_on(void) { | ||
| 265 | ergodox_right_led_2_on(); | ||
| 266 | ergodox_right_led_2_set(max_led_value); | ||
| 267 | } | ||
| 268 | |||
| 269 | void led_3_on(void) { | ||
| 270 | ergodox_right_led_3_on(); | ||
| 271 | ergodox_right_led_3_set(max_led_value); | ||
| 272 | } | ||
| 273 | |||
| 274 | // The onboard LED doesn't support brightness, but this function keeps | ||
| 275 | // things consistent. | ||
| 276 | void led_board_on(void) { | ||
| 277 | ergodox_board_led_on(); | ||
| 278 | } | ||
| 279 | |||
| 280 | void led_1_off(void) { | ||
| 281 | ergodox_right_led_1_off(); | ||
| 282 | } | ||
| 283 | |||
| 284 | void led_2_off(void) { | ||
| 285 | ergodox_right_led_2_off(); | ||
| 286 | } | ||
| 287 | |||
| 288 | void led_3_off(void) { | ||
| 289 | ergodox_right_led_3_off(); | ||
| 290 | } | ||
| 291 | |||
| 292 | void led_board_off(void) { | ||
| 293 | ergodox_board_led_off(); | ||
| 294 | } | ||
| 379 | 295 | ||
| 380 | // The idea was shamelessly copied from the amazing Drashna. | 296 | void set_leds_by_system_state(uint8_t led_state) { |
| 297 | led_t host_led_state = host_keyboard_led_state(); | ||
| 381 | 298 | ||
| 382 | // Nothing to do here, so I've commented it out. | 299 | if (led_state & host_led_state.num_lock) { |
| 383 | // bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | 300 | led_1_on(); |
| 384 | // return true; | 301 | } |
| 385 | // } | 302 | else { |
| 303 | led_1_off(); | ||
| 304 | } | ||
| 305 | |||
| 306 | if (led_state & host_led_state.caps_lock) { | ||
| 307 | led_2_on(); | ||
| 308 | } | ||
| 309 | else { | ||
| 310 | led_2_off(); | ||
| 311 | } | ||
| 312 | |||
| 313 | if (led_state & host_led_state.scroll_lock) { | ||
| 314 | led_3_on(); | ||
| 315 | } | ||
| 316 | else { | ||
| 317 | led_3_off(); | ||
| 318 | } | ||
| 319 | } | ||
| 320 | |||
| 321 | void set_leds_by_layer_state(uint32_t layer_state) { | ||
| 322 | if (LAYER_ON(layer_state, L_FN)) { | ||
| 323 | led_1_on(); | ||
| 324 | led_2_on(); | ||
| 325 | led_3_on(); | ||
| 326 | led_board_off(); | ||
| 327 | } | ||
| 328 | else if (LAYER_ON(layer_state, L_GAMING)) { | ||
| 329 | led_1_off(); | ||
| 330 | led_2_off(); | ||
| 331 | led_3_off(); | ||
| 332 | led_board_on(); | ||
| 333 | } | ||
| 334 | else if (LAYER_ON(layer_state, L_NUMBERS)) { | ||
| 335 | led_1_on(); | ||
| 336 | led_2_off(); | ||
| 337 | led_3_off(); | ||
| 338 | led_board_off(); | ||
| 339 | } | ||
| 340 | else if (LAYER_ON(layer_state, L_NAVIGATION)) { | ||
| 341 | led_1_off(); | ||
| 342 | led_2_on(); | ||
| 343 | led_3_off(); | ||
| 344 | led_board_off(); | ||
| 345 | } | ||
| 346 | else { | ||
| 347 | led_1_on(); | ||
| 348 | led_2_off(); | ||
| 349 | led_3_off(); | ||
| 350 | led_board_off(); | ||
| 351 | } | ||
| 352 | } | ||
| 386 | 353 | ||
| 387 | // void matrix_init_keymap(void) {}; | 354 | void led_set_kb(uint8_t usb_led) { |
| 355 | sys_led_state = usb_led; | ||
| 388 | 356 | ||
| 389 | void matrix_scan_keymap(void) { | 357 | if (LAYER_ON(current_layer_state, L_SYSLEDS)) { |
| 358 | set_leds_by_system_state(sys_led_state); | ||
| 359 | } | ||
| 360 | else { | ||
| 361 | set_leds_by_layer_state(current_layer_state); | ||
| 362 | } | ||
| 390 | 363 | ||
| 391 | uint8_t layer = biton32(layer_state); | 364 | led_set_user(usb_led); |
| 392 | // uint8_t default_layer = biton32(layer_state); | 365 | } |
| 393 | 366 | ||
| 394 | ergodox_board_led_off(); | 367 | layer_state_t layer_state_set_kb(layer_state_t state) { |
| 368 | current_layer_state = state; | ||
| 395 | 369 | ||
| 396 | switch (layer) { | 370 | if (LAYER_ON(state, L_SYSLEDS)) { |
| 397 | case L_COLEMAK: | 371 | set_leds_by_system_state(sys_led_state); |
| 398 | ergodox_right_led_1_on(); | 372 | } |
| 399 | ergodox_right_led_2_off(); | 373 | else { |
| 400 | ergodox_right_led_3_off(); | 374 | set_leds_by_layer_state(state); |
| 401 | break; | ||
| 402 | case L_NUM: | ||
| 403 | ergodox_right_led_1_on(); | ||
| 404 | ergodox_right_led_2_on(); | ||
| 405 | ergodox_right_led_3_off(); | ||
| 406 | break; | ||
| 407 | case L_EXTEND: | ||
| 408 | ergodox_right_led_1_on(); | ||
| 409 | ergodox_right_led_2_off(); | ||
| 410 | ergodox_right_led_3_on(); | ||
| 411 | break; | ||
| 412 | case L_FUNC: | ||
| 413 | ergodox_right_led_1_on(); | ||
| 414 | ergodox_right_led_2_on(); | ||
| 415 | ergodox_right_led_3_on(); | ||
| 416 | break; | ||
| 417 | case L_GAMING: | ||
| 418 | ergodox_right_led_1_off(); | ||
| 419 | ergodox_right_led_2_on(); | ||
| 420 | ergodox_right_led_3_on(); | ||
| 421 | break; | ||
| 422 | default: | ||
| 423 | // none | ||
| 424 | break; | ||
| 425 | } | 375 | } |
| 426 | 376 | ||
| 427 | }; | 377 | return update_tri_layer_state(state, L_SYMBOLS, L_NAVIGATION, L_MACROS); |
| 378 | } | ||
