#pragma once
#include "quantum.h"
enum custom_keycodes {
RGB_SLD = SAFE_RANGE,
ALT_TAB,
QWERTY,
SYM,
NAV,
ADJUST,
ARROW,
IARROW,
CLN_EQ,
F_ARROW,
GREP,
AC_A,
AC_E,
AC_I,
AC_O,
CUT,
COPY,
PASTE,
SAVE,
UNDO,
REDO,
CHG_LAYOUT,
FIND,
WIN_TO_LEFT,
WIN_TO_RIGHT,
LOWER,
RAISE,
MAC_TGL,
INC_MACROS_START,
INC_MACROS_END,
};
enum layers {
_QWERTY,
_SYMB,
_NAV,
_ADJUST,
_F,
_D,
_S,
_A,
_J,
_K,
_LOWER,
_RAISE,
_MACROS,
_SAFE_LAYER
};
#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
#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)
#define SHIFT OSM(MOD_LSFT)
#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)
#define CMD_MINS GUI_T(KC_MINS)
#define CMD_QUOT GUI_T(KC_QUOTE)
#define SFT_QUOT LSFT_T(KC_QUOTE)
#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))