keymap.c (15517B)
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 17 // Aliases for readability 18 #define QWERTY DF(_QWERTY) 19 #define COLEMAK DF(_COLEMAK_DH) 20 #define DVORAK DF(_DVORAK) 21 22 #define SYM MO(_SYM) 23 #define NAV MO(_NAV) 24 #define FKEYS MO(_FUNCTION) 25 #define ADJUST MO(_ADJUST) 26 27 #define CTL_ESC MT(MOD_LCTL, KC_ESC) 28 #define CTL_QUOT MT(MOD_RCTL, KC_QUOTE) 29 #define CTL_MINS MT(MOD_RCTL, KC_MINUS) 30 #define ALT_ENT MT(MOD_LALT, KC_ENT) 31 32 // Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter. 33 // The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and 34 // produces the key `tap` when tapped (i.e. pressed and released). 35 36 // clang-format off 37 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 38 /* 39 * Base Layer: QWERTY 40 * 41 * ,-------------------------------------------. ,-------------------------------------------. 42 * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | 43 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 44 * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "| 45 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 46 * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | 47 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 48 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | 49 * | | | Enter| | | | | | | | | 50 * `----------------------------------' `----------------------------------' 51 */ 52 [_QWERTY] = LAYOUT( 53 KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC, 54 CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L ,KC_SCLN,CTL_QUOT, 55 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, 56 ADJUST , KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP 57 ), 58 59 /* 60 * Base Layer: Dvorak 61 * 62 * ,-------------------------------------------. ,-------------------------------------------. 63 * | Tab | ' " | , < | . > | P | Y | | F | G | C | R | L | Bksp | 64 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 65 * |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/- _| 66 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 67 * | LShift | ; : | Q | J | K | X | [ { |CapsLk| |F-keys| ] } | B | M | W | V | Z | RShift | 68 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 69 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | 70 * | | | Enter| | | | | | | | | 71 * `----------------------------------' `----------------------------------' 72 */ 73 [_DVORAK] = LAYOUT( 74 KC_TAB ,KC_QUOTE,KC_COMM, KC_DOT, KC_P , KC_Y , KC_F, KC_G , KC_C , KC_R , KC_L , KC_BSPC, 75 CTL_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D, KC_H , KC_T , KC_N , KC_S , CTL_MINS, 76 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, 77 ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP 78 ), 79 80 /* 81 * Base Layer: Colemak DH 82 * 83 * ,-------------------------------------------. ,-------------------------------------------. 84 * | Tab | Q | W | F | P | B | | J | L | U | Y | ; : | Bksp | 85 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 86 * |Ctrl/Esc| A | R | S | T | G | | M | N | E | I | O |Ctrl/' "| 87 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 88 * | LShift | Z | X | C | D | V | [ { |CapsLk| |F-keys| ] } | K | H | , < | . > | / ? | RShift | 89 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 90 * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | 91 * | | | Enter| | | | | | | | | 92 * `----------------------------------' `----------------------------------' 93 */ 94 [_COLEMAK_DH] = LAYOUT( 95 KC_TAB , KC_Q , KC_W , KC_F , KC_P , KC_B , KC_J, KC_L , KC_U , KC_Y ,KC_SCLN, KC_BSPC, 96 CTL_ESC , KC_A , KC_R , KC_S , KC_T , KC_G , KC_M, KC_N , KC_E , KC_I , KC_O , CTL_QUOT, 97 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, 98 ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP 99 ), 100 101 /* 102 * Nav Layer: Media, navigation 103 * 104 * ,-------------------------------------------. ,-------------------------------------------. 105 * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete | 106 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 107 * | | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert | 108 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 109 * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc | 110 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 111 * | | | | | | | | | | | | 112 * | | | | | | | | | | | | 113 * `----------------------------------' `----------------------------------' 114 */ 115 [_NAV] = LAYOUT( 116 _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL, 117 _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS, 118 _______, _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR, 119 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 120 ), 121 122 /* 123 * Sym Layer: Numbers and symbols 124 * 125 * ,-------------------------------------------. ,-------------------------------------------. 126 * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = | 127 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 128 * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + | 129 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 130 * | | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? | 131 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 132 * | | | | | | | | | | | | 133 * | | | | | | | | | | | | 134 * `----------------------------------' `----------------------------------' 135 */ 136 [_SYM] = LAYOUT( 137 KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , 138 KC_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, 139 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, 140 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 141 ), 142 143 /* 144 * Function Layer: Function keys 145 * 146 * ,-------------------------------------------. ,-------------------------------------------. 147 * | | F9 | F10 | F11 | F12 | | | | | | | | | 148 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 149 * | | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | | 150 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 151 * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | | 152 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 153 * | | | | | | | | | | | | 154 * | | | | | | | | | | | | 155 * `----------------------------------' `----------------------------------' 156 */ 157 [_FUNCTION] = LAYOUT( 158 _______, KC_F9 , KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, 159 _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, 160 _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 161 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 162 ), 163 164 /* 165 * Adjust Layer: Default layer settings, RGB 166 * 167 * ,-------------------------------------------. ,-------------------------------------------. 168 * | | | |QWERTY| | | | | | | | | | 169 * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 170 * | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | | 171 * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 172 * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | | 173 * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 174 * | | | | | | | | | | | | 175 * | | | | | | | | | | | | 176 * `----------------------------------' `----------------------------------' 177 */ 178 [_ADJUST] = LAYOUT( 179 _______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, _______, 180 _______, _______, _______, DVORAK , _______, _______, RM_TOGG, RM_SATU, RM_HUEU, RM_VALU, RM_NEXT, _______, 181 _______, _______, _______, COLEMAK, _______, _______,_______, _______, _______, _______, _______, RM_SATD, RM_HUED, RM_VALD, RM_PREV, _______, 182 _______, _______, _______,_______, _______, _______, _______, _______, _______, _______ 183 ), 184 185 // /* 186 // * Layer template 187 // * 188 // * ,-------------------------------------------. ,-------------------------------------------. 189 // * | | | | | | | | | | | | | | 190 // * |--------+------+------+------+------+------| |------+------+------+------+------+--------| 191 // * | | | | | | | | | | | | | | 192 // * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| 193 // * | | | | | | | | | | | | | | | | | | 194 // * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' 195 // * | | | | | | | | | | | | 196 // * | | | | | | | | | | | | 197 // * `----------------------------------' `----------------------------------' 198 // */ 199 // [_LAYERINDEX] = LAYOUT( 200 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 201 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 202 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 203 // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 204 // ), 205 // 206 };