diff --git a/lib/irrlicht/source/Irrlicht/CIrrDeviceAndroid.cpp b/lib/irrlicht/source/Irrlicht/CIrrDeviceAndroid.cpp index 460dde016..30cf0cfa6 100644 --- a/lib/irrlicht/source/Irrlicht/CIrrDeviceAndroid.cpp +++ b/lib/irrlicht/source/Irrlicht/CIrrDeviceAndroid.cpp @@ -529,11 +529,7 @@ s32 CIrrDeviceAndroid::handleInput(android_app* app, AInputEvent* androidEvent) keyMetaState & AMETA_CTRL_RIGHT_ON); event.KeyInput.SystemKeyCode = (u32)keyCode; - - if (keyCode >= 0 && (u32)keyCode < device->KeyMap.size()) - { - event.KeyInput.Key = device->KeyMap[keyCode]; - } + event.KeyInput.Key = device->KeyMap[keyCode]; if (event.KeyInput.Key > 0) { @@ -580,234 +576,232 @@ video::SExposedVideoData& CIrrDeviceAndroid::getExposedVideoData() void CIrrDeviceAndroid::createKeyMap() { - KeyMap.set_used(223); - - KeyMap[0] = IRR_KEY_UNKNOWN; // AKEYCODE_UNKNOWN - KeyMap[1] = IRR_KEY_LBUTTON; // AKEYCODE_SOFT_LEFT - KeyMap[2] = IRR_KEY_RBUTTON; // AKEYCODE_SOFT_RIGHT - KeyMap[3] = IRR_KEY_HOME; // AKEYCODE_HOME - KeyMap[4] = IRR_KEY_ESCAPE; // AKEYCODE_BACK - KeyMap[5] = IRR_KEY_UNKNOWN; // AKEYCODE_CALL - KeyMap[6] = IRR_KEY_UNKNOWN; // AKEYCODE_ENDCALL - KeyMap[7] = IRR_KEY_0; // AKEYCODE_0 - KeyMap[8] = IRR_KEY_1; // AKEYCODE_1 - KeyMap[9] = IRR_KEY_2; // AKEYCODE_2 - KeyMap[10] = IRR_KEY_3; // AKEYCODE_3 - KeyMap[11] = IRR_KEY_4; // AKEYCODE_4 - KeyMap[12] = IRR_KEY_5; // AKEYCODE_5 - KeyMap[13] = IRR_KEY_6; // AKEYCODE_6 - KeyMap[14] = IRR_KEY_7; // AKEYCODE_7 - KeyMap[15] = IRR_KEY_8; // AKEYCODE_8 - KeyMap[16] = IRR_KEY_9; // AKEYCODE_9 - KeyMap[17] = IRR_KEY_UNKNOWN; // AKEYCODE_STAR - KeyMap[18] = IRR_KEY_UNKNOWN; // AKEYCODE_POUND - KeyMap[19] = IRR_KEY_UP; // AKEYCODE_DPAD_UP - KeyMap[20] = IRR_KEY_DOWN; // AKEYCODE_DPAD_DOWN - KeyMap[21] = IRR_KEY_LEFT; // AKEYCODE_DPAD_LEFT - KeyMap[22] = IRR_KEY_RIGHT; // AKEYCODE_DPAD_RIGHT - KeyMap[23] = IRR_KEY_SELECT; // AKEYCODE_DPAD_CENTER - KeyMap[24] = IRR_KEY_VOLUME_DOWN; // AKEYCODE_VOLUME_UP - KeyMap[25] = IRR_KEY_VOLUME_UP; // AKEYCODE_VOLUME_DOWN - KeyMap[26] = IRR_KEY_UNKNOWN; // AKEYCODE_POWER - KeyMap[27] = IRR_KEY_UNKNOWN; // AKEYCODE_CAMERA - KeyMap[28] = IRR_KEY_CLEAR; // AKEYCODE_CLEAR - KeyMap[29] = IRR_KEY_A; // AKEYCODE_A - KeyMap[30] = IRR_KEY_B; // AKEYCODE_B - KeyMap[31] = IRR_KEY_C; // AKEYCODE_C - KeyMap[32] = IRR_KEY_D; // AKEYCODE_D - KeyMap[33] = IRR_KEY_E; // AKEYCODE_E - KeyMap[34] = IRR_KEY_F; // AKEYCODE_F - KeyMap[35] = IRR_KEY_G; // AKEYCODE_G - KeyMap[36] = IRR_KEY_H; // AKEYCODE_H - KeyMap[37] = IRR_KEY_I; // AKEYCODE_I - KeyMap[38] = IRR_KEY_J; // AKEYCODE_J - KeyMap[39] = IRR_KEY_K; // AKEYCODE_K - KeyMap[40] = IRR_KEY_L; // AKEYCODE_L - KeyMap[41] = IRR_KEY_M; // AKEYCODE_M - KeyMap[42] = IRR_KEY_N; // AKEYCODE_N - KeyMap[43] = IRR_KEY_O; // AKEYCODE_O - KeyMap[44] = IRR_KEY_P; // AKEYCODE_P - KeyMap[45] = IRR_KEY_Q; // AKEYCODE_Q - KeyMap[46] = IRR_KEY_R; // AKEYCODE_R - KeyMap[47] = IRR_KEY_S; // AKEYCODE_S - KeyMap[48] = IRR_KEY_T; // AKEYCODE_T - KeyMap[49] = IRR_KEY_U; // AKEYCODE_U - KeyMap[50] = IRR_KEY_V; // AKEYCODE_V - KeyMap[51] = IRR_KEY_W; // AKEYCODE_W - KeyMap[52] = IRR_KEY_X; // AKEYCODE_X - KeyMap[53] = IRR_KEY_Y; // AKEYCODE_Y - KeyMap[54] = IRR_KEY_Z; // AKEYCODE_Z - KeyMap[55] = IRR_KEY_COMMA; // AKEYCODE_COMMA - KeyMap[56] = IRR_KEY_PERIOD; // AKEYCODE_PERIOD - KeyMap[57] = IRR_KEY_MENU; // AKEYCODE_ALT_LEFT - KeyMap[58] = IRR_KEY_MENU; // AKEYCODE_ALT_RIGHT - KeyMap[59] = IRR_KEY_LSHIFT; // AKEYCODE_SHIFT_LEFT - KeyMap[60] = IRR_KEY_RSHIFT; // AKEYCODE_SHIFT_RIGHT - KeyMap[61] = IRR_KEY_TAB; // AKEYCODE_TAB - KeyMap[62] = IRR_KEY_SPACE; // AKEYCODE_SPACE - KeyMap[63] = IRR_KEY_UNKNOWN; // AKEYCODE_SYM - KeyMap[64] = IRR_KEY_UNKNOWN; // AKEYCODE_EXPLORER - KeyMap[65] = IRR_KEY_UNKNOWN; // AKEYCODE_ENVELOPE - KeyMap[66] = IRR_KEY_RETURN; // AKEYCODE_ENTER - KeyMap[67] = IRR_KEY_BACK; // AKEYCODE_DEL - KeyMap[68] = IRR_KEY_OEM_3; // AKEYCODE_GRAVE - KeyMap[69] = IRR_KEY_MINUS; // AKEYCODE_MINUS - KeyMap[70] = IRR_KEY_UNKNOWN; // AKEYCODE_EQUALS - KeyMap[71] = IRR_KEY_UNKNOWN; // AKEYCODE_LEFT_BRACKET - KeyMap[72] = IRR_KEY_UNKNOWN; // AKEYCODE_RIGHT_BRACKET - KeyMap[73] = IRR_KEY_UNKNOWN; // AKEYCODE_BACKSLASH - KeyMap[74] = IRR_KEY_UNKNOWN; // AKEYCODE_SEMICOLON - KeyMap[75] = IRR_KEY_UNKNOWN; // AKEYCODE_APOSTROPHE - KeyMap[76] = IRR_KEY_UNKNOWN; // AKEYCODE_SLASH - KeyMap[77] = IRR_KEY_UNKNOWN; // AKEYCODE_AT - KeyMap[78] = IRR_KEY_UNKNOWN; // AKEYCODE_NUM - KeyMap[79] = IRR_KEY_UNKNOWN; // AKEYCODE_HEADSETHOOK - KeyMap[80] = IRR_KEY_UNKNOWN; // AKEYCODE_FOCUS (*Camera* focus) - KeyMap[81] = IRR_KEY_PLUS; // AKEYCODE_PLUS - KeyMap[82] = IRR_KEY_MENU; // AKEYCODE_MENU - KeyMap[83] = IRR_KEY_UNKNOWN; // AKEYCODE_NOTIFICATION - KeyMap[84] = IRR_KEY_UNKNOWN; // AKEYCODE_SEARCH - KeyMap[85] = IRR_KEY_MEDIA_PLAY_PAUSE; // AKEYCODE_MEDIA_PLAY_PAUSE - KeyMap[86] = IRR_KEY_MEDIA_STOP; // AKEYCODE_MEDIA_STOP - KeyMap[87] = IRR_KEY_MEDIA_NEXT_TRACK; // AKEYCODE_MEDIA_NEXT - KeyMap[88] = IRR_KEY_MEDIA_PREV_TRACK; // AKEYCODE_MEDIA_PREVIOUS - KeyMap[89] = IRR_KEY_UNKNOWN; // AKEYCODE_MEDIA_REWIND - KeyMap[90] = IRR_KEY_UNKNOWN; // AKEYCODE_MEDIA_FAST_FORWARD - KeyMap[91] = IRR_KEY_VOLUME_MUTE; // AKEYCODE_MUTE - KeyMap[92] = IRR_KEY_PRIOR; // AKEYCODE_PAGE_UP - KeyMap[93] = IRR_KEY_NEXT; // AKEYCODE_PAGE_DOWN - KeyMap[94] = IRR_KEY_UNKNOWN; // AKEYCODE_PICTSYMBOLS - KeyMap[95] = IRR_KEY_UNKNOWN; // AKEYCODE_SWITCH_CHARSET + KeyMap[AKEYCODE_UNKNOWN] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_SOFT_LEFT] = IRR_KEY_LBUTTON; + KeyMap[AKEYCODE_SOFT_RIGHT] = IRR_KEY_RBUTTON; + KeyMap[AKEYCODE_HOME] = IRR_KEY_HOME; + KeyMap[AKEYCODE_BACK] = IRR_KEY_ESCAPE; + KeyMap[AKEYCODE_CALL] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_ENDCALL] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_0] = IRR_KEY_0; + KeyMap[AKEYCODE_1] = IRR_KEY_1; + KeyMap[AKEYCODE_2] = IRR_KEY_2; + KeyMap[AKEYCODE_3] = IRR_KEY_3; + KeyMap[AKEYCODE_4] = IRR_KEY_4; + KeyMap[AKEYCODE_5] = IRR_KEY_5; + KeyMap[AKEYCODE_6] = IRR_KEY_6; + KeyMap[AKEYCODE_7] = IRR_KEY_7; + KeyMap[AKEYCODE_8] = IRR_KEY_8; + KeyMap[AKEYCODE_9] = IRR_KEY_9; + KeyMap[AKEYCODE_STAR] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_POUND] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_DPAD_UP] = IRR_KEY_UP; + KeyMap[AKEYCODE_DPAD_DOWN] = IRR_KEY_DOWN; + KeyMap[AKEYCODE_DPAD_LEFT] = IRR_KEY_LEFT; + KeyMap[AKEYCODE_DPAD_RIGHT] = IRR_KEY_RIGHT; + KeyMap[AKEYCODE_DPAD_CENTER] = IRR_KEY_SELECT; + KeyMap[AKEYCODE_VOLUME_UP] = IRR_KEY_VOLUME_DOWN; + KeyMap[AKEYCODE_VOLUME_DOWN] = IRR_KEY_VOLUME_UP; + KeyMap[AKEYCODE_POWER] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_CAMERA] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_CLEAR] = IRR_KEY_CLEAR; + KeyMap[AKEYCODE_A] = IRR_KEY_A; + KeyMap[AKEYCODE_B] = IRR_KEY_B; + KeyMap[AKEYCODE_C] = IRR_KEY_C; + KeyMap[AKEYCODE_D] = IRR_KEY_D; + KeyMap[AKEYCODE_E] = IRR_KEY_E; + KeyMap[AKEYCODE_F] = IRR_KEY_F; + KeyMap[AKEYCODE_G] = IRR_KEY_G; + KeyMap[AKEYCODE_H] = IRR_KEY_H; + KeyMap[AKEYCODE_I] = IRR_KEY_I; + KeyMap[AKEYCODE_J] = IRR_KEY_J; + KeyMap[AKEYCODE_K] = IRR_KEY_K; + KeyMap[AKEYCODE_L] = IRR_KEY_L; + KeyMap[AKEYCODE_M] = IRR_KEY_M; + KeyMap[AKEYCODE_N] = IRR_KEY_N; + KeyMap[AKEYCODE_O] = IRR_KEY_O; + KeyMap[AKEYCODE_P] = IRR_KEY_P; + KeyMap[AKEYCODE_Q] = IRR_KEY_Q; + KeyMap[AKEYCODE_R] = IRR_KEY_R; + KeyMap[AKEYCODE_S] = IRR_KEY_S; + KeyMap[AKEYCODE_T] = IRR_KEY_T; + KeyMap[AKEYCODE_U] = IRR_KEY_U; + KeyMap[AKEYCODE_V] = IRR_KEY_V; + KeyMap[AKEYCODE_W] = IRR_KEY_W; + KeyMap[AKEYCODE_X] = IRR_KEY_X; + KeyMap[AKEYCODE_Y] = IRR_KEY_Y; + KeyMap[AKEYCODE_Z] = IRR_KEY_Z; + KeyMap[AKEYCODE_COMMA] = IRR_KEY_COMMA; + KeyMap[AKEYCODE_PERIOD] = IRR_KEY_PERIOD; + KeyMap[AKEYCODE_ALT_LEFT] = IRR_KEY_MENU; + KeyMap[AKEYCODE_ALT_RIGHT] = IRR_KEY_MENU; + KeyMap[AKEYCODE_SHIFT_LEFT] = IRR_KEY_LSHIFT; + KeyMap[AKEYCODE_SHIFT_RIGHT] = IRR_KEY_RSHIFT; + KeyMap[AKEYCODE_TAB] = IRR_KEY_TAB; + KeyMap[AKEYCODE_SPACE] = IRR_KEY_SPACE; + KeyMap[AKEYCODE_SYM] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_EXPLORER] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_ENVELOPE] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_ENTER] = IRR_KEY_RETURN; + KeyMap[AKEYCODE_DEL] = IRR_KEY_BACK; + KeyMap[AKEYCODE_GRAVE] = IRR_KEY_OEM_3; + KeyMap[AKEYCODE_MINUS] = IRR_KEY_MINUS; + KeyMap[AKEYCODE_EQUALS] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_LEFT_BRACKET] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_RIGHT_BRACKET] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BACKSLASH] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_SEMICOLON] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_APOSTROPHE] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_SLASH] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_AT] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_NUM] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_HEADSETHOOK] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_FOCUS] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_PLUS] = IRR_KEY_PLUS; + KeyMap[AKEYCODE_MENU] = IRR_KEY_MENU; + KeyMap[AKEYCODE_NOTIFICATION] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_SEARCH] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_MEDIA_PLAY_PAUSE] = IRR_KEY_MEDIA_PLAY_PAUSE; + KeyMap[AKEYCODE_MEDIA_STOP] = IRR_KEY_MEDIA_STOP; + KeyMap[AKEYCODE_MEDIA_NEXT] = IRR_KEY_MEDIA_NEXT_TRACK; + KeyMap[AKEYCODE_MEDIA_PREVIOUS] = IRR_KEY_MEDIA_PREV_TRACK; + KeyMap[AKEYCODE_MEDIA_REWIND] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_MEDIA_FAST_FORWARD] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_MUTE] = IRR_KEY_VOLUME_MUTE; + KeyMap[AKEYCODE_PAGE_UP] = IRR_KEY_PRIOR; + KeyMap[AKEYCODE_PAGE_DOWN] = IRR_KEY_NEXT; + KeyMap[AKEYCODE_PICTSYMBOLS] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_SWITCH_CHARSET] = IRR_KEY_UNKNOWN; // following look like controller inputs - KeyMap[96] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_A - KeyMap[97] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_B - KeyMap[98] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_C - KeyMap[99] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_X - KeyMap[100] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_Y - KeyMap[101] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_Z - KeyMap[102] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_L1 - KeyMap[103] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_R1 - KeyMap[104] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_L2 - KeyMap[105] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_R2 - KeyMap[106] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_THUMBL - KeyMap[107] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_THUMBR - KeyMap[108] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_START - KeyMap[109] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_SELECT - KeyMap[110] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_MODE + KeyMap[AKEYCODE_BUTTON_A] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_B] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_C] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_X] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_Y] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_Z] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_L1] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_R1] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_L2] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_R2] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_THUMBL] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_THUMBR] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_START] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_SELECT] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_MODE] = IRR_KEY_UNKNOWN; - KeyMap[111] = IRR_KEY_ESCAPE; // AKEYCODE_ESCAPE - KeyMap[112] = IRR_KEY_DELETE; // AKEYCODE_FORWARD_DEL - KeyMap[113] = IRR_KEY_CONTROL; // AKEYCODE_CTRL_LEFT - KeyMap[114] = IRR_KEY_CONTROL; // AKEYCODE_CTRL_RIGHT - KeyMap[115] = IRR_KEY_CAPITAL; // AKEYCODE_CAPS_LOCK - KeyMap[116] = IRR_KEY_SCROLL; // AKEYCODE_SCROLL_LOCK - KeyMap[117] = IRR_KEY_UNKNOWN; // AKEYCODE_META_LEFT - KeyMap[118] = IRR_KEY_UNKNOWN; // AKEYCODE_META_RIGHT - KeyMap[119] = IRR_KEY_UNKNOWN; // AKEYCODE_FUNCTION - KeyMap[120] = IRR_KEY_SNAPSHOT; // AKEYCODE_SYSRQ - KeyMap[121] = IRR_KEY_PAUSE; // AKEYCODE_BREAK - KeyMap[122] = IRR_KEY_HOME; // AKEYCODE_MOVE_HOME - KeyMap[123] = IRR_KEY_END; // AKEYCODE_MOVE_END - KeyMap[124] = IRR_KEY_INSERT; // AKEYCODE_INSERT - KeyMap[125] = IRR_KEY_UNKNOWN; // AKEYCODE_FORWARD - KeyMap[126] = IRR_KEY_PLAY; // AKEYCODE_MEDIA_PLAY - KeyMap[127] = IRR_KEY_MEDIA_PLAY_PAUSE; // AKEYCODE_MEDIA_PAUSE - KeyMap[128] = IRR_KEY_UNKNOWN; // AKEYCODE_MEDIA_CLOSE - KeyMap[129] = IRR_KEY_UNKNOWN; // AKEYCODE_MEDIA_EJECT - KeyMap[130] = IRR_KEY_UNKNOWN; // AKEYCODE_MEDIA_RECORD - KeyMap[131] = IRR_KEY_F1; // AKEYCODE_F1 - KeyMap[132] = IRR_KEY_F2; // AKEYCODE_F2 - KeyMap[133] = IRR_KEY_F3; // AKEYCODE_F3 - KeyMap[134] = IRR_KEY_F4; // AKEYCODE_F4 - KeyMap[135] = IRR_KEY_F5; // AKEYCODE_F5 - KeyMap[136] = IRR_KEY_F6; // AKEYCODE_F6 - KeyMap[137] = IRR_KEY_F7; // AKEYCODE_F7 - KeyMap[138] = IRR_KEY_F8; // AKEYCODE_F8 - KeyMap[139] = IRR_KEY_F9; // AKEYCODE_F9 - KeyMap[140] = IRR_KEY_F10; // AKEYCODE_F10 - KeyMap[141] = IRR_KEY_F11; // AKEYCODE_F11 - KeyMap[142] = IRR_KEY_F12; // AKEYCODE_F12 - KeyMap[143] = IRR_KEY_NUMLOCK; // AKEYCODE_NUM_LOCK - KeyMap[144] = IRR_KEY_NUMPAD0; // AKEYCODE_NUMPAD_0 - KeyMap[145] = IRR_KEY_NUMPAD1; // AKEYCODE_NUMPAD_1 - KeyMap[146] = IRR_KEY_NUMPAD2; // AKEYCODE_NUMPAD_2 - KeyMap[147] = IRR_KEY_NUMPAD3; // AKEYCODE_NUMPAD_3 - KeyMap[148] = IRR_KEY_NUMPAD4; // AKEYCODE_NUMPAD_4 - KeyMap[149] = IRR_KEY_NUMPAD5; // AKEYCODE_NUMPAD_5 - KeyMap[150] = IRR_KEY_NUMPAD6; // AKEYCODE_NUMPAD_6 - KeyMap[151] = IRR_KEY_NUMPAD7; // AKEYCODE_NUMPAD_7 - KeyMap[152] = IRR_KEY_NUMPAD8; // AKEYCODE_NUMPAD_8 - KeyMap[153] = IRR_KEY_NUMPAD9; // AKEYCODE_NUMPAD_9 - KeyMap[154] = IRR_KEY_DIVIDE; // AKEYCODE_NUMPAD_DIVIDE - KeyMap[155] = IRR_KEY_MULTIPLY; // AKEYCODE_NUMPAD_MULTIPLY - KeyMap[156] = IRR_KEY_SUBTRACT; // AKEYCODE_NUMPAD_SUBTRACT - KeyMap[157] = IRR_KEY_ADD; // AKEYCODE_NUMPAD_ADD - KeyMap[158] = IRR_KEY_UNKNOWN; // AKEYCODE_NUMPAD_DOT - KeyMap[159] = IRR_KEY_COMMA; // AKEYCODE_NUMPAD_COMMA - KeyMap[160] = IRR_KEY_RETURN; // AKEYCODE_NUMPAD_ENTER - KeyMap[161] = IRR_KEY_UNKNOWN; // AKEYCODE_NUMPAD_EQUALS - KeyMap[162] = IRR_KEY_UNKNOWN; // AKEYCODE_NUMPAD_LEFT_PAREN - KeyMap[163] = IRR_KEY_UNKNOWN; // AKEYCODE_NUMPAD_RIGHT_PAREN - KeyMap[164] = IRR_KEY_VOLUME_MUTE; // AKEYCODE_VOLUME_MUTE - KeyMap[165] = IRR_KEY_UNKNOWN; // AKEYCODE_INFO - KeyMap[166] = IRR_KEY_UNKNOWN; // AKEYCODE_CHANNEL_UP - KeyMap[167] = IRR_KEY_UNKNOWN; // AKEYCODE_CHANNEL_DOWN - KeyMap[168] = IRR_KEY_ZOOM; // AKEYCODE_ZOOM_IN - KeyMap[169] = IRR_KEY_UNKNOWN; // AKEYCODE_ZOOM_OUT - KeyMap[170] = IRR_KEY_UNKNOWN; // AKEYCODE_TV - KeyMap[171] = IRR_KEY_UNKNOWN; // AKEYCODE_WINDOW - KeyMap[172] = IRR_KEY_UNKNOWN; // AKEYCODE_GUIDE - KeyMap[173] = IRR_KEY_UNKNOWN; // AKEYCODE_DVR - KeyMap[174] = IRR_KEY_UNKNOWN; // AKEYCODE_BOOKMARK - KeyMap[175] = IRR_KEY_UNKNOWN; // AKEYCODE_CAPTIONS - KeyMap[176] = IRR_KEY_UNKNOWN; // AKEYCODE_SETTINGS - KeyMap[177] = IRR_KEY_UNKNOWN; // AKEYCODE_TV_POWER - KeyMap[178] = IRR_KEY_UNKNOWN; // AKEYCODE_TV_INPUT - KeyMap[179] = IRR_KEY_UNKNOWN; // AKEYCODE_STB_POWER - KeyMap[180] = IRR_KEY_UNKNOWN; // AKEYCODE_STB_INPUT - KeyMap[181] = IRR_KEY_UNKNOWN; // AKEYCODE_AVR_POWER - KeyMap[182] = IRR_KEY_UNKNOWN; // AKEYCODE_AVR_INPUT - KeyMap[183] = IRR_KEY_UNKNOWN; // AKEYCODE_PROG_RED - KeyMap[184] = IRR_KEY_UNKNOWN; // AKEYCODE_PROG_GREEN - KeyMap[185] = IRR_KEY_UNKNOWN; // AKEYCODE_PROG_YELLOW - KeyMap[186] = IRR_KEY_UNKNOWN; // AKEYCODE_PROG_BLUE - KeyMap[187] = IRR_KEY_UNKNOWN; // AKEYCODE_APP_SWITCH - KeyMap[188] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_1 - KeyMap[189] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_2 - KeyMap[190] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_3 - KeyMap[191] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_4 - KeyMap[192] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_5 - KeyMap[193] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_6 - KeyMap[194] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_7 - KeyMap[195] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_8 - KeyMap[196] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_9 - KeyMap[197] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_10 - KeyMap[198] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_11 - KeyMap[199] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_12 - KeyMap[200] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_13 - KeyMap[201] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_14 - KeyMap[202] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_15 - KeyMap[203] = IRR_KEY_UNKNOWN; // AKEYCODE_BUTTON_16 - KeyMap[204] = IRR_KEY_UNKNOWN; // AKEYCODE_LANGUAGE_SWITCH - KeyMap[205] = IRR_KEY_UNKNOWN; // AKEYCODE_MANNER_MODE - KeyMap[206] = IRR_KEY_UNKNOWN; // AKEYCODE_3D_MODE - KeyMap[207] = IRR_KEY_UNKNOWN; // AKEYCODE_CONTACTS - KeyMap[208] = IRR_KEY_UNKNOWN; // AKEYCODE_CALENDAR - KeyMap[209] = IRR_KEY_UNKNOWN; // AKEYCODE_MUSIC - KeyMap[210] = IRR_KEY_UNKNOWN; // AKEYCODE_CALCULATOR - KeyMap[211] = IRR_KEY_UNKNOWN; // AKEYCODE_ZENKAKU_HANKAKU - KeyMap[212] = IRR_KEY_UNKNOWN; // AKEYCODE_EISU - KeyMap[213] = IRR_KEY_UNKNOWN; // AKEYCODE_MUHENKAN - KeyMap[214] = IRR_KEY_UNKNOWN; // AKEYCODE_HENKAN - KeyMap[215] = IRR_KEY_UNKNOWN; // AKEYCODE_KATAKANA_HIRAGANA - KeyMap[216] = IRR_KEY_UNKNOWN; // AKEYCODE_YEN - KeyMap[217] = IRR_KEY_UNKNOWN; // AKEYCODE_RO - KeyMap[218] = IRR_KEY_UNKNOWN; // AKEYCODE_KANA - KeyMap[219] = IRR_KEY_UNKNOWN; // AKEYCODE_ASSIST - KeyMap[220] = IRR_KEY_UNKNOWN; // AKEYCODE_BRIGHTNESS_DOWN - KeyMap[221] = IRR_KEY_UNKNOWN; // AKEYCODE_BRIGHTNESS_UP , - KeyMap[222] = IRR_KEY_UNKNOWN; // AKEYCODE_MEDIA_AUDIO_TRACK + KeyMap[AKEYCODE_ESCAPE] = IRR_KEY_ESCAPE; + KeyMap[AKEYCODE_FORWARD_DEL] = IRR_KEY_DELETE; + KeyMap[AKEYCODE_CTRL_LEFT] = IRR_KEY_CONTROL; + KeyMap[AKEYCODE_CTRL_RIGHT] = IRR_KEY_CONTROL; + KeyMap[AKEYCODE_CAPS_LOCK] = IRR_KEY_CAPITAL; + KeyMap[AKEYCODE_SCROLL_LOCK] = IRR_KEY_SCROLL; + KeyMap[AKEYCODE_META_LEFT] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_META_RIGHT] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_FUNCTION] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_SYSRQ] = IRR_KEY_SNAPSHOT; + KeyMap[AKEYCODE_BREAK] = IRR_KEY_PAUSE; + KeyMap[AKEYCODE_MOVE_HOME] = IRR_KEY_HOME; + KeyMap[AKEYCODE_MOVE_END] = IRR_KEY_END; + KeyMap[AKEYCODE_INSERT] = IRR_KEY_INSERT; + KeyMap[AKEYCODE_FORWARD] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_MEDIA_PLAY] = IRR_KEY_PLAY; + KeyMap[AKEYCODE_MEDIA_PAUSE] = IRR_KEY_MEDIA_PLAY_PAUSE; + KeyMap[AKEYCODE_MEDIA_CLOSE] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_MEDIA_EJECT] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_MEDIA_RECORD] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_F1] = IRR_KEY_F1; + KeyMap[AKEYCODE_F2] = IRR_KEY_F2; + KeyMap[AKEYCODE_F3] = IRR_KEY_F3; + KeyMap[AKEYCODE_F4] = IRR_KEY_F4; + KeyMap[AKEYCODE_F5] = IRR_KEY_F5; + KeyMap[AKEYCODE_F6] = IRR_KEY_F6; + KeyMap[AKEYCODE_F7] = IRR_KEY_F7; + KeyMap[AKEYCODE_F8] = IRR_KEY_F8; + KeyMap[AKEYCODE_F9] = IRR_KEY_F9; + KeyMap[AKEYCODE_F10] = IRR_KEY_F10; + KeyMap[AKEYCODE_F11] = IRR_KEY_F11; + KeyMap[AKEYCODE_F12] = IRR_KEY_F12; + KeyMap[AKEYCODE_NUM_LOCK] = IRR_KEY_NUMLOCK; + KeyMap[AKEYCODE_NUMPAD_0] = IRR_KEY_NUMPAD0; + KeyMap[AKEYCODE_NUMPAD_1] = IRR_KEY_NUMPAD1; + KeyMap[AKEYCODE_NUMPAD_2] = IRR_KEY_NUMPAD2; + KeyMap[AKEYCODE_NUMPAD_3] = IRR_KEY_NUMPAD3; + KeyMap[AKEYCODE_NUMPAD_4] = IRR_KEY_NUMPAD4; + KeyMap[AKEYCODE_NUMPAD_5] = IRR_KEY_NUMPAD5; + KeyMap[AKEYCODE_NUMPAD_6] = IRR_KEY_NUMPAD6; + KeyMap[AKEYCODE_NUMPAD_7] = IRR_KEY_NUMPAD7; + KeyMap[AKEYCODE_NUMPAD_8] = IRR_KEY_NUMPAD8; + KeyMap[AKEYCODE_NUMPAD_9] = IRR_KEY_NUMPAD9; + KeyMap[AKEYCODE_NUMPAD_DIVIDE] = IRR_KEY_DIVIDE; + KeyMap[AKEYCODE_NUMPAD_MULTIPLY] = IRR_KEY_MULTIPLY; + KeyMap[AKEYCODE_NUMPAD_SUBTRACT] = IRR_KEY_SUBTRACT; + KeyMap[AKEYCODE_NUMPAD_ADD] = IRR_KEY_ADD; + KeyMap[AKEYCODE_NUMPAD_DOT] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_NUMPAD_COMMA] = IRR_KEY_COMMA; + KeyMap[AKEYCODE_NUMPAD_ENTER] = IRR_KEY_RETURN; + KeyMap[AKEYCODE_NUMPAD_EQUALS] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_NUMPAD_LEFT_PAREN] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_NUMPAD_RIGHT_PAREN] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_VOLUME_MUTE] = IRR_KEY_VOLUME_MUTE; + KeyMap[AKEYCODE_INFO] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_CHANNEL_UP] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_CHANNEL_DOWN] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_ZOOM_IN] = IRR_KEY_ZOOM; + KeyMap[AKEYCODE_ZOOM_OUT] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_TV] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_WINDOW] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_GUIDE] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_DVR] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BOOKMARK] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_CAPTIONS] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_SETTINGS] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_TV_POWER] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_TV_INPUT] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_STB_POWER] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_STB_INPUT] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_AVR_POWER] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_AVR_INPUT] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_PROG_RED] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_PROG_GREEN] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_PROG_YELLOW] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_PROG_BLUE] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_APP_SWITCH] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_1] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_2] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_3] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_4] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_5] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_6] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_7] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_8] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_9] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_10] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_11] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_12] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_13] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_14] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_15] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BUTTON_16] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_LANGUAGE_SWITCH] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_MANNER_MODE] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_3D_MODE] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_CONTACTS] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_CALENDAR] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_MUSIC] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_CALCULATOR] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_ZENKAKU_HANKAKU] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_EISU] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_MUHENKAN] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_HENKAN] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_KATAKANA_HIRAGANA] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_YEN] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_RO] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_KANA] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_ASSIST] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BRIGHTNESS_DOWN] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_BRIGHTNESS_UP] = IRR_KEY_UNKNOWN; + KeyMap[AKEYCODE_MEDIA_AUDIO_TRACK] = IRR_KEY_UNKNOWN; } void CIrrDeviceAndroid::getKeyChar(SEvent& event) diff --git a/lib/irrlicht/source/Irrlicht/CIrrDeviceAndroid.h b/lib/irrlicht/source/Irrlicht/CIrrDeviceAndroid.h index 60cf9a0d9..4438652b4 100644 --- a/lib/irrlicht/source/Irrlicht/CIrrDeviceAndroid.h +++ b/lib/irrlicht/source/Irrlicht/CIrrDeviceAndroid.h @@ -18,6 +18,8 @@ #include "IImagePresenter.h" #include "ICursorControl.h" +#include + namespace irr { @@ -108,7 +110,7 @@ namespace irr video::SExposedVideoData ExposedVideoData; - core::array KeyMap; + std::map KeyMap; void createDriver(); void createKeyMap();