+ // Allows Unicode input up to 0x10FFFF, requires unicode_map
+ #define X(i) (QK_UNICODEMAP | (i))
+ #define XP(i, j) (QK_UNICODEMAP_PAIR | ((i) & 0x7F) | (((j) & 0x7F) << 7)) // 127 max i and j
+#endif
+
+#define UC_MOD UNICODE_MODE_FORWARD
+#define UC_RMOD UNICODE_MODE_REVERSE
+
+#define UC_M_OS UNICODE_MODE_OSX
+#define UC_M_LN UNICODE_MODE_LNX
+#define UC_M_WI UNICODE_MODE_WIN
+#define UC_M_BS UNICODE_MODE_BSD
+#define UC_M_WC UNICODE_MODE_WINC
+
+#ifdef SWAP_HANDS_ENABLE
+ #define SH_T(kc) (QK_SWAP_HANDS | (kc))
+ #define SH_TG (QK_SWAP_HANDS | OP_SH_TOGGLE)
+ #define SH_TT (QK_SWAP_HANDS | OP_SH_TAP_TOGGLE)
+ #define SH_MON (QK_SWAP_HANDS | OP_SH_ON_OFF)
+ #define SH_MOFF (QK_SWAP_HANDS | OP_SH_OFF_ON)
+ #define SH_ON (QK_SWAP_HANDS | OP_SH_ON)
+ #define SH_OFF (QK_SWAP_HANDS | OP_SH_OFF)