mirror of
https://github.com/qmk/qmk_firmware.git
synced 2024-12-23 18:09:53 +00:00
256 lines
22 KiB
C
256 lines
22 KiB
C
|
#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, /**/ ___ /**/
|
||
|
/**/ /**/ /**/ /**/
|
||
|
/*=============================================*/
|
||
|
),
|
||
|
|
||
|
};
|