#include QMK_KEYBOARD_H #include "version.h" // START-MUGUR-REGION /* Macros */ enum custom_keycodes {EPRM = KEYMAP_SAFE_RANGE, MACRO_25, MACRO_24, MACRO_23, MACRO_22, MACRO_21, MACRO_20, MACRO_19, MACRO_18, MACRO_17, MACRO_16, MACRO_15, MACRO_14, MACRO_13, MACRO_12, MACRO_11, MACRO_10, MACRO_9, MACRO_8, MACRO_7, MACRO_6, MACRO_5, MACRO_4, MACRO_3, MACRO_2, MACRO_1}; bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { switch (keycode) { case MACRO_1: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_0)); return false; case MACRO_2: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_2)); return false; case MACRO_3: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_3)); return false; case MACRO_4: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_4) SS_TAP(X_T)); return false; case MACRO_5: SEND_STRING(SS_LCTL(SS_TAP(X_LALT)) SS_TAP(X_O)); return false; case MACRO_6: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_0)); return false; case MACRO_7: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_2)); return false; case MACRO_8: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_3)); return false; case MACRO_9: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_4) SS_TAP(X_T)); return false; case MACRO_10: SEND_STRING(SS_LCTL(SS_TAP(X_LALT)) SS_TAP(X_O)); return false; case MACRO_11: SEND_STRING(SS_LALT(SS_TAP(X_X)) "gtd" SS_TAP(X_ENTER)); return false; case MACRO_12: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_B)); return false; case MACRO_13: SEND_STRING("λ"); return false; case MACRO_14: SEND_STRING(SS_LALT(SS_TAP(X_X)) "magit" SS_TAP(X_ENTER)); return false; case MACRO_15: SEND_STRING(SS_RCMD(SS_TAP(X_I)) SS_TAP(X_E)); return false; case MACRO_16: SEND_STRING(SS_LCTL(SS_TAP(X_X)) SS_TAP(X_8)); return false; case MACRO_17: SEND_STRING(" - [ ] "); return false; case MACRO_18: SEND_STRING(SS_RCMD(SS_TAP(X_I)) SS_TAP(X_O)); return false; case MACRO_19: SEND_STRING(SS_RCMD(SS_TAP(X_I)) SS_TAP(X_L)); return false; case MACRO_20: SEND_STRING(" - [ ] "); return false; case MACRO_21: SEND_STRING(SS_RCMD(SS_TAP(X_I)) SS_TAP(X_O)); return false; case MACRO_22: SEND_STRING(SS_RCMD(SS_TAP(X_I)) SS_TAP(X_L)); return false; case MACRO_23: SEND_STRING(" - "); return false; case MACRO_24: SEND_STRING(SS_RCMD(SS_TAP(X_M)) SS_TAP(X_N)); return false; case MACRO_25: SEND_STRING(SS_RCMD(SS_TAP(X_M)) SS_TAP(X_M)); return false;} } return true; }; /* Layer Codes and Matrix */ enum layer_codes {BASE, NUMERIC, MOVE, EMACS, HYPM, MOUSE}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [BASE] = LAYOUT_split_4x6_5(KC_ESCAPE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPACE, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINUS, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, LT(MOVE, KC_QUOTE), MT(MOD_LSFT, KC_UP), LT(MOUSE, KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, LT(MOUSE, KC_SLASH), LT(HYPM, KC_DOWN), KC_LALT, KC_SPACE, MT(MOD_LGUI, KC_SPACE), TT(NUMERIC), MT(MOD_LGUI, KC_ENTER), KC_NO, MO(EMACS), KC_LAPO, KC_RAPC, KC_NO), [NUMERIC] = LAYOUT_split_4x6_5(KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_MINUS, KC_EQUAL, KC_BSPACE, KC_TILDE, KC_EXCLAIM, KC_AT, KC_HASH, KC_DOLLAR, KC_PERCENT, KC_CIRCUMFLEX, KC_AMPERSAND, KC_ASTERISK, KC_MINUS, KC_EQUAL, KC_BSPACE, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, LT(MOVE, KC_ENTER), MT(MOD_LSFT, KC_LEFT), KC_GRAVE, KC_TRNS, KC_BSLASH, KC_LEFT_CURLY_BRACE, KC_LBRACKET, KC_RBRACKET, KC_RIGHT_CURLY_BRACE, KC_COMMA, KC_DOT, KC_PIPE, MT(MOD_LSFT, KC_RIGHT), TG(MOUSE), KC_LAPO, KC_TRNS, KC_TRNS, KC_RAPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [MOVE] = LAYOUT_split_4x6_5(KC_TRNS, LALT(KC_V), KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LALT(KC_V), KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LCTL(KC_A), KC_LEFT, KC_DOWN, KC_RIGHT, LCTL(KC_E), KC_TRNS, KC_LEFT, KC_UP, KC_DOWN, KC_RIGHT, KC_NO, KC_TRNS, KC_TRNS, LALT(KC_LEFT_ANGLE_BRACKET), LCTL(KC_V), LALT(KC_RIGHT_ANGLE_BRACKET), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LCTL, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO), [EMACS] = LAYOUT_split_4x6_5(KC_ESCAPE, KC_TRNS, KC_TRNS, MACRO_1, MACRO_2, MACRO_3, MACRO_4, KC_TRNS, KC_TRNS, MACRO_5, KC_TRNS, KC_TRNS, KC_ESCAPE, KC_TRNS, KC_TRNS, MACRO_6, MACRO_7, MACRO_8, MACRO_9, KC_TRNS, KC_TRNS, MACRO_10, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LALT(KC_PERCENT), KC_TRNS, KC_TRNS, MACRO_11, MACRO_12, KC_TRNS, KC_TRNS, MACRO_13, KC_TRNS, KC_TRNS, RESET, KC_TRNS, LALT(KC_X), LCTL(KC_C), KC_TRNS, KC_LEFT_PAREN, KC_RIGHT_PAREN, MACRO_14, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACRO_15, MACRO_16, MO(HYPM), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO), [HYPM] = LAYOUT_split_4x6_5(KC_X, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACRO_17, KC_TRNS, KC_TRNS, KC_I, MACRO_18, MACRO_19, KC_TRNS, KC_X, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACRO_20, KC_TRNS, KC_TRNS, KC_I, MACRO_21, MACRO_22, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_D, KC_TRNS, MACRO_23, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MACRO_24, MACRO_25, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO), [MOUSE] = LAYOUT_split_4x6_5(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SNIPER_CONFIG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DPI_CONFIG, DRAG_SCROLL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DRAG_SCROLL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_BTN3, KC_TRNS, KC_TRNS, KC_BTN2, KC_BTN1, KC_BTN3, KC_TRNS, KC_NO, KC_NO, KC_LSFT, KC_LGUI, KC_TRNS, KC_NO)}; // END-MUGUR-REGION void keyboard_post_init_user(void) { // debug_enable=true; // debug_matrix=true; // debug_keyboard=true; // debug_mouse=true; }