1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254
#include QMK_KEYBOARD_H
#include "debug.h"
#include "action_layer.h"
#define BASE   0  // Base layer - QWERTY
#define SPEC   1  // Special keys favoring programming in c-like languages
#define NUM    2  // Numeric layer with number row functional keys
#define ___     KC_TRNS
#define BSLASH  LSFT(KC_SLSH)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    [BASE] = LAYOUT_ergodox(
    // Left side
        /*=========================================================================================================*/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/  KC_VOLU, /**/   KC_1,   /**/   KC_2,   /**/   KC_3,   /**/   KC_4,   /**/   KC_5,   /**/  KC_F11,  /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*=========================================================================================================*/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/  KC_VOLD, /**/   KC_Q,   /**/    KC_W,  /**/   KC_E,   /**/   KC_R,   /**/   KC_T,   /**/  KC_ESC,  /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*==========================================================================================*/           /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/  KC_MPLY, /**/   KC_A,   /**/   KC_S,   /**/   KC_D,   /**/   KC_F,   /**/   KC_G,   /*===============*/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*==========================================================================================*/           /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/  KC_MUTE, /**/   KC_Z,   /**/    KC_X,  /**/   KC_C,   /**/   KC_V,   /**/   KC_B,   /**/  KC_BSPC, /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*=========================================================================================================*/
            /**/       /**/           /**/           /**/           /**/           /**/
            /**/  ___, /**/   ___,    /**/    ___,   /**/  KC_RALT, /**/ KC_LCTL,  /**/
            /**/       /**/           /**/           /**/           /**/           /**/
            /*=======================================================================*/
                                                                                               /*==============================*/
                                                                                               /**/           /**/           /**/
                                                                                               /**/    ___,   /**/  KC_DEL,  /**/
                                                                                               /**/           /**/           /**/
                                                                                /*=============================================*/
                                                                                /**/           /**/           /**/           /**/
                                                                                /**/           /**/           /**/  KC_LALT, /**/
                                                                                /**/           /**/           /**/           /**/
                                                                                /**/           /**/           /*===============*/
                                                                                /**/           /**/           /**/           /**/
                                                                                /**/ KC_SPACE, /**/  KC_LGUI, /**/ KC_LCTL,  /**/
                                                                                /**/           /**/           /**/           /**/
                                                                                /*=============================================*/
    // Right side
        //
                    /*=========================================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/  KC_F12,  /**/   KC_1,   /**/   KC_2,   /**/   KC_3,   /**/   KC_4,   /**/   KC_5,   /**/    ___,   /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /*=========================================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/    ___,   /**/   KC_Y,   /**/   KC_U,   /**/   KC_I,   /**/   KC_O,   /**/   KC_P,   /**/    ___,   /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/           /*==========================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /*===============*/   KC_H,   /**/   KC_J,   /**/   KC_K,   /**/   KC_L,   /**/  KC_SCLN, /**/    ___,   /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/           /*==========================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/  KC_ENT,  /**/   KC_N,   /**/   KC_M,   /**/  KC_COMM, /**/  KC_DOT,  /**/  KC_SLSH, /**/    ___,   /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /*=========================================================================================================*/
                                                  /**/           /**/           /**/           /**/           /**/       /**/
                                                  /**/  MO(NUM), /**/   ___,    /**/    ___,   /**/    ___,   /**/  ___, /**/
                                                  /**/           /**/           /**/           /**/           /**/       /**/
                                                  /*=======================================================================*/
        /*==============================*/
        /**/           /**/           /**/
        /**/    ___,   /**/    ___,   /**/
        /**/           /**/           /**/
        /*=============================================*/
        /**/           /**/           /**/           /**/
        /**/    ___,   /**/           /**/           /**/
        /**/           /**/           /**/           /**/
        /*===============*/           /**/           /**/
        /**/           /**/           /**/           /**/
        /**/    ___,   /**/  KC_RSFT, /**/ MO(SPEC)  /**/
        /**/           /**/           /**/           /**/
        /*=============================================*/
    ),
    [SPEC] = LAYOUT_ergodox(
    // Left side
        /*=========================================================================================================*/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/    ___,   /**/  KC_EXLM, /**/   KC_AT,  /**/  KC_HASH, /**/  KC_DLR,  /**/  KC_PERC, /**/    ___,   /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*=========================================================================================================*/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/    ___,   /**/  KC_GRV,  /**/  KC_QUOT, /**/  KC_LCBR, /**/  KC_RCBR, /**/  KC_PLUS, /**/  KC_ESC,  /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*==========================================================================================*/           /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/    ___,   /**/  KC_TAB,  /**/  KC_ASTR, /**/  KC_LPRN, /**/  KC_RPRN, /**/ KC_EQUAL, /*===============*/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*==========================================================================================*/           /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/    ___,   /**/  KC_HASH, /**/  KC_PERC, /**/  KC_LBRC, /**/  KC_RBRC, /**/ KC_MINUS, /**/  KC_BSPC, /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*=========================================================================================================*/
            /**/       /**/           /**/           /**/           /**/           /**/
            /**/  ___, /**/   ___,    /**/    ___,   /**/  KC_LALT, /**/ KC_LCTL,  /**/
            /**/       /**/           /**/           /**/           /**/           /**/
            /*=======================================================================*/
                                                                                               /*==============================*/
                                                                                               /**/           /**/           /**/
                                                                                               /**/    ___,   /**/  KC_DEL,  /**/
                                                                                               /**/           /**/           /**/
                                                                                /*=============================================*/
                                                                                /**/           /**/           /**/           /**/
                                                                                /**/           /**/           /**/  KC_LALT, /**/
                                                                                /**/           /**/           /**/           /**/
                                                                                /**/           /**/           /*===============*/
                                                                                /**/           /**/           /**/           /**/
                                                                                /**/ KC_SPACE, /**/  KC_LGUI, /**/ KC_LCTL,  /**/
                                                                                /**/           /**/           /**/           /**/
                                                                                /*=============================================*/
    // Right side
        //
                    /*=========================================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/    ___,   /**/  KC_CIRC, /**/  KC_AMPR, /**/  KC_ASTR, /**/  KC_LPRN, /**/  KC_RPRN, /**/    ___,   /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /*=========================================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/    ___,   /**/  KC_AMPR, /**/  KC_HOME, /**/   KC_UP,  /**/  KC_END,  /**/  KC_CIRC, /**/   KC_F7,  /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/           /*==========================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /*===============*/  KC_EXLM, /**/  KC_LEFT, /**/  KC_DOWN, /**/ KC_RIGHT, /**/  KC_COLN, /**/   KC_F8,  /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/           /*==========================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/  KC_ENT,  /**/  KC_PIPE, /**/  KC_UNDS, /**/   KC_LT,  /**/   KC_GT,  /**/  KC_BSLS, /**/   KC_F9,  /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /*=========================================================================================================*/
                                                  /**/           /**/           /**/           /**/           /**/       /**/
                                                  /**/    ___,   /**/   ___,    /**/    ___,   /**/    ___,   /**/KC_F10,/**/
                                                  /**/           /**/           /**/           /**/           /**/       /**/
                                                  /*=======================================================================*/
        /*==============================*/
        /**/           /**/           /**/
        /**/    ___,   /**/    ___,   /**/
        /**/           /**/           /**/
        /*=============================================*/
        /**/           /**/           /**/           /**/
        /**/    ___,   /**/           /**/           /**/
        /**/           /**/           /**/           /**/
        /*===============*/           /**/           /**/
        /**/           /**/           /**/           /**/
        /**/    ___,   /**/  KC_RSFT, /**/    ___    /**/
        /**/           /**/           /**/           /**/
        /*=============================================*/
    ),
    [NUM] = LAYOUT_ergodox(
    // Left side
        /*=========================================================================================================*/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/    ___,   /**/   KC_F1,  /**/   KC_F2,  /**/   KC_F3,  /**/   KC_F4,  /**/   KC_F5,  /**/  KC_F11,  /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*=========================================================================================================*/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/    ___,   /**/  KC_EXLM, /**/   KC_AT,  /**/  KC_HASH, /**/  KC_DLR,  /**/  KC_PERC, /**/  KC_ESC,  /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*==========================================================================================*/           /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/    ___,   /**/   KC_1,   /**/   KC_2,   /**/   KC_3,   /**/   KC_4,   /**/   KC_5,   /*===============*/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*==========================================================================================*/           /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /**/    ___,   /**/  KC_HASH, /**/  KC_PERC, /**/  KC_LBRC, /**/  KC_RBRC, /**/ KC_MINUS, /**/  KC_BSPC, /**/
        /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
        /*=========================================================================================================*/
            /**/       /**/           /**/           /**/           /**/           /**/
            /**/  ___, /**/   ___,    /**/    ___,   /**/  KC_LALT, /**/ KC_LCTL,  /**/
            /**/       /**/           /**/           /**/           /**/           /**/
            /*=======================================================================*/
                                                                                               /*==============================*/
                                                                                               /**/           /**/           /**/
                                                                                               /**/    ___,   /**/  KC_DEL,  /**/
                                                                                               /**/           /**/           /**/
                                                                                /*=============================================*/
                                                                                /**/           /**/           /**/           /**/
                                                                                /**/           /**/           /**/  KC_LALT, /**/
                                                                                /**/           /**/           /**/           /**/
                                                                                /**/           /**/           /*===============*/
                                                                                /**/           /**/           /**/           /**/
                                                                                /**/ KC_SPACE, /**/  KC_LGUI, /**/ KC_LCTL,  /**/
                                                                                /**/           /**/           /**/           /**/
                                                                                /*=============================================*/
    // Right side
        //
                    /*=========================================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/  KC_F12,  /**/   KC_F6,  /**/   KC_F7,  /**/   KC_F8,  /**/   KC_F9,  /**/  KC_F10,  /**/    ___,   /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /*=========================================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/    ___,   /**/  KC_CIRC, /**/  KC_AMPR, /**/  KC_ASTR, /**/  KC_LPRN, /**/  KC_RPRN, /**/    ___,   /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/           /*==========================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /*===============*/   KC_6,   /**/   KC_7,   /**/   KC_8,   /**/   KC_9,   /**/   KC_0,   /**/    ___,   /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/           /*==========================================================================================*/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /**/  KC_ENT,  /**/  KC_PIPE, /**/  KC_UNDS, /**/  KC_COMM, /**/  KC_DOT,  /**/  KC_BSLS, /**/    ___,   /**/
                    /**/           /**/           /**/           /**/           /**/           /**/           /**/           /**/
                    /*=========================================================================================================*/
                                                  /**/           /**/           /**/           /**/           /**/       /**/
                                                  /**/    ___,   /**/   ___,    /**/    ___,   /**/    ___,   /**/  ___, /**/
                                                  /**/           /**/           /**/           /**/           /**/       /**/
                                                  /*=======================================================================*/
        /*==============================*/
        /**/           /**/           /**/
        /**/    ___,   /**/    ___,   /**/
        /**/           /**/           /**/
        /*=============================================*/
        /**/           /**/           /**/           /**/
        /**/    ___,   /**/           /**/           /**/
        /**/           /**/           /**/           /**/
        /*===============*/           /**/           /**/
        /**/           /**/           /**/           /**/
        /**/    ___,   /**/  KC_RSFT, /**/    ___    /**/
        /**/           /**/           /**/           /**/
        /*=============================================*/
    ),
};