#pragma once
#include "kuchosauronad0.h"
#if defined(KEYMAP_SAFE_RANGE)
# define PLACEHOLDER_SAFE_RANGE KEYMAP_SAFE_RANGE
#else
# define PLACEHOLDER_SAFE_RANGE SAFE_RANGE
#endif
enum userspace_custom_keycodes{
VRSN = PLACEHOLDER_SAFE_RANGE, KC_QWERTY, KC_COLEMAK, KC_DVORAK, KC_WORKMAN, KC_PLOVER,
KC_MAKE, KC_RGB_T, KC_SECRET_1,
KC_SECRET_2,
KC_SECRET_3,
KC_SECRET_4,
KC_SECRET_5,
KC_CCCV, KC_NUKE, UC_FLIP, UC_TABL, UC_SHRG, UC_DISA,
MC_QT1, MC_QT2, MC_QT3, MC_PAR, MC_CUR, MC_SQR, MC_ABR, MCT_NEW, MCT_SH, MCT_SV, MCT_ZM, MCT_SCR, MCT_UP, MCT_DW, MCT_LFT, MCT_RGT, MCV_B, MCV_E, MCT_F, MCG_A, MCG_C, MCG_P, MCG_R, MCG_L, MCG_S,
NEW_SAFE_RANGE };
bool process_record_secrets(uint16_t keycode, keyrecord_t *record);
bool process_record_user_rgb(uint16_t keycode, keyrecord_t *record);
bool process_record_keymap(uint16_t keycode, keyrecord_t *record);
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define ADJUST MO(_ADJUST)
#define TG_MODS TG(_MODS)
#define TG_GAME TG(_GAMEPAD)
#define OS_LWR OSL(_LOWER)
#define OS_RSE OSL(_RAISE)
#define OS_UNI OSL(_UNICODE)
#define SEC1 KC_SECRET_1
#define SEC2 KC_SECRET_2
#define SEC3 KC_SECRET_3
#define SEC4 KC_SECRET_4
#define SEC5 KC_SECRET_5
#define SEC6 KC_SECRET_6
#define QWERTY KC_QWERTY
#define DVORAK KC_DVORAK
#define COLEMAK KC_COLEMAK
#define WORKMAN KC_WORKMAN
#define PLOVER KC_PLOVER
#define KC_RESET RESET
#define KC_RST KC_RESET
#define UC_IRNY UC(0x2E2E)
#define UC_CLUE UC(0x203D)