#pragma once

// clang-format off

// Deprecated Quantum keycodes
#define SH_TG QK_SWAP_HANDS_TOGGLE
#define SQ_TOG QK_SEQUENCER_TOGGLE

#define MAGIC_SWAP_CONTROL_CAPSLOCK      QK_MAGIC_SWAP_CONTROL_CAPS_LOCK
#define MAGIC_UNSWAP_CONTROL_CAPSLOCK    QK_MAGIC_UNSWAP_CONTROL_CAPS_LOCK
#define MAGIC_TOGGLE_CONTROL_CAPSLOCK    QK_MAGIC_TOGGLE_CONTROL_CAPS_LOCK
#define MAGIC_UNCAPSLOCK_TO_CONTROL      QK_MAGIC_CAPS_LOCK_AS_CONTROL_OFF
#define MAGIC_CAPSLOCK_TO_CONTROL        QK_MAGIC_CAPS_LOCK_AS_CONTROL_ON
#define MAGIC_SWAP_LALT_LGUI             QK_MAGIC_SWAP_LALT_LGUI
#define MAGIC_UNSWAP_LALT_LGUI           QK_MAGIC_UNSWAP_LALT_LGUI
#define MAGIC_SWAP_RALT_RGUI             QK_MAGIC_SWAP_RALT_RGUI
#define MAGIC_UNSWAP_RALT_RGUI           QK_MAGIC_UNSWAP_RALT_RGUI
#define MAGIC_UNNO_GUI                   QK_MAGIC_GUI_ON
#define MAGIC_NO_GUI                     QK_MAGIC_GUI_OFF
#define MAGIC_TOGGLE_GUI                 QK_MAGIC_TOGGLE_GUI
#define MAGIC_SWAP_GRAVE_ESC             QK_MAGIC_SWAP_GRAVE_ESC
#define MAGIC_UNSWAP_GRAVE_ESC           QK_MAGIC_UNSWAP_GRAVE_ESC
#define MAGIC_SWAP_BACKSLASH_BACKSPACE   QK_MAGIC_SWAP_BACKSLASH_BACKSPACE
#define MAGIC_UNSWAP_BACKSLASH_BACKSPACE QK_MAGIC_UNSWAP_BACKSLASH_BACKSPACE
#define MAGIC_TOGGLE_BACKSLASH_BACKSPACE QK_MAGIC_TOGGLE_BACKSLASH_BACKSPACE
#define MAGIC_HOST_NKRO                  QK_MAGIC_NKRO_ON
#define MAGIC_UNHOST_NKRO                QK_MAGIC_NKRO_OFF
#define MAGIC_TOGGLE_NKRO                QK_MAGIC_TOGGLE_NKRO
#define MAGIC_SWAP_ALT_GUI               QK_MAGIC_SWAP_ALT_GUI
#define MAGIC_UNSWAP_ALT_GUI             QK_MAGIC_UNSWAP_ALT_GUI
#define MAGIC_TOGGLE_ALT_GUI             QK_MAGIC_TOGGLE_ALT_GUI
#define MAGIC_SWAP_LCTL_LGUI             QK_MAGIC_SWAP_LCTL_LGUI
#define MAGIC_UNSWAP_LCTL_LGUI           QK_MAGIC_UNSWAP_LCTL_LGUI
#define MAGIC_SWAP_RCTL_RGUI             QK_MAGIC_SWAP_RCTL_RGUI
#define MAGIC_UNSWAP_RCTL_RGUI           QK_MAGIC_UNSWAP_RCTL_RGUI
#define MAGIC_SWAP_CTL_GUI               QK_MAGIC_SWAP_CTL_GUI
#define MAGIC_UNSWAP_CTL_GUI             QK_MAGIC_UNSWAP_CTL_GUI
#define MAGIC_TOGGLE_CTL_GUI             QK_MAGIC_TOGGLE_CTL_GUI
#define MAGIC_EE_HANDS_LEFT              QK_MAGIC_EE_HANDS_LEFT
#define MAGIC_EE_HANDS_RIGHT             QK_MAGIC_EE_HANDS_RIGHT
#define MAGIC_SWAP_ESCAPE_CAPSLOCK       QK_MAGIC_SWAP_ESCAPE_CAPS_LOCK
#define MAGIC_UNSWAP_ESCAPE_CAPSLOCK     QK_MAGIC_UNSWAP_ESCAPE_CAPS_LOCK
#define MAGIC_TOGGLE_ESCAPE_CAPSLOCK     QK_MAGIC_TOGGLE_ESCAPE_CAPS_LOCK

#define LCG_SWP QK_MAGIC_SWAP_LCTL_LGUI
#define LCG_NRM QK_MAGIC_UNSWAP_LCTL_LGUI
#define RCG_SWP QK_MAGIC_SWAP_RCTL_RGUI
#define RCG_NRM QK_MAGIC_UNSWAP_RCTL_RGUI
#define LAG_SWP QK_MAGIC_SWAP_LALT_LGUI
#define LAG_NRM QK_MAGIC_UNSWAP_LALT_LGUI
#define RAG_SWP QK_MAGIC_SWAP_RALT_RGUI
#define RAG_NRM QK_MAGIC_UNSWAP_RALT_RGUI
#define GUI_ON  QK_MAGIC_GUI_ON
#define GUI_OFF QK_MAGIC_GUI_OFF
#define GUI_TOG QK_MAGIC_TOGGLE_GUI

#define X(i) UM(i)
#define XP(i, j) UP(i, j)
