#pragma once #include "quantum.h" enum custom_keycodes { RGB_SLD = SAFE_RANGE, 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, REDO, CHG_LAYOUT, FIND, WIN_TO_LEFT, WIN_TO_RIGHT, // 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_MORD #define KC_E_APOS ES_QUOT #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 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_MINS GUI_T(KC_MINS) // tap - hold cmd #define CMD_QUOT GUI_T(KC_QUOTE) // tap ' hold cmd #define SFT_QUOT LSFT_T(KC_QUOTE) // tap ' hold shift //=============== 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) #define SHIFT_UP LSFT(KC_UP) #define SHIFT_DWN LSFT(KC_DOWN) #define SFT_LEFT_END LGUI(LSFT(KC_LEFT)) #define SFT_RIGHT_END LGUI(LSFT(KC_RIGHT))