/* * Keyboard: Ergodox * Keymap: replicaJunction * Version: 2.1 */ #include QMK_KEYBOARD_H #include "config.h" #include "replicaJunction.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [L_COLEMAK] = LAYOUT_ergodox( //--------|--------|--------|--------|--------|--------|--------| KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_GRV , //--------|--------|--------|--------|--------|--------|--------| KX_ECTL ,KC_Q ,KC_W ,KC_F ,KC_P ,KC_B ,KC_LBRC , //--------|--------|--------|--------|--------|--------|--------| KC_TAB ,KC_A ,KC_R_LT ,KC_S_LT ,KC_T ,KC_G, //--------|--------|--------|--------|--------|--------|--------| KC_LSFT ,KX_Z_MT ,KX_X_MT ,KX_C_MT ,KX_D_MT ,KC_V ,KC_RBRC , //--------|--------|--------|--------|--------|--------|--------| TD_LAYR ,KC_LGUI ,KC_HYPR ,KX_CTSF ,KC_LCTL , //--------|--------|--------|--------|--------|--------|--------| KC_HOME ,KC_END , // |--------|--------| KC_PGUP , // |--------|--------|--------| KX_BKNM ,KX_DCTL ,KC_PGDN , // |--------|--------|--------| //--------|--------|--------|--------|--------|--------|-------| TG_GAME ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_EQL , //--------|--------|--------|--------|--------|--------|-------| KC_DEL ,KC_J ,KC_L ,KC_U ,KC_Y ,KC_SCLN ,KC_BSLS, //--------|--------|--------|--------|--------|--------|-------| KC_M ,KC_N ,KC_E_LT ,KC_I_LT ,KC_O ,KC_QUOT, //--------|--------|--------|--------|--------|--------|-------| KC_LOCK ,KC_K ,KX_H_MT ,KX_COMT ,KX_DOMT ,KX_SLMT ,KC_RSFT, //--------|--------|--------|--------|--------|--------|-------| KC_LALT ,KC_MINS ,KC_QUOT ,KC_EQL ,TT_NUM , //--------|--------|--------|--------|--------|--------|-------| KC_LEFT ,KC_RGHT , //--------|--------| KC_UP , //--------|--------|--------| KC_DOWN ,KX_NALT ,KX_SPAC //--------|--------|--------| ), [L_QWERTY] = LAYOUT_ergodox( //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , // |--------|--------| _______ , // |--------|--------|--------| _______ ,_______ ,_______ , // |--------|--------|--------| //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_EQL , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,_______ , //--------|--------|--------|--------|--------|--------|--------| KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT , //--------|--------|--------|--------|--------|--------|--------| KC_LOCK ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC , //--------|--------|--------|--------|--------|--------|--------| KC_RALT ,KC_MINS ,KC_QUOT ,KC_EQL ,TT_NUM , //--------|--------|--------|--------|--------|--------|--------| KC_LEFT ,KC_RGHT , //--------|--------| KC_UP , //--------|--------|--------| KC_DOWN ,KX_NALT ,KX_SPAC //--------|--------|--------| ), [L_NUM] = LAYOUT_ergodox( //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_SLSH ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_PIPE, //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_BSLS ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,KC_AMPR ,KC_LABK ,KC_RABK, //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , // |--------|--------| _______ , // |--------|--------|--------| _______ ,_______ ,_______ , // |--------|--------|--------| //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_F11 , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_COLN ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PSLS ,KC_F12 , //--------|--------|--------|--------|--------|--------|--------| KC_HASH ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PAST ,KC_BSPC , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_BSPC ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PMNS ,KC_TAB , //--------|--------|--------|--------|--------|--------|--------| KC_P0 ,KC_PDOT ,KC_PEQL ,KC_PPLS ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , //--------|--------| _______ , //--------|--------|--------| _______ ,KC_PENT ,MO_FUNC //--------|--------|--------| ), [L_EXTEND] = LAYOUT_ergodox( //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,KC_APP ,KX_CGR, KC_VOLU, //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_LGUI, KC_LSFT, KC_LALT, KC_LCTL, _______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,KX_SRCH, KX_PAST, KC_VOLD, //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , // |--------|--------|--------| _______ , // |--------|--------|--------| MO_FUNC, _______ ,_______ , // |--------|--------|--------| //--------|--------|--------|--------|--------|--------|--------| KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, _______ , //--------|--------|--------|--------|--------|--------|--------| KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, KC_MENU, //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,KX_STAB, KC_TAB, _______ ,KC_INS, KC_PSCR, //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,KC_PSCR, _______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ //--------|--------|--------|--------|--------|--------|--------| ), [L_FUNC] = LAYOUT_ergodox( //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_F11 ,KC_F12 ,KC_F13 ,KC_F14 ,KC_F15 ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,M_LCLIK, M_RCLIK, M_MCLIK, _______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_LGUI, KC_LSFT, KC_LALT, KC_LCTL, M_WHLUP, //--------|--------|--------|--------|--------|--------|--------| _______ ,M_LEFT, M_DOWN, M_UP ,M_RIGHT, M_WHLDN, _______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , // |--------|--------|--------| _______ , // |--------|--------|--------| _______ ,_______ ,_______ , // |--------|--------|--------| //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_F16 ,KC_F17 ,KC_F18 ,KC_F19 ,KC_F20 ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_VOLU, KC_F9, KC_F10, KC_F11, KC_F12, _______ , //--------|--------|--------|--------|--------|--------|--------| KC_MUTE, KC_F5, KC_F6, KC_F7, KC_F8, _______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_VOLD, KC_F1, KC_F2, KC_F3, KC_F4, _______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ //--------|--------|--------|--------|--------|--------|--------| ), [L_GAMING] = LAYOUT_ergodox( //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| KC_ESC ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,KC_R ,KC_S ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| KC_LSFT, _______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,KC_LALT ,KC_LCTL , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , // |--------|--------| _______ , // |--------|--------|--------| KC_SPC, KC_LSFT, _______ , // |--------|--------|--------| //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,KC_E ,KC_I ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,KC_UP, KC_SLSH, //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,KC_LEFT, KC_DOWN, KC_RGHT, //--------|--------|--------|--------|--------|--------|--------| M_MCLIK ,_______ , //--------|--------|--------|--------|--------|--------|--------| M_RCLIK , //--------|--------|--------|--------|--------|--------|--------| M_LCLIK ,KC_ENT ,KC_BSPC //--------|--------|--------|--------|--------|--------|--------| ) , // "Letter Layers" [L_LL_R] = LAYOUT_ergodox( //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,ooooooo ,KC_AMPR ,KC_PIPE ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , // |--------|--------| _______ , // |--------|--------|--------| _______ ,_______ ,_______ , // |--------|--------|--------| //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_COLN ,KC_P7 ,KC_P8 ,KC_P9 ,KC_PSLS ,_______ , //--------|--------|--------|--------|--------|--------|--------| KC_HASH ,KC_P4 ,KC_P5 ,KC_P6 ,KC_PAST ,KC_TAB , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_BSPC ,KC_P1 ,KC_P2 ,KC_P3 ,KC_PMNS ,_______ , //--------|--------|--------|--------|--------|--------|--------| KC_P0 ,KC_PDOT ,KC_PEQL ,KC_PPLS ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , //--------|--------| _______ , //--------|--------|--------| _______ ,KC_PENT ,MO_FUNC //--------|--------|--------| ) , [L_LL_E] = LAYOUT_ergodox( //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| RJ_QMKV ,RJ_MAKE ,RJ_EQ ,RJ_LEQ ,RJ_GEQ ,RJ_GEQR ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,RJ_SELS ,RJ_DUND ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , // |--------|--------| _______ , // |--------|--------|--------| _______ ,_______ ,_______ , // |--------|--------|--------| //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,ooooooo ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , //--------|--------| _______ , //--------|--------|--------| _______ ,_______ ,_______ //--------|--------|--------| ) , [L_LL_I] = LAYOUT_ergodox( //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_SLSH ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_HASH ,KC_DLR ,KC_LPRN ,KC_RPRN ,KC_PIPE, //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_PERC ,KC_CIRC ,KC_LBRC ,KC_RBRC ,KC_BSLS ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,KC_AMPR ,KC_LABK ,KC_RABK, //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , // |--------|--------| _______ , // |--------|--------|--------| _______ ,_______ ,_______ , // |--------|--------|--------| //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,KC_UNDS, KC_GRV ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,KC_MINS ,KC_QUOT ,ooooooo ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,KC_TILD, KC_DQT ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ ,_______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ , //--------|--------|--------|--------|--------|--------|--------| _______ , //--------|--------|--------|--------|--------|--------|--------| _______ ,_______ ,_______ //--------|--------|--------|--------|--------|--------|--------| ) }; // The normal QMK functions ending in _user are overridden in the // replicaJunction userspace. Those functions handle my global // settings, and redirect to these _keymap functions if something // is unhandled. This allows me to keep most of my global preferences // in one place while still allowing keyboard-specific code. // The idea was shamelessly copied from the amazing Drashna. // Nothing to do here, so I've commented it out. // bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { // return true; // } // void matrix_init_keymap(void) {}; void matrix_scan_keymap(void) { uint8_t layer = biton32(layer_state); // uint8_t default_layer = biton32(layer_state); ergodox_board_led_off(); switch (layer) { case L_COLEMAK: ergodox_right_led_1_on(); ergodox_right_led_2_off(); ergodox_right_led_3_off(); break; case L_NUM: ergodox_right_led_1_on(); ergodox_right_led_2_on(); ergodox_right_led_3_off(); break; case L_EXTEND: ergodox_right_led_1_on(); ergodox_right_led_2_off(); ergodox_right_led_3_on(); break; case L_FUNC: ergodox_right_led_1_on(); ergodox_right_led_2_on(); ergodox_right_led_3_on(); break; case L_GAMING: ergodox_right_led_1_off(); ergodox_right_led_2_on(); ergodox_right_led_3_on(); break; default: // none break; } };