|
|
@@ -0,0 +1,255 @@
|
|
|
+#include QMK_KEYBOARD_H
|
|
|
+
|
|
|
+#include "ergodox_ez.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_LCTRL, /**/
|
|
|
+ /**/ /**/ /**/ /**/ /**/ /**/
|
|
|
+ /*=======================================================================*/
|
|
|
+
|
|
|
+
|
|
|
+ /*==============================*/
|
|
|
+ /**/ /**/ /**/
|
|
|
+ /**/ ___, /**/ KC_DEL, /**/
|
|
|
+ /**/ /**/ /**/
|
|
|
+ /*=============================================*/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /**/ /**/ /**/ KC_LALT, /**/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /**/ /**/ /*===============*/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /**/ KC_SPACE, /**/ KC_LGUI, /**/ KC_LCTRL, /**/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /*=============================================*/
|
|
|
+
|
|
|
+ // 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_LCTRL, /**/
|
|
|
+ /**/ /**/ /**/ /**/ /**/ /**/
|
|
|
+ /*=======================================================================*/
|
|
|
+
|
|
|
+
|
|
|
+ /*==============================*/
|
|
|
+ /**/ /**/ /**/
|
|
|
+ /**/ ___, /**/ KC_DEL, /**/
|
|
|
+ /**/ /**/ /**/
|
|
|
+ /*=============================================*/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /**/ /**/ /**/ KC_LALT, /**/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /**/ /**/ /*===============*/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /**/ KC_SPACE, /**/ KC_LGUI, /**/ KC_LCTRL, /**/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /*=============================================*/
|
|
|
+
|
|
|
+ // 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_LCTRL, /**/
|
|
|
+ /**/ /**/ /**/ /**/ /**/ /**/
|
|
|
+ /*=======================================================================*/
|
|
|
+
|
|
|
+
|
|
|
+ /*==============================*/
|
|
|
+ /**/ /**/ /**/
|
|
|
+ /**/ ___, /**/ KC_DEL, /**/
|
|
|
+ /**/ /**/ /**/
|
|
|
+ /*=============================================*/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /**/ /**/ /**/ KC_LALT, /**/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /**/ /**/ /*===============*/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /**/ KC_SPACE, /**/ KC_LGUI, /**/ KC_LCTRL, /**/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /*=============================================*/
|
|
|
+
|
|
|
+ // 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, /**/ ___ /**/
|
|
|
+ /**/ /**/ /**/ /**/
|
|
|
+ /*=============================================*/
|
|
|
+ ),
|
|
|
+
|
|
|
+};
|