keymap.c (19402B)
1 // Copyright 2025 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 | | 6 | 7 | 8 | 9 | 0 | Esc | 42 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 43 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | 44 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 45 * |Ctrl/Esc| A | S | D | F | G | | 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 [_QWERTY] = LAYOUT( 54 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC , 55 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC, 56 CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L ,KC_SCLN,CTL_QUOT, 57 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, 58 ADJUST , KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP 59 ), 60 61 /* 62 * Base Layer: Dvorak 63 * 64 * ,-------------------------------------------. ,-------------------------------------------. 65 * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Esc | 66 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 67 * | Tab | ' " | , < | . > | P | Y | | F | G | C | R | L | Bksp | 68 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 69 * |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/- _| 70 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 71 * | LShift | ; : | Q | J | K | X | [ { |CapsLk| |F-keys| ] } | B | M | W | V | Z | RShift | 72 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 73 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | 74 * | | | Enter| | | | | | | | | 75 * `----------------------------------' `----------------------------------' 76 */ 77 [_DVORAK] = LAYOUT( 78 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC , 79 KC_TAB ,KC_QUOTE,KC_COMM, KC_DOT, KC_P , KC_Y , KC_F, KC_G , KC_C , KC_R , KC_L , KC_BSPC, 80 CTL_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D, KC_H , KC_T , KC_N , KC_S , CTL_MINS, 81 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, 82 ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP 83 ), 84 85 /* 86 * Base Layer: Colemak DH 87 * 88 * ,-------------------------------------------. ,-------------------------------------------. 89 * | Esc | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Esc | 90 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 91 * | Tab | Q | W | F | P | B | | J | L | U | Y | ; : | Bksp | 92 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 93 * |Ctrl/Esc| A | R | S | T | G | | M | N | E | I | O |Ctrl/' "| 94 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 95 * | LShift | Z | X | C | D | V | [ { |CapsLk| |F-keys| ] } | K | H | , < | . > | / ? | RShift | 96 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 97 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | 98 * | | | Enter| | | | | | | | | 99 * `----------------------------------' `----------------------------------' 100 */ 101 [_COLEMAK_DH] = LAYOUT( 102 KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_ESC , 103 KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_J, KC_L , KC_U , KC_Y ,KC_SCLN, KC_BSPC, 104 CTL_ESC , KC_A , KC_R , KC_S , KC_T , KC_G , KC_M, KC_N , KC_E , KC_I , KC_O , CTL_QUOT, 105 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, 106 ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP 107 ), 108 109 /* 110 * Nav Layer: Media, navigation 111 * 112 * ,-------------------------------------------. ,-------------------------------------------. 113 * | | | | | | | | | | | | | | 114 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 115 * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete | 116 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 117 * | | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert | 118 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 119 * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc | 120 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 121 * | | | | | | | | | | | | 122 * | | | | | | | | | | | | 123 * `----------------------------------' `----------------------------------' 124 */ 125 [_NAV] = LAYOUT( 126 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 127 _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL, 128 _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS, 129 _______, _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR, 130 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 131 ), 132 133 /* 134 * Sym Layer: Numbers and symbols 135 * 136 * ,-------------------------------------------. ,-------------------------------------------. 137 * | | | | | | | | | | | | | | 138 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 139 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = | 140 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 141 * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + | 142 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 143 * | | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? | 144 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 145 * | | | | | | | | | | | | 146 * | | | | | | | | | | | | 147 * `----------------------------------' `----------------------------------' 148 */ 149 [_SYM] = LAYOUT( 150 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 151 KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , 152 KC_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, 153 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, 154 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 155 ), 156 157 /* 158 * Function Layer: Function keys 159 * 160 * ,-------------------------------------------. ,-------------------------------------------. 161 * | | | | | | | | | | | | | | 162 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 163 * | | F9 | F10 | F11 | F12 | | | | | | | | | 164 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 165 * | | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | | 166 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 167 * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | | 168 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 169 * | | | | | | | | | | | | 170 * | | | | | | | | | | | | 171 * `----------------------------------' `----------------------------------' 172 */ 173 [_FUNCTION] = LAYOUT( 174 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 175 _______, KC_F9 , KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, 176 _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, 177 _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 178 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 179 ), 180 181 /* 182 * Adjust Layer: Default layer settings, RGB 183 * 184 * ,-------------------------------------------. ,-------------------------------------------. 185 * | Reset | | | | | | | | | | | | | 186 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 187 * | | | |QWERTY| | | | | | | | | | 188 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 189 * | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | | 190 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 191 * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | | 192 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 193 * | | | | | | | | | | | | 194 * | | | | | | | | | | | | 195 * `----------------------------------' `----------------------------------' 196 */ 197 [_ADJUST] = LAYOUT( 198 QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 199 _______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, _______, 200 _______, _______, _______, DVORAK , _______, _______, RM_TOGG, RM_SATU, RM_HUEU, RM_VALU, RM_NEXT, _______, 201 _______, _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RM_SATD, RM_HUED, RM_VALD, RM_PREV, _______, 202 _______, _______, _______,_______, _______, _______, _______, _______, _______, _______ 203 ), 204 205 // /* 206 // * Layer template 207 // * 208 // * ,-------------------------------------------. ,-------------------------------------------. 209 // * | | | | | | | | | | | | | | 210 // * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 211 // * | | | | | | | | | | | | | | 212 // * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 213 // * | | | | | | | | | | | | | | 214 // * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 215 // * | | | | | | | | | | | | | | | | | | 216 // * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 217 // * | | | | | | | | | | | | 218 // * | | | | | | | | | | | | 219 // * `----------------------------------' `----------------------------------' 220 // */ 221 // [_LAYERINDEX] = LAYOUT( 222 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 223 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 224 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 225 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 226 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 227 // ), 228 // 229 }; 230 231 #if defined(ENCODER_MAP_ENABLE) 232 const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { 233 [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD), ENCODER_CCW_CW(KC_PGDN, KC_PGUP) }, 234 [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, 235 [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, 236 [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, 237 [4] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, 238 [5] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, 239 [6] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, 240 }; 241 #endif