| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #include <emscripten/dom_pk_codes.h> |
|
|
| DOM_PK_CODE_TYPE emscripten_compute_dom_pk_code(const char *keyCodeString) { |
| if (!keyCodeString) return 0; |
|
|
| |
| unsigned int hash = 0; |
| while (*keyCodeString) hash = ((hash ^ 0x7E057D79U) << 3) ^ (unsigned int)*keyCodeString++; |
|
|
| |
| |
| |
| |
| |
| |
| switch (hash) { |
| case 0x98051284U : return DOM_PK_UNKNOWN; |
| case 0x67243A2DU : return DOM_PK_ESCAPE; |
| case 0x67251058U : return DOM_PK_0; |
| case 0x67251059U : return DOM_PK_1; |
| case 0x6725105AU : return DOM_PK_2; |
| case 0x6725105BU : return DOM_PK_3; |
| case 0x6725105CU : return DOM_PK_4; |
| case 0x6725105DU : return DOM_PK_5; |
| case 0x6725105EU : return DOM_PK_6; |
| case 0x6725105FU : return DOM_PK_7; |
| case 0x67251050U : return DOM_PK_8; |
| case 0x67251051U : return DOM_PK_9; |
| case 0x92E14DD3U : return DOM_PK_MINUS; |
| case 0x92E1FBACU : return DOM_PK_EQUAL; |
| case 0x36BF1CB5U : return DOM_PK_BACKSPACE; |
| case 0x7B8E51E2U : return DOM_PK_TAB; |
| case 0x2C595B51U : return DOM_PK_Q; |
| case 0x2C595B57U : return DOM_PK_W; |
| case 0x2C595B45U : return DOM_PK_E; |
| case 0x2C595B52U : return DOM_PK_R; |
| case 0x2C595B54U : return DOM_PK_T; |
| case 0x2C595B59U : return DOM_PK_Y; |
| case 0x2C595B55U : return DOM_PK_U; |
| case 0x2C595B49U : return DOM_PK_I; |
| case 0x2C595B4FU : return DOM_PK_O; |
| case 0x2C595B50U : return DOM_PK_P; |
| case 0x45D8158CU : return DOM_PK_BRACKET_LEFT; |
| case 0xDEEABF7CU : return DOM_PK_BRACKET_RIGHT; |
| case 0x92E1C5D2U : return DOM_PK_ENTER; |
| case 0xE058958CU : return DOM_PK_CONTROL_LEFT; |
| case 0x2C595B41U : return DOM_PK_A; |
| case 0x2C595B53U : return DOM_PK_S; |
| case 0x2C595B44U : return DOM_PK_D; |
| case 0x2C595B46U : return DOM_PK_F; |
| case 0x2C595B47U : return DOM_PK_G; |
| case 0x2C595B48U : return DOM_PK_H; |
| case 0x2C595B4AU : return DOM_PK_J; |
| case 0x2C595B4BU : return DOM_PK_K; |
| case 0x2C595B4CU : return DOM_PK_L; |
| case 0x2707219EU : return DOM_PK_SEMICOLON; |
| case 0x92E0B58DU : return DOM_PK_QUOTE; |
| case 0x36BF358DU : return DOM_PK_BACKQUOTE; |
| case 0x26B1958CU : return DOM_PK_SHIFT_LEFT; |
| case 0x36BF2438U : return DOM_PK_BACKSLASH; |
| case 0x2C595B5AU : return DOM_PK_Z; |
| case 0x2C595B58U : return DOM_PK_X; |
| case 0x2C595B43U : return DOM_PK_C; |
| case 0x2C595B56U : return DOM_PK_V; |
| case 0x2C595B42U : return DOM_PK_B; |
| case 0x2C595B4EU : return DOM_PK_N; |
| case 0x2C595B4DU : return DOM_PK_M; |
| case 0x92E1A1C1U : return DOM_PK_COMMA; |
| case 0x672FFAD4U : return DOM_PK_PERIOD; |
| case 0x92E0A438U : return DOM_PK_SLASH; |
| case 0xC5A6BF7CU : return DOM_PK_SHIFT_RIGHT; |
| case 0x5D64DA91U : return DOM_PK_NUMPAD_MULTIPLY; |
| case 0xC914958CU : return DOM_PK_ALT_LEFT; |
| case 0x92E09CB5U : return DOM_PK_SPACE; |
| case 0xB8FAE73BU : return DOM_PK_CAPS_LOCK; |
| case 0x7174B789U : return DOM_PK_F1; |
| case 0x7174B78AU : return DOM_PK_F2; |
| case 0x7174B78BU : return DOM_PK_F3; |
| case 0x7174B78CU : return DOM_PK_F4; |
| case 0x7174B78DU : return DOM_PK_F5; |
| case 0x7174B78EU : return DOM_PK_F6; |
| case 0x7174B78FU : return DOM_PK_F7; |
| case 0x7174B780U : return DOM_PK_F8; |
| case 0x7174B781U : return DOM_PK_F9; |
| case 0x7B8E57B0U : return DOM_PK_F10; |
| case 0x92E08B35U : return DOM_PK_PAUSE; |
| case 0xCDED173BU : return DOM_PK_SCROLL_LOCK; |
| case 0xC925FCDFU : return DOM_PK_NUMPAD_7; |
| case 0xC925FCD0U : return DOM_PK_NUMPAD_8; |
| case 0xC925FCD1U : return DOM_PK_NUMPAD_9; |
| case 0x5EA3E8A4U : return DOM_PK_NUMPAD_SUBTRACT; |
| case 0xC925FCDCU : return DOM_PK_NUMPAD_4; |
| case 0xC925FCDDU : return DOM_PK_NUMPAD_5; |
| case 0xC925FCDEU : return DOM_PK_NUMPAD_6; |
| case 0x380B9C8CU : return DOM_PK_NUMPAD_ADD; |
| case 0xC925FCD9U : return DOM_PK_NUMPAD_1; |
| case 0xC925FCDAU : return DOM_PK_NUMPAD_2; |
| case 0xC925FCDBU : return DOM_PK_NUMPAD_3; |
| case 0xC925FCD8U : return DOM_PK_NUMPAD_0; |
| case 0x95852DACU : return DOM_PK_NUMPAD_DECIMAL; |
| case 0xCC1E198EU : return DOM_PK_PRINT_SCREEN; |
| case 0x16BF2438U : return DOM_PK_INTL_BACKSLASH; |
| case 0x7B8E57B1U : return DOM_PK_F11; |
| case 0x7B8E57B2U : return DOM_PK_F12; |
| case 0x7393FBACU : return DOM_PK_NUMPAD_EQUAL; |
| case 0x7B8E57B3U : return DOM_PK_F13; |
| case 0x7B8E57B4U : return DOM_PK_F14; |
| case 0x7B8E57B5U : return DOM_PK_F15; |
| case 0x7B8E57B6U : return DOM_PK_F16; |
| case 0x7B8E57B7U : return DOM_PK_F17; |
| case 0x7B8E57B8U : return DOM_PK_F18; |
| case 0x7B8E57B9U : return DOM_PK_F19; |
| case 0x7B8E57A8U : return DOM_PK_F20; |
| case 0x7B8E57A9U : return DOM_PK_F21; |
| case 0x7B8E57AAU : return DOM_PK_F22; |
| case 0x7B8E57ABU : return DOM_PK_F23; |
| case 0xB9F4C50DU : return DOM_PK_KANA_MODE; |
| case 0x92E14D02U : return DOM_PK_LANG_2; |
| case 0x92E14D01U : return DOM_PK_LANG_1; |
| case 0x6723C677U : return DOM_PK_INTL_RO; |
| case 0x7B8E57ACU : return DOM_PK_F24; |
| case 0xC91CC12CU : return DOM_PK_CONVERT; |
| case 0x2ADCC12CU : return DOM_PK_NON_CONVERT; |
| case 0xC935DA8EU : return DOM_PK_INTL_YEN; |
| case 0x7393A1C1U : return DOM_PK_NUMPAD_COMMA; |
| case 0x92E08A8DU : return DOM_PK_PASTE; |
| case 0x01DC7D93U : return DOM_PK_MEDIA_TRACK_PREVIOUS; |
| case 0x7B8E5494U : return DOM_PK_CUT; |
| case 0x2C5949B1U : return DOM_PK_COPY; |
| case 0x2AD2E17CU : return DOM_PK_MEDIA_TRACK_NEXT; |
| case 0x7393C5D2U : return DOM_PK_NUMPAD_ENTER; |
| case 0xF2EEBF7CU : return DOM_PK_CONTROL_RIGHT; |
| case 0x2A45030DU : return DOM_PK_AUDIO_VOLUME_MUTE; |
| case 0xEA45030DU : return DOM_PK_AUDIO_VOLUME_MUTE; |
| case 0x370ECA3AU : return DOM_PK_LAUNCH_APP_2; |
| case 0x2D1C0B35U : return DOM_PK_MEDIA_PLAY_PAUSE; |
| case 0x39237F80U : return DOM_PK_MEDIA_STOP; |
| case 0x92E1C9A4U : return DOM_PK_EJECT; |
| case 0x2A45179EU : return DOM_PK_AUDIO_VOLUME_DOWN; |
| case 0xEA45179EU : return DOM_PK_AUDIO_VOLUME_DOWN; |
| case 0x156CC610U : return DOM_PK_AUDIO_VOLUME_UP; |
| case 0xBA6CC610U : return DOM_PK_AUDIO_VOLUME_UP; |
| case 0x49387F45U : return DOM_PK_BROWSER_HOME; |
| case 0x6CB5328DU : return DOM_PK_NUMPAD_DIVIDE; |
| case 0xB88EBF7CU : return DOM_PK_ALT_RIGHT; |
| case 0x2C595DD8U : return DOM_PK_HELP; |
| case 0xC925873BU : return DOM_PK_NUM_LOCK; |
| case 0x2C595F45U : return DOM_PK_HOME; |
| case 0xC91BB690U : return DOM_PK_ARROW_UP; |
| case 0x672F9210U : return DOM_PK_PAGE_UP; |
| case 0x3799258CU : return DOM_PK_ARROW_LEFT; |
| case 0x4CE33F7CU : return DOM_PK_ARROW_RIGHT; |
| case 0x7B8E55DCU : return DOM_PK_END; |
| case 0x3799379EU : return DOM_PK_ARROW_DOWN; |
| case 0xBA90179EU : return DOM_PK_PAGE_DOWN; |
| case 0x6723CB2CU : return DOM_PK_INSERT; |
| case 0x6725C50DU : return DOM_PK_DELETE; |
| case 0xB929C58CU : return DOM_PK_META_LEFT; |
| case 0x6723658CU : return DOM_PK_OS_LEFT; |
| case 0x39643F7CU : return DOM_PK_META_RIGHT; |
| case 0xC9313F7CU : return DOM_PK_OS_RIGHT; |
| case 0xE00E97CDU : return DOM_PK_CONTEXT_MENU; |
| case 0x92E09712U : return DOM_PK_POWER; |
| case 0x3F665A78U : return DOM_PK_BROWSER_SEARCH; |
| case 0xA2E93BD3U : return DOM_PK_BROWSER_FAVORITES; |
| case 0x0B1D4938U : return DOM_PK_BROWSER_REFRESH; |
| case 0x49384F80U : return DOM_PK_BROWSER_STOP; |
| case 0x0B49023CU : return DOM_PK_BROWSER_FORWARD; |
| case 0x493868BBU : return DOM_PK_BROWSER_BACK; |
| case 0x370ECA39U : return DOM_PK_LAUNCH_APP_1; |
| case 0x370ED6ECU : return DOM_PK_LAUNCH_MAIL; |
| case 0x39AB4892U : return DOM_PK_LAUNCH_MEDIA_PLAYER; |
| case 0x39AA45A4U : return DOM_PK_MEDIA_SELECT; |
| default: return DOM_PK_UNKNOWN; |
| } |
| } |
|
|
| const char *emscripten_dom_pk_code_to_string(DOM_PK_CODE_TYPE code) { |
| switch (code) { |
| case DOM_PK_UNKNOWN: return "DOM_PK_UNKNOWN"; |
| case DOM_PK_ESCAPE: return "DOM_PK_ESCAPE"; |
| case DOM_PK_0: return "DOM_PK_0"; |
| case DOM_PK_1: return "DOM_PK_1"; |
| case DOM_PK_2: return "DOM_PK_2"; |
| case DOM_PK_3: return "DOM_PK_3"; |
| case DOM_PK_4: return "DOM_PK_4"; |
| case DOM_PK_5: return "DOM_PK_5"; |
| case DOM_PK_6: return "DOM_PK_6"; |
| case DOM_PK_7: return "DOM_PK_7"; |
| case DOM_PK_8: return "DOM_PK_8"; |
| case DOM_PK_9: return "DOM_PK_9"; |
| case DOM_PK_MINUS: return "DOM_PK_MINUS"; |
| case DOM_PK_EQUAL: return "DOM_PK_EQUAL"; |
| case DOM_PK_BACKSPACE: return "DOM_PK_BACKSPACE"; |
| case DOM_PK_TAB: return "DOM_PK_TAB"; |
| case DOM_PK_Q: return "DOM_PK_Q"; |
| case DOM_PK_W: return "DOM_PK_W"; |
| case DOM_PK_E: return "DOM_PK_E"; |
| case DOM_PK_R: return "DOM_PK_R"; |
| case DOM_PK_T: return "DOM_PK_T"; |
| case DOM_PK_Y: return "DOM_PK_Y"; |
| case DOM_PK_U: return "DOM_PK_U"; |
| case DOM_PK_I: return "DOM_PK_I"; |
| case DOM_PK_O: return "DOM_PK_O"; |
| case DOM_PK_P: return "DOM_PK_P"; |
| case DOM_PK_BRACKET_LEFT: return "DOM_PK_BRACKET_LEFT"; |
| case DOM_PK_BRACKET_RIGHT: return "DOM_PK_BRACKET_RIGHT"; |
| case DOM_PK_ENTER: return "DOM_PK_ENTER"; |
| case DOM_PK_CONTROL_LEFT: return "DOM_PK_CONTROL_LEFT"; |
| case DOM_PK_A: return "DOM_PK_A"; |
| case DOM_PK_S: return "DOM_PK_S"; |
| case DOM_PK_D: return "DOM_PK_D"; |
| case DOM_PK_F: return "DOM_PK_F"; |
| case DOM_PK_G: return "DOM_PK_G"; |
| case DOM_PK_H: return "DOM_PK_H"; |
| case DOM_PK_J: return "DOM_PK_J"; |
| case DOM_PK_K: return "DOM_PK_K"; |
| case DOM_PK_L: return "DOM_PK_L"; |
| case DOM_PK_SEMICOLON: return "DOM_PK_SEMICOLON"; |
| case DOM_PK_QUOTE: return "DOM_PK_QUOTE"; |
| case DOM_PK_BACKQUOTE: return "DOM_PK_BACKQUOTE"; |
| case DOM_PK_SHIFT_LEFT: return "DOM_PK_SHIFT_LEFT"; |
| case DOM_PK_BACKSLASH: return "DOM_PK_BACKSLASH"; |
| case DOM_PK_Z: return "DOM_PK_Z"; |
| case DOM_PK_X: return "DOM_PK_X"; |
| case DOM_PK_C: return "DOM_PK_C"; |
| case DOM_PK_V: return "DOM_PK_V"; |
| case DOM_PK_B: return "DOM_PK_B"; |
| case DOM_PK_N: return "DOM_PK_N"; |
| case DOM_PK_M: return "DOM_PK_M"; |
| case DOM_PK_COMMA: return "DOM_PK_COMMA"; |
| case DOM_PK_PERIOD: return "DOM_PK_PERIOD"; |
| case DOM_PK_SLASH: return "DOM_PK_SLASH"; |
| case DOM_PK_SHIFT_RIGHT: return "DOM_PK_SHIFT_RIGHT"; |
| case DOM_PK_NUMPAD_MULTIPLY: return "DOM_PK_NUMPAD_MULTIPLY"; |
| case DOM_PK_ALT_LEFT: return "DOM_PK_ALT_LEFT"; |
| case DOM_PK_SPACE: return "DOM_PK_SPACE"; |
| case DOM_PK_CAPS_LOCK: return "DOM_PK_CAPS_LOCK"; |
| case DOM_PK_F1: return "DOM_PK_F1"; |
| case DOM_PK_F2: return "DOM_PK_F2"; |
| case DOM_PK_F3: return "DOM_PK_F3"; |
| case DOM_PK_F4: return "DOM_PK_F4"; |
| case DOM_PK_F5: return "DOM_PK_F5"; |
| case DOM_PK_F6: return "DOM_PK_F6"; |
| case DOM_PK_F7: return "DOM_PK_F7"; |
| case DOM_PK_F8: return "DOM_PK_F8"; |
| case DOM_PK_F9: return "DOM_PK_F9"; |
| case DOM_PK_F10: return "DOM_PK_F10"; |
| case DOM_PK_PAUSE: return "DOM_PK_PAUSE"; |
| case DOM_PK_SCROLL_LOCK: return "DOM_PK_SCROLL_LOCK"; |
| case DOM_PK_NUMPAD_7: return "DOM_PK_NUMPAD_7"; |
| case DOM_PK_NUMPAD_8: return "DOM_PK_NUMPAD_8"; |
| case DOM_PK_NUMPAD_9: return "DOM_PK_NUMPAD_9"; |
| case DOM_PK_NUMPAD_SUBTRACT: return "DOM_PK_NUMPAD_SUBTRACT"; |
| case DOM_PK_NUMPAD_4: return "DOM_PK_NUMPAD_4"; |
| case DOM_PK_NUMPAD_5: return "DOM_PK_NUMPAD_5"; |
| case DOM_PK_NUMPAD_6: return "DOM_PK_NUMPAD_6"; |
| case DOM_PK_NUMPAD_ADD: return "DOM_PK_NUMPAD_ADD"; |
| case DOM_PK_NUMPAD_1: return "DOM_PK_NUMPAD_1"; |
| case DOM_PK_NUMPAD_2: return "DOM_PK_NUMPAD_2"; |
| case DOM_PK_NUMPAD_3: return "DOM_PK_NUMPAD_3"; |
| case DOM_PK_NUMPAD_0: return "DOM_PK_NUMPAD_0"; |
| case DOM_PK_NUMPAD_DECIMAL: return "DOM_PK_NUMPAD_DECIMAL"; |
| case DOM_PK_PRINT_SCREEN: return "DOM_PK_PRINT_SCREEN"; |
| case DOM_PK_INTL_BACKSLASH: return "DOM_PK_INTL_BACKSLASH"; |
| case DOM_PK_F11: return "DOM_PK_F11"; |
| case DOM_PK_F12: return "DOM_PK_F12"; |
| case DOM_PK_NUMPAD_EQUAL: return "DOM_PK_NUMPAD_EQUAL"; |
| case DOM_PK_F13: return "DOM_PK_F13"; |
| case DOM_PK_F14: return "DOM_PK_F14"; |
| case DOM_PK_F15: return "DOM_PK_F15"; |
| case DOM_PK_F16: return "DOM_PK_F16"; |
| case DOM_PK_F17: return "DOM_PK_F17"; |
| case DOM_PK_F18: return "DOM_PK_F18"; |
| case DOM_PK_F19: return "DOM_PK_F19"; |
| case DOM_PK_F20: return "DOM_PK_F20"; |
| case DOM_PK_F21: return "DOM_PK_F21"; |
| case DOM_PK_F22: return "DOM_PK_F22"; |
| case DOM_PK_F23: return "DOM_PK_F23"; |
| case DOM_PK_KANA_MODE: return "DOM_PK_KANA_MODE"; |
| case DOM_PK_LANG_2: return "DOM_PK_LANG_2"; |
| case DOM_PK_LANG_1: return "DOM_PK_LANG_1"; |
| case DOM_PK_INTL_RO: return "DOM_PK_INTL_RO"; |
| case DOM_PK_F24: return "DOM_PK_F24"; |
| case DOM_PK_CONVERT: return "DOM_PK_CONVERT"; |
| case DOM_PK_NON_CONVERT: return "DOM_PK_NON_CONVERT"; |
| case DOM_PK_INTL_YEN: return "DOM_PK_INTL_YEN"; |
| case DOM_PK_NUMPAD_COMMA: return "DOM_PK_NUMPAD_COMMA"; |
| case DOM_PK_PASTE: return "DOM_PK_PASTE"; |
| case DOM_PK_MEDIA_TRACK_PREVIOUS: return "DOM_PK_MEDIA_TRACK_PREVIOUS"; |
| case DOM_PK_CUT: return "DOM_PK_CUT"; |
| case DOM_PK_COPY: return "DOM_PK_COPY"; |
| case DOM_PK_MEDIA_TRACK_NEXT: return "DOM_PK_MEDIA_TRACK_NEXT"; |
| case DOM_PK_NUMPAD_ENTER: return "DOM_PK_NUMPAD_ENTER"; |
| case DOM_PK_CONTROL_RIGHT: return "DOM_PK_CONTROL_RIGHT"; |
| case DOM_PK_AUDIO_VOLUME_MUTE: return "DOM_PK_AUDIO_VOLUME_MUTE"; |
| case DOM_PK_LAUNCH_APP_2: return "DOM_PK_LAUNCH_APP_2"; |
| case DOM_PK_MEDIA_PLAY_PAUSE: return "DOM_PK_MEDIA_PLAY_PAUSE"; |
| case DOM_PK_MEDIA_STOP: return "DOM_PK_MEDIA_STOP"; |
| case DOM_PK_EJECT: return "DOM_PK_EJECT"; |
| case DOM_PK_AUDIO_VOLUME_DOWN: return "DOM_PK_AUDIO_VOLUME_DOWN"; |
| case DOM_PK_AUDIO_VOLUME_UP: return "DOM_PK_AUDIO_VOLUME_UP"; |
| case DOM_PK_BROWSER_HOME: return "DOM_PK_BROWSER_HOME"; |
| case DOM_PK_NUMPAD_DIVIDE: return "DOM_PK_NUMPAD_DIVIDE"; |
| case DOM_PK_ALT_RIGHT: return "DOM_PK_ALT_RIGHT"; |
| case DOM_PK_HELP: return "DOM_PK_HELP"; |
| case DOM_PK_NUM_LOCK: return "DOM_PK_NUM_LOCK"; |
| case DOM_PK_HOME: return "DOM_PK_HOME"; |
| case DOM_PK_ARROW_UP: return "DOM_PK_ARROW_UP"; |
| case DOM_PK_PAGE_UP: return "DOM_PK_PAGE_UP"; |
| case DOM_PK_ARROW_LEFT: return "DOM_PK_ARROW_LEFT"; |
| case DOM_PK_ARROW_RIGHT: return "DOM_PK_ARROW_RIGHT"; |
| case DOM_PK_END: return "DOM_PK_END"; |
| case DOM_PK_ARROW_DOWN: return "DOM_PK_ARROW_DOWN"; |
| case DOM_PK_PAGE_DOWN: return "DOM_PK_PAGE_DOWN"; |
| case DOM_PK_INSERT: return "DOM_PK_INSERT"; |
| case DOM_PK_DELETE: return "DOM_PK_DELETE"; |
| case DOM_PK_META_LEFT: return "DOM_PK_META_LEFT"; |
| case DOM_PK_META_RIGHT: return "DOM_PK_META_RIGHT"; |
| case DOM_PK_CONTEXT_MENU: return "DOM_PK_CONTEXT_MENU"; |
| case DOM_PK_POWER: return "DOM_PK_POWER"; |
| case DOM_PK_BROWSER_SEARCH: return "DOM_PK_BROWSER_SEARCH"; |
| case DOM_PK_BROWSER_FAVORITES: return "DOM_PK_BROWSER_FAVORITES"; |
| case DOM_PK_BROWSER_REFRESH: return "DOM_PK_BROWSER_REFRESH"; |
| case DOM_PK_BROWSER_STOP: return "DOM_PK_BROWSER_STOP"; |
| case DOM_PK_BROWSER_FORWARD: return "DOM_PK_BROWSER_FORWARD"; |
| case DOM_PK_BROWSER_BACK: return "DOM_PK_BROWSER_BACK"; |
| case DOM_PK_LAUNCH_APP_1: return "DOM_PK_LAUNCH_APP_1"; |
| case DOM_PK_LAUNCH_MAIL: return "DOM_PK_LAUNCH_MAIL"; |
| case DOM_PK_LAUNCH_MEDIA_PLAYER: return "DOM_PK_LAUNCH_MEDIA_PLAYER"; |
| default: return "Unknown DOM_PK code"; |
| } |
| } |
|
|