mirror of
https://github.com/micsthepick/dsi2key.git
synced 2025-06-18 16:55:33 -04:00

2. Heavily changed configWindow, not finished 3. Some alterations to how enum_keys.cpp\h works 4. Added SINGLE_INPUT_SETTING udp packet 5. Some linux ifdef's 6. Probably others, this is old and should have been commited into a couple commits
544 lines
17 KiB
C++
544 lines
17 KiB
C++
// Conversion between system key codes and strings
|
|
//
|
|
// in windows
|
|
// VK_RETURN = "Key::KEY_RETURN"
|
|
//
|
|
// in linux
|
|
// XK_Return = "Key::KEY_RETURN"
|
|
|
|
#include "key.h"
|
|
#include "misc.h"
|
|
|
|
namespace D2K {namespace Key {
|
|
|
|
DSKeyEntry g_ds_table[] = {
|
|
{Key::KEY_NONE, Key::DSKEY_NONE},
|
|
{Key::KEY_VOID, Key::DSKEY_VOID},
|
|
|
|
{Key::KEY_LBUTTON, Key::DSKEY_LBUTTON},
|
|
{Key::KEY_RBUTTON, Key::DSKEY_RBUTTON},
|
|
{Key::KEY_CANCEL, Key::DSKEY_CANCEL},
|
|
{Key::KEY_MBUTTON, Key::DSKEY_MBUTTON},
|
|
{Key::KEY_XBUTTON1, Key::DSKEY_XBUTTON1},
|
|
{Key::KEY_XBUTTON2, Key::DSKEY_XBUTTON2},
|
|
{Key::KEY_BACK, Key::DSKEY_BACK},
|
|
{Key::KEY_TAB, Key::DSKEY_TAB},
|
|
{Key::KEY_CLEAR, Key::DSKEY_CLEAR},
|
|
{Key::KEY_RETURN, Key::DSKEY_RETURN},
|
|
{Key::KEY_SHIFT, Key::DSKEY_SHIFT},
|
|
{Key::KEY_CONTROL, Key::DSKEY_CONTROL},
|
|
{Key::KEY_MENU, Key::DSKEY_MENU},
|
|
{Key::KEY_PAUSE, Key::DSKEY_PAUSE},
|
|
{Key::KEY_CAPITAL, Key::DSKEY_CAPITAL},
|
|
{Key::KEY_KANA, Key::DSKEY_KANA},
|
|
{Key::KEY_HANGEUL, Key::DSKEY_HANGEUL},
|
|
{Key::KEY_HANGUL, Key::DSKEY_HANGUL},
|
|
{Key::KEY_JUNJA, Key::DSKEY_JUNJA},
|
|
{Key::KEY_FINAL, Key::DSKEY_FINAL},
|
|
{Key::KEY_HANJA, Key::DSKEY_HANJA},
|
|
{Key::KEY_KANJI, Key::DSKEY_KANJI},
|
|
{Key::KEY_ESCAPE, Key::DSKEY_ESCAPE},
|
|
{Key::KEY_CONVERT, Key::DSKEY_CONVERT},
|
|
{Key::KEY_NONCONVERT, Key::DSKEY_NONCONVERT},
|
|
{Key::KEY_ACCEPT, Key::DSKEY_ACCEPT},
|
|
{Key::KEY_MODECHANGE, Key::DSKEY_MODECHANGE},
|
|
{Key::KEY_SPACE, Key::DSKEY_SPACE},
|
|
{Key::KEY_PRIOR, Key::DSKEY_PRIOR},
|
|
{Key::KEY_NEXT, Key::DSKEY_NEXT},
|
|
{Key::KEY_END, Key::DSKEY_END},
|
|
{Key::KEY_HOME, Key::DSKEY_HOME},
|
|
{Key::KEY_LEFT, Key::DSKEY_LEFT},
|
|
{Key::KEY_UP, Key::DSKEY_UP},
|
|
{Key::KEY_RIGHT, Key::DSKEY_RIGHT},
|
|
{Key::KEY_DOWN, Key::DSKEY_DOWN},
|
|
{Key::KEY_SELECT, Key::DSKEY_SELECT},
|
|
{Key::KEY_PRINT, Key::DSKEY_PRINT},
|
|
{Key::KEY_EXEC, Key::DSKEY_EXEC},
|
|
{Key::KEY_SNAPSHOT, Key::DSKEY_SNAPSHOT},
|
|
{Key::KEY_INSERT, Key::DSKEY_INSERT},
|
|
{Key::KEY_DELETE, Key::DSKEY_DELETE},
|
|
{Key::KEY_HELP, Key::DSKEY_HELP},
|
|
{Key::KEY_0, Key::DSKEY_0},
|
|
{Key::KEY_1, Key::DSKEY_1},
|
|
{Key::KEY_2, Key::DSKEY_2},
|
|
{Key::KEY_3, Key::DSKEY_3},
|
|
{Key::KEY_4, Key::DSKEY_4},
|
|
{Key::KEY_5, Key::DSKEY_5},
|
|
{Key::KEY_6, Key::DSKEY_6},
|
|
{Key::KEY_7, Key::DSKEY_7},
|
|
{Key::KEY_8, Key::DSKEY_8},
|
|
{Key::KEY_9, Key::DSKEY_9},
|
|
{Key::KEY_A, Key::DSKEY_A},
|
|
{Key::KEY_B, Key::DSKEY_B},
|
|
{Key::KEY_C, Key::DSKEY_C},
|
|
{Key::KEY_D, Key::DSKEY_D},
|
|
{Key::KEY_E, Key::DSKEY_E},
|
|
{Key::KEY_F, Key::DSKEY_F},
|
|
{Key::KEY_G, Key::DSKEY_G},
|
|
{Key::KEY_H, Key::DSKEY_H},
|
|
{Key::KEY_I, Key::DSKEY_I},
|
|
{Key::KEY_J, Key::DSKEY_J},
|
|
{Key::KEY_K, Key::DSKEY_K},
|
|
{Key::KEY_L, Key::DSKEY_L},
|
|
{Key::KEY_M, Key::DSKEY_M},
|
|
{Key::KEY_N, Key::DSKEY_N},
|
|
{Key::KEY_O, Key::DSKEY_O},
|
|
{Key::KEY_P, Key::DSKEY_P},
|
|
{Key::KEY_Q, Key::DSKEY_Q},
|
|
{Key::KEY_R, Key::DSKEY_R},
|
|
{Key::KEY_S, Key::DSKEY_S},
|
|
{Key::KEY_T, Key::DSKEY_T},
|
|
{Key::KEY_U, Key::DSKEY_U},
|
|
{Key::KEY_V, Key::DSKEY_V},
|
|
{Key::KEY_W, Key::DSKEY_W},
|
|
{Key::KEY_X, Key::DSKEY_X},
|
|
{Key::KEY_Y, Key::DSKEY_Y},
|
|
{Key::KEY_Z, Key::DSKEY_Z},
|
|
{Key::KEY_LWIN, Key::DSKEY_LWIN},
|
|
{Key::KEY_RWIN, Key::DSKEY_RWIN},
|
|
{Key::KEY_APPS, Key::DSKEY_APPS},
|
|
{Key::KEY_SLEEP, Key::DSKEY_SLEEP},
|
|
{Key::KEY_NUMPAD0, Key::DSKEY_NUMPAD0},
|
|
{Key::KEY_NUMPAD1, Key::DSKEY_NUMPAD1},
|
|
{Key::KEY_NUMPAD2, Key::DSKEY_NUMPAD2},
|
|
{Key::KEY_NUMPAD3, Key::DSKEY_NUMPAD3},
|
|
{Key::KEY_NUMPAD4, Key::DSKEY_NUMPAD4},
|
|
{Key::KEY_NUMPAD5, Key::DSKEY_NUMPAD5},
|
|
{Key::KEY_NUMPAD6, Key::DSKEY_NUMPAD6},
|
|
{Key::KEY_NUMPAD7, Key::DSKEY_NUMPAD7},
|
|
{Key::KEY_NUMPAD8, Key::DSKEY_NUMPAD8},
|
|
{Key::KEY_NUMPAD9, Key::DSKEY_NUMPAD9},
|
|
{Key::KEY_MULTIPLY, Key::DSKEY_MULTIPLY},
|
|
{Key::KEY_ADD, Key::DSKEY_ADD},
|
|
{Key::KEY_SEPARATOR, Key::DSKEY_SEPARATOR},
|
|
{Key::KEY_SUBTRACT, Key::DSKEY_SUBTRACT},
|
|
{Key::KEY_DECIMAL, Key::DSKEY_DECIMAL},
|
|
{Key::KEY_DIVIDE, Key::DSKEY_DIVIDE},
|
|
{Key::KEY_F1, Key::DSKEY_F1},
|
|
{Key::KEY_F2, Key::DSKEY_F2},
|
|
{Key::KEY_F3, Key::DSKEY_F3},
|
|
{Key::KEY_F4, Key::DSKEY_F4},
|
|
{Key::KEY_F5, Key::DSKEY_F5},
|
|
{Key::KEY_F6, Key::DSKEY_F6},
|
|
{Key::KEY_F7, Key::DSKEY_F7},
|
|
{Key::KEY_F8, Key::DSKEY_F8},
|
|
{Key::KEY_F9, Key::DSKEY_F9},
|
|
{Key::KEY_F10, Key::DSKEY_F10},
|
|
{Key::KEY_F11, Key::DSKEY_F11},
|
|
{Key::KEY_F12, Key::DSKEY_F12},
|
|
{Key::KEY_F13, Key::DSKEY_F13},
|
|
{Key::KEY_F14, Key::DSKEY_F14},
|
|
{Key::KEY_F15, Key::DSKEY_F15},
|
|
{Key::KEY_F16, Key::DSKEY_F16},
|
|
{Key::KEY_F17, Key::DSKEY_F17},
|
|
{Key::KEY_F18, Key::DSKEY_F18},
|
|
{Key::KEY_F19, Key::DSKEY_F19},
|
|
{Key::KEY_F20, Key::DSKEY_F20},
|
|
{Key::KEY_F21, Key::DSKEY_F21},
|
|
{Key::KEY_F22, Key::DSKEY_F22},
|
|
{Key::KEY_F23, Key::DSKEY_F23},
|
|
{Key::KEY_F24, Key::DSKEY_F24},
|
|
{Key::KEY_NUMLOCK, Key::DSKEY_NUMLOCK},
|
|
{Key::KEY_SCROLL, Key::DSKEY_SCROLL},
|
|
{Key::KEY_LSHIFT, Key::DSKEY_LSHIFT},
|
|
{Key::KEY_RSHIFT, Key::DSKEY_RSHIFT},
|
|
{Key::KEY_LCONTROL, Key::DSKEY_LCONTROL},
|
|
{Key::KEY_RCONTROL, Key::DSKEY_RCONTROL},
|
|
{Key::KEY_LMENU, Key::DSKEY_LMENU},
|
|
{Key::KEY_RMENU, Key::DSKEY_RMENU},
|
|
{Key::KEY_BROWSER_BACK, Key::DSKEY_BROWSER_BACK},
|
|
{Key::KEY_BROWSER_FORWARD, Key::DSKEY_BROWSER_FORWARD},
|
|
{Key::KEY_BROWSER_REFRESH, Key::DSKEY_BROWSER_REFRESH},
|
|
{Key::KEY_BROWSER_STOP, Key::DSKEY_BROWSER_STOP},
|
|
{Key::KEY_BROWSER_SEARCH, Key::DSKEY_BROWSER_SEARCH},
|
|
{Key::KEY_BROWSER_FAVORITES, Key::DSKEY_BROWSER_FAVORITES},
|
|
{Key::KEY_BROWSER_HOME, Key::DSKEY_BROWSER_HOME},
|
|
{Key::KEY_VOLUME_MUTE, Key::DSKEY_VOLUME_MUTE},
|
|
{Key::KEY_VOLUME_DOWN, Key::DSKEY_VOLUME_DOWN},
|
|
{Key::KEY_VOLUME_UP, Key::DSKEY_VOLUME_UP},
|
|
{Key::KEY_MEDIA_NEXT_TRACK, Key::DSKEY_MEDIA_NEXT_TRACK},
|
|
{Key::KEY_MEDIA_PREV_TRACK, Key::DSKEY_MEDIA_PREV_TRACK},
|
|
{Key::KEY_MEDIA_STOP, Key::DSKEY_MEDIA_STOP},
|
|
{Key::KEY_MEDIA_PLAY_PAUSE, Key::DSKEY_MEDIA_PLAY_PAUSE},
|
|
{Key::KEY_LAUNCH_MAIL, Key::DSKEY_LAUNCH_MAIL},
|
|
{Key::KEY_LAUNCH_MEDIA_SELECT, Key::DSKEY_LAUNCH_MEDIA_SELECT},
|
|
{Key::KEY_LAUNCH_APP1, Key::DSKEY_LAUNCH_APP1},
|
|
{Key::KEY_LAUNCH_APP2, Key::DSKEY_LAUNCH_APP2},
|
|
{Key::KEY_OEM_1, Key::DSKEY_OEM_1},
|
|
{Key::KEY_OEM_PLUS, Key::DSKEY_OEM_PLUS},
|
|
{Key::KEY_OEM_COMMA, Key::DSKEY_OEM_COMMA},
|
|
{Key::KEY_OEM_MINUS, Key::DSKEY_OEM_MINUS},
|
|
{Key::KEY_OEM_PERIOD, Key::DSKEY_OEM_PERIOD},
|
|
//{Key::KEY_OEM_2, Key::DSKEY_OEM_2}, // KEY_SLASH
|
|
{Key::KEY_OEM_3, Key::DSKEY_OEM_3},
|
|
{Key::KEY_OEM_4, Key::DSKEY_OEM_4},
|
|
//{Key::KEY_OEM_5, Key::DSKEY_OEM_5}, // KEY_BACKSLASH
|
|
{Key::KEY_OEM_6, Key::DSKEY_OEM_6},
|
|
{Key::KEY_OEM_7, Key::DSKEY_OEM_7},
|
|
{Key::KEY_OEM_8, Key::DSKEY_OEM_8},
|
|
{Key::KEY_OEM_102, Key::DSKEY_OEM_102},
|
|
{Key::KEY_PROCESSKEY, Key::DSKEY_PROCESSKEY},
|
|
{Key::KEY_PACKET, Key::DSKEY_PACKET},
|
|
{Key::KEY_ATTN, Key::DSKEY_ATTN},
|
|
{Key::KEY_CRSEL, Key::DSKEY_CRSEL},
|
|
{Key::KEY_EXSEL, Key::DSKEY_EXSEL},
|
|
{Key::KEY_EREOF, Key::DSKEY_EREOF},
|
|
{Key::KEY_PLAY, Key::DSKEY_PLAY},
|
|
{Key::KEY_ZOOM, Key::DSKEY_ZOOM},
|
|
{Key::KEY_NONAME, Key::DSKEY_NONAME},
|
|
{Key::KEY_PA1, Key::DSKEY_PA1},
|
|
{Key::KEY_OEM_CLEAR, Key::DSKEY_OEM_CLEAR},
|
|
{Key::KEY_SLASH, Key::DSKEY_SLASH},
|
|
{Key::KEY_BACKSLASH, Key::DSKEY_BACKSLASH},
|
|
{Key::JOY, JOY},
|
|
{Key::JOY + 1, Key::JOY + 1},
|
|
{Key::JOY + 2, Key::JOY + 2},
|
|
{Key::JOY + 3, Key::JOY + 3},
|
|
{Key::JOY + 4, Key::JOY + 4},
|
|
{Key::JOY + 5, Key::JOY + 5},
|
|
{Key::JOY + 6, Key::JOY + 6},
|
|
{Key::JOY + 7, Key::JOY + 7},
|
|
{Key::JOY + 8, Key::JOY + 8},
|
|
{Key::JOY + 9, Key::JOY + 9},
|
|
{Key::JOY + 10, Key::JOY + 10},
|
|
{Key::JOY + 11, Key::JOY + 11},
|
|
{Key::JOY + 12, Key::JOY + 12},
|
|
{Key::JOY + 13, Key::JOY + 13},
|
|
{Key::JOY + 14, Key::JOY + 14},
|
|
{Key::JOY + 15, Key::JOY + 15},
|
|
{Key::JOY + 16, Key::JOY + 16},
|
|
{Key::JOY + 17, Key::JOY + 17},
|
|
{Key::JOY + 18, Key::JOY + 18},
|
|
{Key::JOY + 19, Key::JOY + 19},
|
|
{Key::JOY + 20, Key::JOY + 20},
|
|
{Key::JOY + 21, Key::JOY + 21},
|
|
{Key::JOY + 22, Key::JOY + 22},
|
|
{Key::JOY + 23, Key::JOY + 23},
|
|
{Key::JOY + 24, Key::JOY + 24},
|
|
{Key::JOY + 25, Key::JOY + 25},
|
|
{Key::JOY + 26, Key::JOY + 26},
|
|
{Key::JOY + 27, Key::JOY + 27},
|
|
{Key::JOY + 28, Key::JOY + 28},
|
|
{Key::JOY + 29, Key::JOY + 29},
|
|
{Key::JOY + 30, Key::JOY + 30},
|
|
{Key::JOY + 31, Key::JOY + 31},
|
|
|
|
{Key::JOY_HAT_UP, Key::JOY_HAT_UP},
|
|
{Key::JOY_HAT_DOWN, Key::JOY_HAT_DOWN},
|
|
{Key::JOY_HAT_LEFT, Key::JOY_HAT_LEFT},
|
|
{Key::JOY_HAT_RIGHT, Key::JOY_HAT_RIGHT},
|
|
|
|
{Key::JOY_AXIS_Y_MINUS, Key::JOY_AXIS_Y_MINUS},
|
|
{Key::JOY_AXIS_Y_PLUS, Key::JOY_AXIS_Y_PLUS},
|
|
{Key::JOY_AXIS_X_MINUS, Key::JOY_AXIS_X_MINUS},
|
|
{Key::JOY_AXIS_X_PLUS, Key::JOY_AXIS_X_PLUS},
|
|
|
|
{Key::JOY_AXIS_RX_MINUS, Key::JOY_AXIS_RX_MINUS},
|
|
{Key::JOY_AXIS_RX_PLUS, Key::JOY_AXIS_RX_PLUS},
|
|
{Key::JOY_AXIS_Z_MINUS, Key::JOY_AXIS_Z_MINUS},
|
|
{Key::JOY_AXIS_Z_PLUS, Key::JOY_AXIS_Z_PLUS},
|
|
|
|
{Key::JOY_AXIS_RZ_MINUS, Key::JOY_AXIS_RZ_MINUS},
|
|
{Key::JOY_AXIS_RZ_PLUS, Key::JOY_AXIS_RZ_PLUS},
|
|
{Key::JOY_AXIS_RY_MINUS, Key::JOY_AXIS_RY_MINUS},
|
|
{Key::JOY_AXIS_RY_PLUS, Key::JOY_AXIS_RY_PLUS},
|
|
|
|
{Key::JOY_AXIS_SL1_MINUS, Key::JOY_AXIS_SL1_MINUS},
|
|
{Key::JOY_AXIS_SL1_PLUS, Key::JOY_AXIS_SL1_PLUS},
|
|
{Key::JOY_AXIS_SL0_MINUS, Key::JOY_AXIS_SL0_MINUS},
|
|
{Key::JOY_AXIS_SL0_PLUS, Key::JOY_AXIS_SL0_PLUS},
|
|
|
|
{Key::JOY_AXIS_WHL_MINUS, Key::JOY_AXIS_WHL_MINUS},
|
|
{Key::JOY_AXIS_WHL_PLUS, Key::JOY_AXIS_WHL_PLUS},
|
|
{0xffffffff, 0xffffffff},
|
|
};
|
|
|
|
uint32_t ConvertDSToPCValue(uint32_t ds_value)
|
|
{
|
|
for(DSKeyEntry* entry = g_ds_table; entry->pc_value != Key::ENTRY_MAX; entry++)
|
|
{
|
|
if(entry->ds_value == ds_value)
|
|
return entry->pc_value;
|
|
}
|
|
|
|
return Key::KEY_NONE;
|
|
}
|
|
|
|
uint32_t ConvertPCToDSValue(uint32_t pc_value)
|
|
{
|
|
for(DSKeyEntry* entry = g_ds_table; entry->pc_value != Key::ENTRY_MAX; entry++)
|
|
{
|
|
if(entry->pc_value == pc_value)
|
|
return entry->ds_value;
|
|
}
|
|
|
|
return Key::KEY_NONE;
|
|
}
|
|
|
|
|
|
KeyEntry g_table[] = {
|
|
{Key::KEY_NONE, "KEY_NONE"},
|
|
{Key::KEY_VOID, "KEY_VOID"},
|
|
|
|
{Key::KEY_LBUTTON, "KEY_LBUTTON"},
|
|
{Key::KEY_RBUTTON, "KEY_RBUTTON"},
|
|
{Key::KEY_CANCEL, "KEY_CANCEL"},
|
|
{Key::KEY_MBUTTON, "KEY_MBUTTON"},
|
|
{Key::KEY_XBUTTON1, "KEY_XBUTTON1"},
|
|
{Key::KEY_XBUTTON2, "KEY_XBUTTON2"},
|
|
{Key::KEY_BACK, "KEY_BACK"},
|
|
{Key::KEY_TAB, "KEY_TAB"},
|
|
{Key::KEY_CLEAR, "KEY_CLEAR"},
|
|
{Key::KEY_RETURN, "KEY_RETURN"},
|
|
{Key::KEY_SHIFT, "KEY_SHIFT"},
|
|
{Key::KEY_CONTROL, "KEY_CONTROL"},
|
|
{Key::KEY_MENU, "KEY_MENU"},
|
|
{Key::KEY_PAUSE, "KEY_PAUSE"},
|
|
{Key::KEY_CAPITAL, "KEY_CAPITAL"},
|
|
{Key::KEY_KANA, "KEY_KANA"},
|
|
{Key::KEY_HANGEUL, "KEY_HANGEUL"},
|
|
{Key::KEY_HANGUL, "KEY_HANGUL"},
|
|
{Key::KEY_JUNJA, "KEY_JUNJA"},
|
|
{Key::KEY_FINAL, "KEY_FINAL"},
|
|
{Key::KEY_HANJA, "KEY_HANJA"},
|
|
{Key::KEY_KANJI, "KEY_KANJI"},
|
|
{Key::KEY_ESCAPE, "KEY_ESCAPE"},
|
|
{Key::KEY_CONVERT, "KEY_CONVERT"},
|
|
{Key::KEY_NONCONVERT, "KEY_NONCONVERT"},
|
|
{Key::KEY_ACCEPT, "KEY_ACCEPT"},
|
|
{Key::KEY_MODECHANGE, "KEY_MODECHANGE"},
|
|
{Key::KEY_SPACE, "KEY_SPACE"},
|
|
{Key::KEY_PRIOR, "KEY_PRIOR"},
|
|
{Key::KEY_NEXT, "KEY_NEXT"},
|
|
{Key::KEY_END, "KEY_END"},
|
|
{Key::KEY_HOME, "KEY_HOME"},
|
|
{Key::KEY_LEFT, "KEY_LEFT"},
|
|
{Key::KEY_UP, "KEY_UP"},
|
|
{Key::KEY_RIGHT, "KEY_RIGHT"},
|
|
{Key::KEY_DOWN, "KEY_DOWN"},
|
|
{Key::KEY_SELECT, "KEY_SELECT"},
|
|
{Key::KEY_PRINT, "KEY_PRINT"},
|
|
{Key::KEY_EXEC, "KEY_EXEC"},
|
|
{Key::KEY_SNAPSHOT, "KEY_SNAPSHOT"},
|
|
{Key::KEY_INSERT, "KEY_INSERT"},
|
|
{Key::KEY_DELETE, "KEY_DELETE"},
|
|
{Key::KEY_HELP, "KEY_HELP"},
|
|
{Key::KEY_0, "KEY_0"},
|
|
{Key::KEY_1, "KEY_1"},
|
|
{Key::KEY_2, "KEY_2"},
|
|
{Key::KEY_3, "KEY_3"},
|
|
{Key::KEY_4, "KEY_4"},
|
|
{Key::KEY_5, "KEY_5"},
|
|
{Key::KEY_6, "KEY_6"},
|
|
{Key::KEY_7, "KEY_7"},
|
|
{Key::KEY_8, "KEY_8"},
|
|
{Key::KEY_9, "KEY_9"},
|
|
{Key::KEY_A, "KEY_A"},
|
|
{Key::KEY_B, "KEY_B"},
|
|
{Key::KEY_C, "KEY_C"},
|
|
{Key::KEY_D, "KEY_D"},
|
|
{Key::KEY_E, "KEY_E"},
|
|
{Key::KEY_F, "KEY_F"},
|
|
{Key::KEY_G, "KEY_G"},
|
|
{Key::KEY_H, "KEY_H"},
|
|
{Key::KEY_I, "KEY_I"},
|
|
{Key::KEY_J, "KEY_J"},
|
|
{Key::KEY_K, "KEY_K"},
|
|
{Key::KEY_L, "KEY_L"},
|
|
{Key::KEY_M, "KEY_M"},
|
|
{Key::KEY_N, "KEY_N"},
|
|
{Key::KEY_O, "KEY_O"},
|
|
{Key::KEY_P, "KEY_P"},
|
|
{Key::KEY_Q, "KEY_Q"},
|
|
{Key::KEY_R, "KEY_R"},
|
|
{Key::KEY_S, "KEY_S"},
|
|
{Key::KEY_T, "KEY_T"},
|
|
{Key::KEY_U, "KEY_U"},
|
|
{Key::KEY_V, "KEY_V"},
|
|
{Key::KEY_W, "KEY_W"},
|
|
{Key::KEY_X, "KEY_X"},
|
|
{Key::KEY_Y, "KEY_Y"},
|
|
{Key::KEY_Z, "KEY_Z"},
|
|
{Key::KEY_LWIN, "KEY_LWIN"},
|
|
{Key::KEY_RWIN, "KEY_RWIN"},
|
|
{Key::KEY_APPS, "KEY_APPS"},
|
|
{Key::KEY_SLEEP, "KEY_SLEEP"},
|
|
{Key::KEY_NUMPAD0, "KEY_NUMPAD0"},
|
|
{Key::KEY_NUMPAD1, "KEY_NUMPAD1"},
|
|
{Key::KEY_NUMPAD2, "KEY_NUMPAD2"},
|
|
{Key::KEY_NUMPAD3, "KEY_NUMPAD3"},
|
|
{Key::KEY_NUMPAD4, "KEY_NUMPAD4"},
|
|
{Key::KEY_NUMPAD5, "KEY_NUMPAD5"},
|
|
{Key::KEY_NUMPAD6, "KEY_NUMPAD6"},
|
|
{Key::KEY_NUMPAD7, "KEY_NUMPAD7"},
|
|
{Key::KEY_NUMPAD8, "KEY_NUMPAD8"},
|
|
{Key::KEY_NUMPAD9, "KEY_NUMPAD9"},
|
|
{Key::KEY_MULTIPLY, "KEY_MULTIPLY"},
|
|
{Key::KEY_ADD, "KEY_ADD"},
|
|
{Key::KEY_SEPARATOR, "KEY_SEPARATOR"},
|
|
{Key::KEY_SUBTRACT, "KEY_SUBTRACT"},
|
|
{Key::KEY_DECIMAL, "KEY_DECIMAL"},
|
|
{Key::KEY_DIVIDE, "KEY_DIVIDE"},
|
|
{Key::KEY_F1, "KEY_F1"},
|
|
{Key::KEY_F2, "KEY_F2"},
|
|
{Key::KEY_F3, "KEY_F3"},
|
|
{Key::KEY_F4, "KEY_F4"},
|
|
{Key::KEY_F5, "KEY_F5"},
|
|
{Key::KEY_F6, "KEY_F6"},
|
|
{Key::KEY_F7, "KEY_F7"},
|
|
{Key::KEY_F8, "KEY_F8"},
|
|
{Key::KEY_F9, "KEY_F9"},
|
|
{Key::KEY_F10, "KEY_F10"},
|
|
{Key::KEY_F11, "KEY_F11"},
|
|
{Key::KEY_F12, "KEY_F12"},
|
|
{Key::KEY_F13, "KEY_F13"},
|
|
{Key::KEY_F14, "KEY_F14"},
|
|
{Key::KEY_F15, "KEY_F15"},
|
|
{Key::KEY_F16, "KEY_F16"},
|
|
{Key::KEY_F17, "KEY_F17"},
|
|
{Key::KEY_F18, "KEY_F18"},
|
|
{Key::KEY_F19, "KEY_F19"},
|
|
{Key::KEY_F20, "KEY_F20"},
|
|
{Key::KEY_F21, "KEY_F21"},
|
|
{Key::KEY_F22, "KEY_F22"},
|
|
{Key::KEY_F23, "KEY_F23"},
|
|
{Key::KEY_F24, "KEY_F24"},
|
|
{Key::KEY_NUMLOCK, "KEY_NUMLOCK"},
|
|
{Key::KEY_SCROLL, "KEY_SCROLL"},
|
|
{Key::KEY_LSHIFT, "KEY_LSHIFT"},
|
|
{Key::KEY_RSHIFT, "KEY_RSHIFT"},
|
|
{Key::KEY_LCONTROL, "KEY_LCONTROL"},
|
|
{Key::KEY_RCONTROL, "KEY_RCONTROL"},
|
|
{Key::KEY_LMENU, "KEY_LMENU"},
|
|
{Key::KEY_RMENU, "KEY_RMENU"},
|
|
{Key::KEY_BROWSER_BACK, "KEY_BROWSER_BACK"},
|
|
{Key::KEY_BROWSER_FORWARD, "KEY_BROWSER_FORWARD"},
|
|
{Key::KEY_BROWSER_REFRESH, "KEY_BROWSER_REFRESH"},
|
|
{Key::KEY_BROWSER_STOP, "KEY_BROWSER_STOP"},
|
|
{Key::KEY_BROWSER_SEARCH, "KEY_BROWSER_SEARCH"},
|
|
{Key::KEY_BROWSER_FAVORITES, "KEY_BROWSER_FAVORITES"},
|
|
{Key::KEY_BROWSER_HOME, "KEY_BROWSER_HOME"},
|
|
{Key::KEY_VOLUME_MUTE, "KEY_VOLUME_MUTE"},
|
|
{Key::KEY_VOLUME_DOWN, "KEY_VOLUME_DOWN"},
|
|
{Key::KEY_VOLUME_UP, "KEY_VOLUME_UP"},
|
|
{Key::KEY_MEDIA_NEXT_TRACK, "KEY_MEDIA_NEXT_TRACK"},
|
|
{Key::KEY_MEDIA_PREV_TRACK, "KEY_MEDIA_PREV_TRACK"},
|
|
{Key::KEY_MEDIA_STOP, "KEY_MEDIA_STOP"},
|
|
{Key::KEY_MEDIA_PLAY_PAUSE, "KEY_MEDIA_PLAY_PAUSE"},
|
|
{Key::KEY_LAUNCH_MAIL, "KEY_LAUNCH_MAIL"},
|
|
{Key::KEY_LAUNCH_MEDIA_SELECT, "KEY_LAUNCH_MEDIA_SELECT"},
|
|
{Key::KEY_LAUNCH_APP1, "KEY_LAUNCH_APP1"},
|
|
{Key::KEY_LAUNCH_APP2, "KEY_LAUNCH_APP2"},
|
|
{Key::KEY_OEM_1, "KEY_OEM_1"},
|
|
{Key::KEY_OEM_PLUS, "KEY_OEM_PLUS"},
|
|
{Key::KEY_OEM_COMMA, "KEY_OEM_COMMA"},
|
|
{Key::KEY_OEM_MINUS, "KEY_OEM_MINUS"},
|
|
{Key::KEY_OEM_PERIOD, "KEY_OEM_PERIOD"},
|
|
//{Key::KEY_OEM_2, "KEY_OEM_2"}, // KEY_SLASH
|
|
{Key::KEY_OEM_3, "KEY_OEM_3"},
|
|
{Key::KEY_OEM_4, "KEY_OEM_4"},
|
|
//{Key::KEY_OEM_5, "KEY_OEM_5"}, // KEY_BACKSLASH
|
|
{Key::KEY_OEM_6, "KEY_OEM_6"},
|
|
{Key::KEY_OEM_7, "KEY_OEM_7"},
|
|
{Key::KEY_OEM_8, "KEY_OEM_8"},
|
|
{Key::KEY_OEM_102, "KEY_OEM_102"},
|
|
{Key::KEY_PROCESSKEY, "KEY_PROCESSKEY"},
|
|
{Key::KEY_PACKET, "KEY_PACKET"},
|
|
{Key::KEY_ATTN, "KEY_ATTN"},
|
|
{Key::KEY_CRSEL, "KEY_CRSEL"},
|
|
{Key::KEY_EXSEL, "KEY_EXSEL"},
|
|
{Key::KEY_EREOF, "KEY_EREOF"},
|
|
{Key::KEY_PLAY, "KEY_PLAY"},
|
|
{Key::KEY_ZOOM, "KEY_ZOOM"},
|
|
{Key::KEY_NONAME, "KEY_NONAME"},
|
|
{Key::KEY_PA1, "KEY_PA1"},
|
|
{Key::KEY_OEM_CLEAR, "KEY_OEM_CLEAR"},
|
|
{Key::KEY_SLASH, "KEY_SLASH"},
|
|
{Key::KEY_BACKSLASH, "KEY_BACKSLASH"},
|
|
{Key::JOY, "JOY_00"},
|
|
{Key::JOY + 1, "JOY_01"},
|
|
{Key::JOY + 2, "JOY_02"},
|
|
{Key::JOY + 3, "JOY_03"},
|
|
{Key::JOY + 4, "JOY_04"},
|
|
{Key::JOY + 5, "JOY_05"},
|
|
{Key::JOY + 6, "JOY_06"},
|
|
{Key::JOY + 7, "JOY_07"},
|
|
{Key::JOY + 8, "JOY_08"},
|
|
{Key::JOY + 9, "JOY_09"},
|
|
{Key::JOY + 10, "JOY_10"},
|
|
{Key::JOY + 11, "JOY_11"},
|
|
{Key::JOY + 12, "JOY_12"},
|
|
{Key::JOY + 13, "JOY_13"},
|
|
{Key::JOY + 14, "JOY_14"},
|
|
{Key::JOY + 15, "JOY_15"},
|
|
{Key::JOY + 16, "JOY_16"},
|
|
{Key::JOY + 17, "JOY_17"},
|
|
{Key::JOY + 18, "JOY_18"},
|
|
{Key::JOY + 19, "JOY_19"},
|
|
{Key::JOY + 20, "JOY_20"},
|
|
{Key::JOY + 21, "JOY_21"},
|
|
{Key::JOY + 22, "JOY_22"},
|
|
{Key::JOY + 23, "JOY_23"},
|
|
{Key::JOY + 24, "JOY_24"},
|
|
{Key::JOY + 25, "JOY_25"},
|
|
{Key::JOY + 26, "JOY_26"},
|
|
{Key::JOY + 27, "JOY_27"},
|
|
{Key::JOY + 28, "JOY_28"},
|
|
{Key::JOY + 29, "JOY_29"},
|
|
{Key::JOY + 30, "JOY_30"},
|
|
{Key::JOY + 31, "JOY_31"},
|
|
|
|
{Key::JOY_HAT_UP, "JOY_HAT_UP"},
|
|
{Key::JOY_HAT_DOWN, "JOY_HAT_DOWN"},
|
|
{Key::JOY_HAT_LEFT, "JOY_HAT_LEFT"},
|
|
{Key::JOY_HAT_RIGHT, "JOY_HAT_RIGHT"},
|
|
|
|
{Key::JOY_AXIS_Y_MINUS, "JOY_AXIS_Y_MINUS"},
|
|
{Key::JOY_AXIS_Y_PLUS, "JOY_AXIS_Y_PLUS"},
|
|
{Key::JOY_AXIS_X_MINUS, "JOY_AXIS_X_MINUS"},
|
|
{Key::JOY_AXIS_X_PLUS, "JOY_AXIS_X_PLUS"},
|
|
|
|
{Key::JOY_AXIS_RX_MINUS, "JOY_AXIS_RX_MINUS"},
|
|
{Key::JOY_AXIS_RX_PLUS, "JOY_AXIS_RX_PLUS"},
|
|
{Key::JOY_AXIS_Z_MINUS, "JOY_AXIS_Z_MINUS"},
|
|
{Key::JOY_AXIS_Z_PLUS, "JOY_AXIS_Z_PLUS"},
|
|
|
|
{Key::JOY_AXIS_RZ_MINUS, "JOY_AXIS_RZ_MINUS"},
|
|
{Key::JOY_AXIS_RZ_PLUS, "JOY_AXIS_RZ_PLUS"},
|
|
{Key::JOY_AXIS_RY_MINUS, "JOY_AXIS_RY_MINUS"},
|
|
{Key::JOY_AXIS_RY_PLUS, "JOY_AXIS_RY_PLUS"},
|
|
|
|
{Key::JOY_AXIS_SL1_MINUS, "JOY_AXIS_SL1_MINUS"},
|
|
{Key::JOY_AXIS_SL1_PLUS, "JOY_AXIS_SL1_PLUS"},
|
|
{Key::JOY_AXIS_SL0_MINUS, "JOY_AXIS_SL0_MINUS"},
|
|
{Key::JOY_AXIS_SL0_PLUS, "JOY_AXIS_SL0_PLUS"},
|
|
|
|
{Key::JOY_AXIS_WHL_MINUS, "JOY_AXIS_WHL_MINUS"},
|
|
{Key::JOY_AXIS_WHL_PLUS, "JOY_AXIS_WHL_PLUS"},
|
|
{0xffffffff, "End Of Entries"},
|
|
};
|
|
|
|
uint32_t GetNumber(const char* key)
|
|
{
|
|
for(KeyEntry* entry = g_table; entry->value != Key::ENTRY_MAX; entry++)
|
|
{
|
|
if(!strcmp(entry->text, key))
|
|
return entry->value;
|
|
}
|
|
|
|
return Key::KEY_NONE;
|
|
}
|
|
|
|
const char* GetString(uint32_t key)
|
|
{
|
|
for(KeyEntry* entry = g_table; entry->value != Key::ENTRY_MAX; entry++)
|
|
{
|
|
if(entry->value == key)
|
|
return entry->text;
|
|
}
|
|
|
|
return g_table[Key::KEY_NONE].text;
|
|
}
|
|
|
|
}} // namespace D2K::Input
|