keymap.c (25325B)
1 // Copyright 2024 splitkb.com (support@splitkb.com) 2 // SPDX-License-Identifier: GPL-2.0-or-later 3 4 #include QMK_KEYBOARD_H 5 6 enum layers { 7 _QWERTY = 0, 8 _DVORAK, 9 _COLEMAK_DH, 10 _NAV, 11 _SYM, 12 _FUNCTION, 13 _ADJUST, 14 }; 15 16 // Aliases for readability 17 #define QWERTY DF(_QWERTY) 18 #define COLEMAK DF(_COLEMAK_DH) 19 #define DVORAK DF(_DVORAK) 20 21 #define SYM MO(_SYM) 22 #define NAV MO(_NAV) 23 #define FKEYS MO(_FUNCTION) 24 #define ADJUST MO(_ADJUST) 25 26 #define CTL_ESC MT(MOD_LCTL, KC_ESC) 27 #define CTL_QUOT MT(MOD_RCTL, KC_QUOTE) 28 #define CTL_MINS MT(MOD_RCTL, KC_MINUS) 29 #define ALT_ENT MT(MOD_LALT, KC_ENT) 30 31 // Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter. 32 // The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and 33 // produces the key `tap` when tapped (i.e. pressed and released). 34 35 // clang-format off 36 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 37 /* 38 * Base Layer: QWERTY 39 * 40 * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. 41 * | Esc | 1 | 2 | 3 | 4 | 5 | |LShift| |RShift| | 6 | 7 | 8 | 9 | 0 | Esc | 42 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 43 * | Tab | Q | W | E | R | T | |LCtrl | | RCtrl| | Y | U | I | O | P | Bksp | 44 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 45 * |Ctrl/Esc| A | S | D | F | G | | LAlt | | RAlt | | H | J | K | L | ; : |Ctrl/' "| 46 * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| 47 * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | 48 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 49 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | 50 * | | | Enter| | | | | | | | | 51 * `----------------------------------' `----------------------------------' 52 * 53 * ,----------------------------. ,------. ,----------------------------. ,------. 54 * | Prev | Next | Pause | Stop | | Mute | | Prev | Next | Pause | Stop | | Mute | 55 * `----------------------------' `------' `----------------------------' '------' 56 */ 57 [_QWERTY] = LAYOUT_myr( 58 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_LSFT, KC_RSFT, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC, 59 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_LCTL, KC_RCTL, KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC, 60 CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_LALT, KC_RALT, KC_H , KC_J , KC_K , KC_L ,KC_SCLN,CTL_QUOT, 61 KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_N , KC_M ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT, 62 ADJUST , KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP, 63 64 KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE 65 ), 66 67 /* 68 * Base Layer: Dvorak 69 * 70 * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. 71 * | Esc | 1 | 2 | 3 | 4 | 5 | |LShift| |RShift| | 6 | 7 | 8 | 9 | 0 | Esc | 72 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 73 * | Tab | ' " | , < | . > | P | Y | |LCtrl | | RCtrl| | F | G | C | R | L | Bksp | 74 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 75 * |Ctrl/Esc| A | O | E | U | I | | LAlt | | RAlt | | D | H | T | N | S |Ctrl/- _| 76 * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| 77 * | LShift | ; : | Q | J | K | X | [ { |CapsLk| |F-keys| ] } | B | M | W | V | Z | RShift | 78 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 79 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | 80 * | | | Enter| | | | | | | | | 81 * `----------------------------------' `----------------------------------' 82 * 83 * ,----------------------------. ,------. ,----------------------------. ,------. 84 * | Prev | Next | Pause | Stop | | Mute | | Prev | Next | Pause | Stop | | Mute | 85 * `----------------------------' `------' `----------------------------' '------' 86 */ 87 [_DVORAK] = LAYOUT_myr( 88 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_LSFT, KC_RSFT, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC, 89 KC_TAB ,KC_QUOTE,KC_COMM, KC_DOT, KC_P , KC_Y , KC_LCTL, KC_RCTL, KC_F, KC_G , KC_C , KC_R , KC_L , KC_BSPC, 90 CTL_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_LALT, KC_RALT, KC_D, KC_H , KC_T , KC_N , KC_S , CTL_MINS, 91 KC_LSFT ,KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_B, KC_M , KC_W , KC_V , KC_Z , KC_RSFT, 92 ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP, 93 94 KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE 95 ), 96 97 /* 98 * Base Layer: Colemak DH 99 * 100 * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. 101 * | Esc | 1 | 2 | 3 | 4 | 5 | |LShift| |RShift| | 6 | 7 | 8 | 9 | 0 | Esc | 102 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 103 * | Tab | Q | W | F | P | B | |LCtrl | | RCtrl| | J | L | U | Y | ; : | Bksp | 104 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 105 * |Ctrl/Esc| A | R | S | T | G | | LAlt | | RAlt | | M | N | E | I | O |Ctrl/' "| 106 * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| 107 * | LShift | Z | X | C | D | V | [ { |CapsLk| |F-keys| ] } | K | H | , < | . > | / ? | RShift | 108 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 109 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | 110 * | | | Enter| | | | | | | | | 111 * `----------------------------------' `----------------------------------' 112 * 113 * ,----------------------------. ,------. ,----------------------------. ,------. 114 * | Prev | Next | Pause | Stop | | Mute | | Prev | Next | Pause | Stop | | Mute | 115 * `----------------------------' `------' `----------------------------' '------' 116 */ 117 [_COLEMAK_DH] = LAYOUT_myr( 118 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_LSFT, KC_RSFT, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC, 119 KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_LCTL, KC_RCTL, KC_J, KC_L , KC_U , KC_Y ,KC_SCLN, KC_BSPC, 120 CTL_ESC , KC_A , KC_R , KC_S , KC_T , KC_G , KC_LALT, KC_RALT, KC_M, KC_N , KC_E , KC_I , KC_O , CTL_QUOT, 121 KC_LSFT , KC_Z , KC_X , KC_C , KC_D , KC_V , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_K, KC_H ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT, 122 ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP, 123 124 KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE 125 ), 126 127 /* 128 * Nav Layer: Media, navigation 129 * 130 * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. 131 * | | | | | | | | | | | | | | | | | | 132 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 133 * | | | | | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete | 134 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 135 * | | GUI | Alt | Ctrl | Shift| | | | | | | PgDn | ← | ↓ | → | VolDn| Insert | 136 * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| 137 * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc | 138 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 139 * | | | | | | | | | | | | 140 * | | | | | | | | | | | | 141 * `----------------------------------' `----------------------------------' 142 * 143 * ,----------------------------. ,------. ,----------------------------. ,------. 144 * | Prev | Next | Pause | Stop | | Mute | | Prev | Next | Pause | Stop | | Mute | 145 * `----------------------------' `------' `----------------------------' '------' 146 */ 147 [_NAV] = LAYOUT_myr( 148 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 149 _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL, 150 _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, _______, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS, 151 _______, _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR, 152 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 153 154 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 155 ), 156 157 /* 158 * Sym Layer: Numbers and symbols 159 * 160 * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. 161 * | | | | | | | | | | | | | | | | | | 162 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 163 * | ` | 1 | 2 | 3 | 4 | 5 | | | | | | 6 | 7 | 8 | 9 | 0 | = | 164 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 165 * | ~ | ! | @ | # | $ | % | | | | | | ^ | & | * | ( | ) | + | 166 * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| 167 * | | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? | 168 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 169 * | | | | | | | | | | | | 170 * | | | | | | | | | | | | 171 * `----------------------------------' `----------------------------------' 172 * 173 * ,-----------------------------. ,------. ,---------------------------. ,------. 174 * | | | | | | | | | | | | | | 175 * `-----------------------------' `------' `---------------------------' '------' 176 */ 177 [_SYM] = LAYOUT_myr( 178 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 179 KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , 180 KC_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, 181 KC_PIPE , KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_LCBR, _______, _______, KC_RCBR, KC_RBRC, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES, 182 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 183 184 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 185 ), 186 187 /* 188 * Function Layer: Function keys 189 * 190 * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. 191 * | | | | | | | | | | | | | | | | | | 192 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 193 * | | F9 | F10 | F11 | F12 | | | | | | | | | | | | | 194 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 195 * | | F5 | F6 | F7 | F8 | | | | | | | | Shift| Ctrl | Alt | GUI | | 196 * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| 197 * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | | 198 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 199 * | | | | | | | | | | | | 200 * | | | | | | | | | | | | 201 * `----------------------------------' `----------------------------------' 202 * 203 * ,-----------------------------. ,------. ,---------------------------. ,------. 204 * | | | | | | | | | | | | | | 205 * `-----------------------------' `------' `---------------------------' '------' 206 */ 207 [_FUNCTION] = LAYOUT_myr( 208 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 209 _______, KC_F9 , KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, 210 _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, 211 _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 212 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 213 214 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 215 ), 216 217 /* 218 * Adjust Layer: Default layer settings, RGB 219 * 220 * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. 221 * | | | | | | | | | | | | | | | | | | 222 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 223 * | | | |QWERTY| | | | | | | | | | | | | | 224 * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 225 * | | | |Dvorak| | | | | | | | TOG | SAI | HUI | VAI | MOD | | 226 * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| 227 * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | | 228 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 229 * | | | | | | | | | | | | 230 * | | | | | | | | | | | | 231 * `----------------------------------' `----------------------------------' 232 * 233 * ,-----------------------------. ,------. ,---------------------------. ,------. 234 * | | | | | | | | | | | | | | 235 * `-----------------------------' `------' `---------------------------' '------' 236 */ 237 [_ADJUST] = LAYOUT_myr( 238 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 239 _______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 240 _______, _______, _______, DVORAK , _______, _______, _______, _______, RM_TOGG, RM_SATU, RM_HUEU, RM_VALU, RM_NEXT, _______, 241 _______, _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RM_SATD, RM_HUED, RM_VALD, RM_PREV, _______, 242 _______, _______, _______,_______, _______, _______, _______, _______, _______, _______, 243 244 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 245 246 ), 247 248 // /* 249 // * Layer template - LAYOUT 250 // * 251 // * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. 252 // * | | | | | | | | | | | | | | | | | | 253 // * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 254 // * | | | | | | | | | | | | | | | | | | 255 // * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 256 // * | | | | | | | | | | | | | | | | | | 257 // * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| 258 // * | | | | | | | | | | | | | | | | | | 259 // * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 260 // * | | | | | | | | | | | | 261 // * | | | | | | | | | | | | 262 // * `----------------------------------' `----------------------------------' 263 // */ 264 // [_LAYERINDEX] = LAYOUT( 265 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 266 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 267 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 268 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 269 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 270 // ), 271 272 // /* 273 // * Layer template - LAYOUT_myr 274 // * 275 // * ,-------------------------------------------. ,------. ,------. ,-------------------------------------------. 276 // * | | | | | | | | | | | | | | | | | | 277 // * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 278 // * | | | | | | | | | | | | | | | | | | 279 // * |--------+------+------+------+------+------| |------| |------| |------+------+------+------+------+--------| 280 // * | | | | | | | | | | | | | | | | | | 281 // * |--------+------+------+------+------+------+------+------| |------|------+------+------+------+------+------+--------| 282 // * | | | | | | | | | | | | | | | | | | 283 // * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 284 // * | | | | | | | | | | | | 285 // * | | | | | | | | | | | | 286 // * `----------------------------------' `----------------------------------' 287 // * 288 // * ,-----------------------------. ,------. ,---------------------------. ,------. 289 // * | | | | | | | | | | | | | | 290 // * `-----------------------------' `------' `---------------------------' '------' 291 // */ 292 // [_LAYERINDEX] = LAYOUT_myr( 293 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 294 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 295 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 296 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 297 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 298 // 299 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 300 // ), 301 }; 302 303 /* The default OLED and rotary encoder code can be found at the bottom of qmk_firmware/keyboards/splitkb/elora/rev1/rev1.c 304 * These default settings can be overriden by your own settings in your keymap.c 305 * DO NOT edit the rev1.c file; instead override the weakly defined default functions by your own. 306 */ 307 308 /* DELETE THIS LINE TO UNCOMMENT (1/2) 309 #ifdef OLED_ENABLE 310 bool oled_task_user(void) { 311 // Your code goes here 312 } 313 #endif 314 315 #ifdef ENCODER_ENABLE 316 bool encoder_update_user(uint8_t index, bool clockwise) { 317 // Your code goes here 318 } 319 #endif 320 DELETE THIS LINE TO UNCOMMENT (2/2) */