#pragma once #include "quantum.h" enum custom_keycodes { EPRM = SAFE_RANGE, RGB_SLD, ALT_TAB, QWERTY, SYM, NAV, ADJUST, // Macros ARROW, IARROW, CLN_EQ, F_ARROW, GREP, // Accented characters AC_A, AC_E, AC_I, AC_O, // Custom multi-os key-codes CUT, COPY, PASTE, SAVE, UNDO, CHG_LAYOUT, FIND, // OTHER OLD STUFF LOWER, RAISE, MAC_TGL, INC_MACROS_START, INC_MACROS_END, }; //**************** KEYCODES *********************// enum layers { _QWERTY, _SYMB, _NAV, _ADJUST, _F, _D, _S, _A, _J, _K, // iris specific - TBD _LOWER, _RAISE, _MACROS, _SAFE_LAYER }; //===== Function letters # define FN_F LT(_F,KC_F) # define FN_D LT(_D,KC_D) # define FN_S LT(_S,KC_S) # define FN_A LT(_A,KC_A) # define FN_K LT(_K,KC_K) # define FN_J LT(_J,KC_J) # define KC_FN_D FN_D # define KC_FN_S FN_S # define KC_FN_F FN_F # define KC_MACROS OSL(_MACROS) # define KC_E_COLN LSFT(KC_DOT) # define KC_E_EQL ES_EQL # define KC_GUI OSM(MOD_RGUI) # define KC_R_NUB S(KC_NUBS) # define KC_E_LT KC_NUBS # define KC_E_GT S(KC_NUBS) # define KC_E_TILD ES_TILD # define KC_E_MINS ES_MINS # define KC_E_OVRR ES_OVRR # define KC_E_APOS ES_APOS # define KC_E_IEXL ES_IEXL //========== Short hand for complex key combinations # define WIN_LEFT_HALF LALT(LGUI(KC_LEFT)) # define WIN_RIGHT_HALF LALT(LGUI(KC_RIGHT)) # define WIN_TO_LEFT LALT(LSFT( LGUI(KC_LEFT) )) # define WIN_TO_RIGHT LALT(LSFT( LGUI(KC_RIGHT) )) # define ALL_WIN LCTL(KC_DOWN) # define EXPOSE LGUI(KC_DOWN) // ========== Modifiers!! # define SHIFT OSM(MOD_LSFT) //=============== tap for key hold for mod # define HYPR_H HYPR_T(KC_H) # define CTL_K RCTL_T(KC_K) # define ALT_J ALT_T(KC_J) # define SFT_MINS LSFT_T(KC_MINS) // tap - hold shift # define CMD_QUOT GUI_T(KC_QUOTE) // tap ' hold cmd //=============== Movement modified # define CTL_LEFT LCTL(KC_LEFT) # define CTL_RIGHT LCTL(KC_RIGHT) # define SFT_LEFT LSFT(KC_LEFT) # define SFT_RIGHT LSFT(KC_RIGHT)