From 3c0fdcc8acfadb124fbfa914532868948561c351 Mon Sep 17 00:00:00 2001 From: Aaron Franke Date: Fri, 13 Aug 2021 16:31:57 -0500 Subject: Use "enum class" for input enums --- core/core_constants.cpp | 651 ++++++++++++++++++++++++------------------------ 1 file changed, 331 insertions(+), 320 deletions(-) (limited to 'core/core_constants.cpp') diff --git a/core/core_constants.cpp b/core/core_constants.cpp index c04d6ea56e..dd1754f010 100644 --- a/core/core_constants.cpp +++ b/core/core_constants.cpp @@ -71,6 +71,16 @@ static Vector<_CoreConstant> _global_constants; #define BIND_CORE_ENUM_CONSTANT(m_constant) \ _global_constants.push_back(_CoreConstant(__constant_get_enum_name(m_constant, #m_constant), #m_constant, m_constant)); +// This just binds enum classes as if they were regular enum constants. +#define BIND_CORE_ENUM_CLASS_CONSTANT(m_enum, m_prefix, m_member) \ + _global_constants.push_back(_CoreConstant(__constant_get_enum_name(m_enum::m_member, #m_prefix "_" #m_member), #m_prefix "_" #m_member, (int)m_enum::m_member)); + +#define BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(m_enum, m_name, m_member) \ + _global_constants.push_back(_CoreConstant(__constant_get_enum_name(m_enum::m_member, #m_name), #m_name, (int)m_enum::m_member)); + +#define BIND_CORE_ENUM_CLASS_CONSTANT_NO_VAL(m_enum, m_prefix, m_member) \ + _global_constants.push_back(_CoreConstant(__constant_get_enum_name(m_enum::m_member, #m_prefix "_" #m_member), #m_prefix "_" #m_member, (int)m_enum::m_member, true)); + #define BIND_CORE_ENUM_CONSTANT_CUSTOM(m_custom_name, m_constant) \ _global_constants.push_back(_CoreConstant(__constant_get_enum_name(m_constant, #m_constant), m_custom_name, m_constant)); @@ -91,6 +101,16 @@ static Vector<_CoreConstant> _global_constants; #define BIND_CORE_ENUM_CONSTANT(m_constant) \ _global_constants.push_back(_CoreConstant(#m_constant, m_constant)); +// This just binds enum classes as if they were regular enum constants. +#define BIND_CORE_ENUM_CLASS_CONSTANT(m_enum, m_prefix, m_member) \ + _global_constants.push_back(_CoreConstant(#m_prefix "_" #m_member, (int)m_enum::m_member)); + +#define BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(m_enum, m_name, m_member) \ + _global_constants.push_back(_CoreConstant(#m_name, (int)m_enum::m_member)); + +#define BIND_CORE_ENUM_CLASS_CONSTANT_NO_VAL(m_enum, m_prefix, m_member) \ + _global_constants.push_back(_CoreConstant(#m_prefix "_" #m_member, (int)m_enum::m_member)); + #define BIND_CORE_ENUM_CONSTANT_CUSTOM(m_custom_name, m_constant) \ _global_constants.push_back(_CoreConstant(m_custom_name, m_constant)); @@ -144,326 +164,317 @@ void register_global_constants() { BIND_CORE_ENUM_CONSTANT(INLINE_ALIGN_CENTER); BIND_CORE_ENUM_CONSTANT(INLINE_ALIGN_BOTTOM); - // huge list of keys - BIND_CORE_CONSTANT(SPKEY); - - BIND_CORE_ENUM_CONSTANT(KEY_ESCAPE); - BIND_CORE_ENUM_CONSTANT(KEY_TAB); - BIND_CORE_ENUM_CONSTANT(KEY_BACKTAB); - BIND_CORE_ENUM_CONSTANT(KEY_BACKSPACE); - BIND_CORE_ENUM_CONSTANT(KEY_ENTER); - BIND_CORE_ENUM_CONSTANT(KEY_KP_ENTER); - BIND_CORE_ENUM_CONSTANT(KEY_INSERT); - BIND_CORE_ENUM_CONSTANT(KEY_DELETE); - BIND_CORE_ENUM_CONSTANT(KEY_PAUSE); - BIND_CORE_ENUM_CONSTANT(KEY_PRINT); - BIND_CORE_ENUM_CONSTANT(KEY_SYSREQ); - BIND_CORE_ENUM_CONSTANT(KEY_CLEAR); - BIND_CORE_ENUM_CONSTANT(KEY_HOME); - BIND_CORE_ENUM_CONSTANT(KEY_END); - BIND_CORE_ENUM_CONSTANT(KEY_LEFT); - BIND_CORE_ENUM_CONSTANT(KEY_UP); - BIND_CORE_ENUM_CONSTANT(KEY_RIGHT); - BIND_CORE_ENUM_CONSTANT(KEY_DOWN); - BIND_CORE_ENUM_CONSTANT(KEY_PAGEUP); - BIND_CORE_ENUM_CONSTANT(KEY_PAGEDOWN); - BIND_CORE_ENUM_CONSTANT(KEY_SHIFT); - BIND_CORE_ENUM_CONSTANT(KEY_CTRL); - BIND_CORE_ENUM_CONSTANT(KEY_META); - BIND_CORE_ENUM_CONSTANT(KEY_ALT); - BIND_CORE_ENUM_CONSTANT(KEY_CAPSLOCK); - BIND_CORE_ENUM_CONSTANT(KEY_NUMLOCK); - BIND_CORE_ENUM_CONSTANT(KEY_SCROLLLOCK); - BIND_CORE_ENUM_CONSTANT(KEY_F1); - BIND_CORE_ENUM_CONSTANT(KEY_F2); - BIND_CORE_ENUM_CONSTANT(KEY_F3); - BIND_CORE_ENUM_CONSTANT(KEY_F4); - BIND_CORE_ENUM_CONSTANT(KEY_F5); - BIND_CORE_ENUM_CONSTANT(KEY_F6); - BIND_CORE_ENUM_CONSTANT(KEY_F7); - BIND_CORE_ENUM_CONSTANT(KEY_F8); - BIND_CORE_ENUM_CONSTANT(KEY_F9); - BIND_CORE_ENUM_CONSTANT(KEY_F10); - BIND_CORE_ENUM_CONSTANT(KEY_F11); - BIND_CORE_ENUM_CONSTANT(KEY_F12); - BIND_CORE_ENUM_CONSTANT(KEY_F13); - BIND_CORE_ENUM_CONSTANT(KEY_F14); - BIND_CORE_ENUM_CONSTANT(KEY_F15); - BIND_CORE_ENUM_CONSTANT(KEY_F16); - BIND_CORE_ENUM_CONSTANT(KEY_KP_MULTIPLY); - BIND_CORE_ENUM_CONSTANT(KEY_KP_DIVIDE); - BIND_CORE_ENUM_CONSTANT(KEY_KP_SUBTRACT); - BIND_CORE_ENUM_CONSTANT(KEY_KP_PERIOD); - BIND_CORE_ENUM_CONSTANT(KEY_KP_ADD); - BIND_CORE_ENUM_CONSTANT(KEY_KP_0); - BIND_CORE_ENUM_CONSTANT(KEY_KP_1); - BIND_CORE_ENUM_CONSTANT(KEY_KP_2); - BIND_CORE_ENUM_CONSTANT(KEY_KP_3); - BIND_CORE_ENUM_CONSTANT(KEY_KP_4); - BIND_CORE_ENUM_CONSTANT(KEY_KP_5); - BIND_CORE_ENUM_CONSTANT(KEY_KP_6); - BIND_CORE_ENUM_CONSTANT(KEY_KP_7); - BIND_CORE_ENUM_CONSTANT(KEY_KP_8); - BIND_CORE_ENUM_CONSTANT(KEY_KP_9); - BIND_CORE_ENUM_CONSTANT(KEY_SUPER_L); - BIND_CORE_ENUM_CONSTANT(KEY_SUPER_R); - BIND_CORE_ENUM_CONSTANT(KEY_MENU); - BIND_CORE_ENUM_CONSTANT(KEY_HYPER_L); - BIND_CORE_ENUM_CONSTANT(KEY_HYPER_R); - BIND_CORE_ENUM_CONSTANT(KEY_HELP); - BIND_CORE_ENUM_CONSTANT(KEY_DIRECTION_L); - BIND_CORE_ENUM_CONSTANT(KEY_DIRECTION_R); - BIND_CORE_ENUM_CONSTANT(KEY_BACK); - BIND_CORE_ENUM_CONSTANT(KEY_FORWARD); - BIND_CORE_ENUM_CONSTANT(KEY_STOP); - BIND_CORE_ENUM_CONSTANT(KEY_REFRESH); - BIND_CORE_ENUM_CONSTANT(KEY_VOLUMEDOWN); - BIND_CORE_ENUM_CONSTANT(KEY_VOLUMEMUTE); - BIND_CORE_ENUM_CONSTANT(KEY_VOLUMEUP); - BIND_CORE_ENUM_CONSTANT(KEY_BASSBOOST); - BIND_CORE_ENUM_CONSTANT(KEY_BASSUP); - BIND_CORE_ENUM_CONSTANT(KEY_BASSDOWN); - BIND_CORE_ENUM_CONSTANT(KEY_TREBLEUP); - BIND_CORE_ENUM_CONSTANT(KEY_TREBLEDOWN); - BIND_CORE_ENUM_CONSTANT(KEY_MEDIAPLAY); - BIND_CORE_ENUM_CONSTANT(KEY_MEDIASTOP); - BIND_CORE_ENUM_CONSTANT(KEY_MEDIAPREVIOUS); - BIND_CORE_ENUM_CONSTANT(KEY_MEDIANEXT); - BIND_CORE_ENUM_CONSTANT(KEY_MEDIARECORD); - BIND_CORE_ENUM_CONSTANT(KEY_HOMEPAGE); - BIND_CORE_ENUM_CONSTANT(KEY_FAVORITES); - BIND_CORE_ENUM_CONSTANT(KEY_SEARCH); - BIND_CORE_ENUM_CONSTANT(KEY_STANDBY); - BIND_CORE_ENUM_CONSTANT(KEY_OPENURL); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCHMAIL); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCHMEDIA); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCH0); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCH1); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCH2); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCH3); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCH4); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCH5); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCH6); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCH7); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCH8); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCH9); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCHA); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCHB); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCHC); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCHD); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCHE); - BIND_CORE_ENUM_CONSTANT(KEY_LAUNCHF); - - BIND_CORE_ENUM_CONSTANT(KEY_UNKNOWN); - BIND_CORE_ENUM_CONSTANT(KEY_SPACE); - BIND_CORE_ENUM_CONSTANT(KEY_EXCLAM); - BIND_CORE_ENUM_CONSTANT(KEY_QUOTEDBL); - BIND_CORE_ENUM_CONSTANT(KEY_NUMBERSIGN); - BIND_CORE_ENUM_CONSTANT(KEY_DOLLAR); - BIND_CORE_ENUM_CONSTANT(KEY_PERCENT); - BIND_CORE_ENUM_CONSTANT(KEY_AMPERSAND); - BIND_CORE_ENUM_CONSTANT(KEY_APOSTROPHE); - BIND_CORE_ENUM_CONSTANT(KEY_PARENLEFT); - BIND_CORE_ENUM_CONSTANT(KEY_PARENRIGHT); - BIND_CORE_ENUM_CONSTANT(KEY_ASTERISK); - BIND_CORE_ENUM_CONSTANT(KEY_PLUS); - BIND_CORE_ENUM_CONSTANT(KEY_COMMA); - BIND_CORE_ENUM_CONSTANT(KEY_MINUS); - BIND_CORE_ENUM_CONSTANT(KEY_PERIOD); - BIND_CORE_ENUM_CONSTANT(KEY_SLASH); - BIND_CORE_ENUM_CONSTANT(KEY_0); - BIND_CORE_ENUM_CONSTANT(KEY_1); - BIND_CORE_ENUM_CONSTANT(KEY_2); - BIND_CORE_ENUM_CONSTANT(KEY_3); - BIND_CORE_ENUM_CONSTANT(KEY_4); - BIND_CORE_ENUM_CONSTANT(KEY_5); - BIND_CORE_ENUM_CONSTANT(KEY_6); - BIND_CORE_ENUM_CONSTANT(KEY_7); - BIND_CORE_ENUM_CONSTANT(KEY_8); - BIND_CORE_ENUM_CONSTANT(KEY_9); - BIND_CORE_ENUM_CONSTANT(KEY_COLON); - BIND_CORE_ENUM_CONSTANT(KEY_SEMICOLON); - BIND_CORE_ENUM_CONSTANT(KEY_LESS); - BIND_CORE_ENUM_CONSTANT(KEY_EQUAL); - BIND_CORE_ENUM_CONSTANT(KEY_GREATER); - BIND_CORE_ENUM_CONSTANT(KEY_QUESTION); - BIND_CORE_ENUM_CONSTANT(KEY_AT); - BIND_CORE_ENUM_CONSTANT(KEY_A); - BIND_CORE_ENUM_CONSTANT(KEY_B); - BIND_CORE_ENUM_CONSTANT(KEY_C); - BIND_CORE_ENUM_CONSTANT(KEY_D); - BIND_CORE_ENUM_CONSTANT(KEY_E); - BIND_CORE_ENUM_CONSTANT(KEY_F); - BIND_CORE_ENUM_CONSTANT(KEY_G); - BIND_CORE_ENUM_CONSTANT(KEY_H); - BIND_CORE_ENUM_CONSTANT(KEY_I); - BIND_CORE_ENUM_CONSTANT(KEY_J); - BIND_CORE_ENUM_CONSTANT(KEY_K); - BIND_CORE_ENUM_CONSTANT(KEY_L); - BIND_CORE_ENUM_CONSTANT(KEY_M); - BIND_CORE_ENUM_CONSTANT(KEY_N); - BIND_CORE_ENUM_CONSTANT(KEY_O); - BIND_CORE_ENUM_CONSTANT(KEY_P); - BIND_CORE_ENUM_CONSTANT(KEY_Q); - BIND_CORE_ENUM_CONSTANT(KEY_R); - BIND_CORE_ENUM_CONSTANT(KEY_S); - BIND_CORE_ENUM_CONSTANT(KEY_T); - BIND_CORE_ENUM_CONSTANT(KEY_U); - BIND_CORE_ENUM_CONSTANT(KEY_V); - BIND_CORE_ENUM_CONSTANT(KEY_W); - BIND_CORE_ENUM_CONSTANT(KEY_X); - BIND_CORE_ENUM_CONSTANT(KEY_Y); - BIND_CORE_ENUM_CONSTANT(KEY_Z); - BIND_CORE_ENUM_CONSTANT(KEY_BRACKETLEFT); - BIND_CORE_ENUM_CONSTANT(KEY_BACKSLASH); - BIND_CORE_ENUM_CONSTANT(KEY_BRACKETRIGHT); - BIND_CORE_ENUM_CONSTANT(KEY_ASCIICIRCUM); - BIND_CORE_ENUM_CONSTANT(KEY_UNDERSCORE); - BIND_CORE_ENUM_CONSTANT(KEY_QUOTELEFT); - BIND_CORE_ENUM_CONSTANT(KEY_BRACELEFT); - BIND_CORE_ENUM_CONSTANT(KEY_BAR); - BIND_CORE_ENUM_CONSTANT(KEY_BRACERIGHT); - BIND_CORE_ENUM_CONSTANT(KEY_ASCIITILDE); - BIND_CORE_ENUM_CONSTANT(KEY_NOBREAKSPACE); - BIND_CORE_ENUM_CONSTANT(KEY_EXCLAMDOWN); - BIND_CORE_ENUM_CONSTANT(KEY_CENT); - BIND_CORE_ENUM_CONSTANT(KEY_STERLING); - BIND_CORE_ENUM_CONSTANT(KEY_CURRENCY); - BIND_CORE_ENUM_CONSTANT(KEY_YEN); - BIND_CORE_ENUM_CONSTANT(KEY_BROKENBAR); - BIND_CORE_ENUM_CONSTANT(KEY_SECTION); - BIND_CORE_ENUM_CONSTANT(KEY_DIAERESIS); - BIND_CORE_ENUM_CONSTANT(KEY_COPYRIGHT); - BIND_CORE_ENUM_CONSTANT(KEY_ORDFEMININE); - BIND_CORE_ENUM_CONSTANT(KEY_GUILLEMOTLEFT); - BIND_CORE_ENUM_CONSTANT(KEY_NOTSIGN); - BIND_CORE_ENUM_CONSTANT(KEY_HYPHEN); - BIND_CORE_ENUM_CONSTANT(KEY_REGISTERED); - BIND_CORE_ENUM_CONSTANT(KEY_MACRON); - BIND_CORE_ENUM_CONSTANT(KEY_DEGREE); - BIND_CORE_ENUM_CONSTANT(KEY_PLUSMINUS); - BIND_CORE_ENUM_CONSTANT(KEY_TWOSUPERIOR); - BIND_CORE_ENUM_CONSTANT(KEY_THREESUPERIOR); - BIND_CORE_ENUM_CONSTANT(KEY_ACUTE); - BIND_CORE_ENUM_CONSTANT(KEY_MU); - BIND_CORE_ENUM_CONSTANT(KEY_PARAGRAPH); - BIND_CORE_ENUM_CONSTANT(KEY_PERIODCENTERED); - BIND_CORE_ENUM_CONSTANT(KEY_CEDILLA); - BIND_CORE_ENUM_CONSTANT(KEY_ONESUPERIOR); - BIND_CORE_ENUM_CONSTANT(KEY_MASCULINE); - BIND_CORE_ENUM_CONSTANT(KEY_GUILLEMOTRIGHT); - BIND_CORE_ENUM_CONSTANT(KEY_ONEQUARTER); - BIND_CORE_ENUM_CONSTANT(KEY_ONEHALF); - BIND_CORE_ENUM_CONSTANT(KEY_THREEQUARTERS); - BIND_CORE_ENUM_CONSTANT(KEY_QUESTIONDOWN); - BIND_CORE_ENUM_CONSTANT(KEY_AGRAVE); - BIND_CORE_ENUM_CONSTANT(KEY_AACUTE); - BIND_CORE_ENUM_CONSTANT(KEY_ACIRCUMFLEX); - BIND_CORE_ENUM_CONSTANT(KEY_ATILDE); - BIND_CORE_ENUM_CONSTANT(KEY_ADIAERESIS); - BIND_CORE_ENUM_CONSTANT(KEY_ARING); - BIND_CORE_ENUM_CONSTANT(KEY_AE); - BIND_CORE_ENUM_CONSTANT(KEY_CCEDILLA); - BIND_CORE_ENUM_CONSTANT(KEY_EGRAVE); - BIND_CORE_ENUM_CONSTANT(KEY_EACUTE); - BIND_CORE_ENUM_CONSTANT(KEY_ECIRCUMFLEX); - BIND_CORE_ENUM_CONSTANT(KEY_EDIAERESIS); - BIND_CORE_ENUM_CONSTANT(KEY_IGRAVE); - BIND_CORE_ENUM_CONSTANT(KEY_IACUTE); - BIND_CORE_ENUM_CONSTANT(KEY_ICIRCUMFLEX); - BIND_CORE_ENUM_CONSTANT(KEY_IDIAERESIS); - BIND_CORE_ENUM_CONSTANT(KEY_ETH); - BIND_CORE_ENUM_CONSTANT(KEY_NTILDE); - BIND_CORE_ENUM_CONSTANT(KEY_OGRAVE); - BIND_CORE_ENUM_CONSTANT(KEY_OACUTE); - BIND_CORE_ENUM_CONSTANT(KEY_OCIRCUMFLEX); - BIND_CORE_ENUM_CONSTANT(KEY_OTILDE); - BIND_CORE_ENUM_CONSTANT(KEY_ODIAERESIS); - BIND_CORE_ENUM_CONSTANT(KEY_MULTIPLY); - BIND_CORE_ENUM_CONSTANT(KEY_OOBLIQUE); - BIND_CORE_ENUM_CONSTANT(KEY_UGRAVE); - BIND_CORE_ENUM_CONSTANT(KEY_UACUTE); - BIND_CORE_ENUM_CONSTANT(KEY_UCIRCUMFLEX); - BIND_CORE_ENUM_CONSTANT(KEY_UDIAERESIS); - BIND_CORE_ENUM_CONSTANT(KEY_YACUTE); - BIND_CORE_ENUM_CONSTANT(KEY_THORN); - BIND_CORE_ENUM_CONSTANT(KEY_SSHARP); - - BIND_CORE_ENUM_CONSTANT(KEY_DIVISION); - BIND_CORE_ENUM_CONSTANT(KEY_YDIAERESIS); - - BIND_CORE_ENUM_CONSTANT(KEY_CODE_MASK); - BIND_CORE_ENUM_CONSTANT(KEY_MODIFIER_MASK); - - BIND_CORE_ENUM_CONSTANT(KEY_MASK_SHIFT); - BIND_CORE_ENUM_CONSTANT(KEY_MASK_ALT); - BIND_CORE_ENUM_CONSTANT(KEY_MASK_META); - BIND_CORE_ENUM_CONSTANT(KEY_MASK_CTRL); - BIND_CORE_ENUM_CONSTANT_NO_VAL(KEY_MASK_CMD); - BIND_CORE_ENUM_CONSTANT(KEY_MASK_KPAD); - BIND_CORE_ENUM_CONSTANT(KEY_MASK_GROUP_SWITCH); - - // mouse - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_LEFT); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_RIGHT); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_MIDDLE); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_XBUTTON1); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_XBUTTON2); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_WHEEL_UP); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_WHEEL_DOWN); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_WHEEL_LEFT); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_WHEEL_RIGHT); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_MASK_LEFT); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_MASK_RIGHT); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_MASK_MIDDLE); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_MASK_XBUTTON1); - BIND_CORE_ENUM_CONSTANT(MOUSE_BUTTON_MASK_XBUTTON2); - - // Joypad buttons - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_INVALID); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_A); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_B); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_X); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_Y); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_BACK); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_GUIDE); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_START); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_LEFT_STICK); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_RIGHT_STICK); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_LEFT_SHOULDER); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_RIGHT_SHOULDER); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_DPAD_UP); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_DPAD_DOWN); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_DPAD_LEFT); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_DPAD_RIGHT); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_MISC1); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_PADDLE1); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_PADDLE2); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_PADDLE3); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_PADDLE4); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_TOUCHPAD); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_SDL_MAX); - BIND_CORE_ENUM_CONSTANT(JOY_BUTTON_MAX); - - // Joypad axes - BIND_CORE_ENUM_CONSTANT(JOY_AXIS_INVALID); - BIND_CORE_ENUM_CONSTANT(JOY_AXIS_LEFT_X); - BIND_CORE_ENUM_CONSTANT(JOY_AXIS_LEFT_Y); - BIND_CORE_ENUM_CONSTANT(JOY_AXIS_RIGHT_X); - BIND_CORE_ENUM_CONSTANT(JOY_AXIS_RIGHT_Y); - BIND_CORE_ENUM_CONSTANT(JOY_AXIS_TRIGGER_LEFT); - BIND_CORE_ENUM_CONSTANT(JOY_AXIS_TRIGGER_RIGHT); - BIND_CORE_ENUM_CONSTANT(JOY_AXIS_SDL_MAX); - BIND_CORE_ENUM_CONSTANT(JOY_AXIS_MAX); - - // midi - BIND_CORE_ENUM_CONSTANT(MIDI_MESSAGE_NOTE_OFF); - BIND_CORE_ENUM_CONSTANT(MIDI_MESSAGE_NOTE_ON); - BIND_CORE_ENUM_CONSTANT(MIDI_MESSAGE_AFTERTOUCH); - BIND_CORE_ENUM_CONSTANT(MIDI_MESSAGE_CONTROL_CHANGE); - BIND_CORE_ENUM_CONSTANT(MIDI_MESSAGE_PROGRAM_CHANGE); - BIND_CORE_ENUM_CONSTANT(MIDI_MESSAGE_CHANNEL_PRESSURE); - BIND_CORE_ENUM_CONSTANT(MIDI_MESSAGE_PITCH_BEND); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SPECIAL); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ESCAPE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, TAB); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BACKTAB); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BACKSPACE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ENTER); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_ENTER); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, INSERT); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_DELETE, KEY_DELETE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PAUSE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PRINT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SYSREQ); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, CLEAR); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, HOME); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, END); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LEFT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, UP); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, RIGHT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, DOWN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PAGEUP); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PAGEDOWN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SHIFT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, CTRL); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, META); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ALT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, CAPSLOCK); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, NUMLOCK); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SCROLLLOCK); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F1); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F2); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F3); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F4); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F5); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F6); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F7); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F8); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F9); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F10); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F11); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F12); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F13); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F14); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F15); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F16); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_MULTIPLY); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_DIVIDE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_SUBTRACT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_PERIOD); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_ADD); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_0); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_1); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_2); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_3); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_4); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_5); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_6); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_7); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_8); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, KP_9); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SUPER_L); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SUPER_R); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, MENU); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, HYPER_L); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, HYPER_R); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, HELP); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, DIRECTION_L); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, DIRECTION_R); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BACK); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, FORWARD); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, STOP); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, REFRESH); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, VOLUMEDOWN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, VOLUMEMUTE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, VOLUMEUP); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BASSBOOST); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BASSUP); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BASSDOWN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, TREBLEUP); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, TREBLEDOWN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, MEDIAPLAY); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, MEDIASTOP); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, MEDIAPREVIOUS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, MEDIANEXT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, MEDIARECORD); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, HOMEPAGE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, FAVORITES); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SEARCH); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, STANDBY); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, OPENURL); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCHMAIL); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCHMEDIA); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCH0); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCH1); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCH2); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCH3); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCH4); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCH5); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCH6); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCH7); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCH8); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCH9); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCHA); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCHB); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCHC); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCHD); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCHE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LAUNCHF); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, UNKNOWN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SPACE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, EXCLAM); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, QUOTEDBL); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, NUMBERSIGN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, DOLLAR); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PERCENT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, AMPERSAND); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, APOSTROPHE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PARENLEFT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PARENRIGHT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ASTERISK); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PLUS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, COMMA); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, MINUS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PERIOD); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SLASH); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_0, KEY_0); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_1, KEY_1); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_2, KEY_2); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_3, KEY_3); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_4, KEY_4); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_5, KEY_5); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_6, KEY_6); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_7, KEY_7); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_8, KEY_8); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_9, KEY_9); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, COLON); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SEMICOLON); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, LESS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, EQUAL); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, GREATER); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, QUESTION); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, AT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, A); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, B); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, C); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, D); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, E); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, F); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, G); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, H); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, I); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, J); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, K); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, L); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, M); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, N); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, O); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, P); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, Q); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, R); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, S); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, T); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, U); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, V); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, W); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, X); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, Y); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, Z); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BRACKETLEFT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BACKSLASH); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BRACKETRIGHT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ASCIICIRCUM); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, UNDERSCORE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, QUOTELEFT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BRACELEFT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BAR); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BRACERIGHT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ASCIITILDE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, NOBREAKSPACE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, EXCLAMDOWN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, CENT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, STERLING); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, CURRENCY); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, YEN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, BROKENBAR); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SECTION); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, DIAERESIS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, COPYRIGHT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ORDFEMININE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, GUILLEMOTLEFT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, NOTSIGN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, HYPHEN); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(Key, KEY_REGISTERED, KEY_REGISTERED); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, MACRON); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, DEGREE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PLUSMINUS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, TWOSUPERIOR); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, THREESUPERIOR); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ACUTE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, MU); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PARAGRAPH); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, PERIODCENTERED); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, CEDILLA); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ONESUPERIOR); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, MASCULINE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, GUILLEMOTRIGHT); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ONEQUARTER); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ONEHALF); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, THREEQUARTERS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, QUESTIONDOWN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, AGRAVE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, AACUTE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ACIRCUMFLEX); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ATILDE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ADIAERESIS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ARING); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, AE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, CCEDILLA); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, EGRAVE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, EACUTE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ECIRCUMFLEX); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, EDIAERESIS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, IGRAVE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, IACUTE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ICIRCUMFLEX); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, IDIAERESIS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ETH); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, NTILDE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, OGRAVE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, OACUTE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, OCIRCUMFLEX); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, OTILDE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, ODIAERESIS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, MULTIPLY); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, OOBLIQUE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, UGRAVE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, UACUTE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, UCIRCUMFLEX); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, UDIAERESIS); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, YACUTE); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, THORN); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, SSHARP); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, DIVISION); + BIND_CORE_ENUM_CLASS_CONSTANT(Key, KEY, YDIAERESIS); + + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(KeyModifierMask, KEY_CODE_MASK, CODE_MASK); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(KeyModifierMask, KEY_MODIFIER_MASK, MODIFIER_MASK); + BIND_CORE_ENUM_CLASS_CONSTANT(KeyModifierMask, KEY_MASK, SHIFT); + BIND_CORE_ENUM_CLASS_CONSTANT(KeyModifierMask, KEY_MASK, ALT); + BIND_CORE_ENUM_CLASS_CONSTANT(KeyModifierMask, KEY_MASK, META); + BIND_CORE_ENUM_CLASS_CONSTANT(KeyModifierMask, KEY_MASK, CTRL); + BIND_CORE_ENUM_CLASS_CONSTANT_NO_VAL(KeyModifierMask, KEY_MASK, CMD); + BIND_CORE_ENUM_CLASS_CONSTANT(KeyModifierMask, KEY_MASK, KPAD); + BIND_CORE_ENUM_CLASS_CONSTANT(KeyModifierMask, KEY_MASK, GROUP_SWITCH); + + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, LEFT); + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, RIGHT); + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, MIDDLE); + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, WHEEL_UP); + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, WHEEL_DOWN); + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, WHEEL_LEFT); + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, WHEEL_RIGHT); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(MouseButton, MOUSE_BUTTON_XBUTTON1, MB_XBUTTON1); + BIND_CORE_ENUM_CLASS_CONSTANT_CUSTOM(MouseButton, MOUSE_BUTTON_XBUTTON2, MB_XBUTTON2); + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, MASK_LEFT); + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, MASK_RIGHT); + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, MASK_MIDDLE); + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, MASK_XBUTTON1); + BIND_CORE_ENUM_CLASS_CONSTANT(MouseButton, MOUSE_BUTTON, MASK_XBUTTON2); + + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, INVALID); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, A); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, B); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, X); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, Y); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, BACK); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, GUIDE); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, START); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, LEFT_STICK); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, RIGHT_STICK); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, LEFT_SHOULDER); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, RIGHT_SHOULDER); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, DPAD_UP); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, DPAD_DOWN); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, DPAD_LEFT); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, DPAD_RIGHT); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, MISC1); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, PADDLE1); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, PADDLE2); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, PADDLE3); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, PADDLE4); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, TOUCHPAD); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, SDL_MAX); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyButton, JOY_BUTTON, MAX); + + BIND_CORE_ENUM_CLASS_CONSTANT(JoyAxis, JOY_AXIS, INVALID); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyAxis, JOY_AXIS, LEFT_X); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyAxis, JOY_AXIS, LEFT_Y); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyAxis, JOY_AXIS, RIGHT_X); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyAxis, JOY_AXIS, RIGHT_Y); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyAxis, JOY_AXIS, TRIGGER_LEFT); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyAxis, JOY_AXIS, TRIGGER_RIGHT); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyAxis, JOY_AXIS, SDL_MAX); + BIND_CORE_ENUM_CLASS_CONSTANT(JoyAxis, JOY_AXIS, MAX); + + BIND_CORE_ENUM_CLASS_CONSTANT(MIDIMessage, MIDI_MESSAGE, NOTE_OFF); + BIND_CORE_ENUM_CLASS_CONSTANT(MIDIMessage, MIDI_MESSAGE, NOTE_ON); + BIND_CORE_ENUM_CLASS_CONSTANT(MIDIMessage, MIDI_MESSAGE, AFTERTOUCH); + BIND_CORE_ENUM_CLASS_CONSTANT(MIDIMessage, MIDI_MESSAGE, CONTROL_CHANGE); + BIND_CORE_ENUM_CLASS_CONSTANT(MIDIMessage, MIDI_MESSAGE, PROGRAM_CHANGE); + BIND_CORE_ENUM_CLASS_CONSTANT(MIDIMessage, MIDI_MESSAGE, CHANNEL_PRESSURE); + BIND_CORE_ENUM_CLASS_CONSTANT(MIDIMessage, MIDI_MESSAGE, PITCH_BEND); // error list -- cgit v1.2.3