void KbmBuildKeyMapping()

in MiniEngine/Core/GameInput.cpp [102:316]


    void KbmBuildKeyMapping()
    {
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
        s_DXKeyMapping[GameInput::kKey_escape] = 1;
        s_DXKeyMapping[GameInput::kKey_1] = 2;
        s_DXKeyMapping[GameInput::kKey_2] = 3;
        s_DXKeyMapping[GameInput::kKey_3] = 4;
        s_DXKeyMapping[GameInput::kKey_4] = 5;
        s_DXKeyMapping[GameInput::kKey_5] = 6;
        s_DXKeyMapping[GameInput::kKey_6] = 7;
        s_DXKeyMapping[GameInput::kKey_7] = 8;
        s_DXKeyMapping[GameInput::kKey_8] = 9;
        s_DXKeyMapping[GameInput::kKey_9] = 10;
        s_DXKeyMapping[GameInput::kKey_0] = 11;
        s_DXKeyMapping[GameInput::kKey_minus] = 12;
        s_DXKeyMapping[GameInput::kKey_equals] = 13;
        s_DXKeyMapping[GameInput::kKey_back] = 14;
        s_DXKeyMapping[GameInput::kKey_tab] = 15;
        s_DXKeyMapping[GameInput::kKey_q] = 16;
        s_DXKeyMapping[GameInput::kKey_w] = 17;
        s_DXKeyMapping[GameInput::kKey_e] = 18;
        s_DXKeyMapping[GameInput::kKey_r] = 19;
        s_DXKeyMapping[GameInput::kKey_t] = 20;
        s_DXKeyMapping[GameInput::kKey_y] = 21;
        s_DXKeyMapping[GameInput::kKey_u] = 22;
        s_DXKeyMapping[GameInput::kKey_i] = 23;
        s_DXKeyMapping[GameInput::kKey_o] = 24;
        s_DXKeyMapping[GameInput::kKey_p] = 25;
        s_DXKeyMapping[GameInput::kKey_lbracket] = 26;
        s_DXKeyMapping[GameInput::kKey_rbracket] = 27;
        s_DXKeyMapping[GameInput::kKey_return] = 28;
        s_DXKeyMapping[GameInput::kKey_lcontrol] = 29;
        s_DXKeyMapping[GameInput::kKey_a] = 30;
        s_DXKeyMapping[GameInput::kKey_s] = 31;
        s_DXKeyMapping[GameInput::kKey_d] = 32;
        s_DXKeyMapping[GameInput::kKey_f] = 33;
        s_DXKeyMapping[GameInput::kKey_g] = 34;
        s_DXKeyMapping[GameInput::kKey_h] = 35;
        s_DXKeyMapping[GameInput::kKey_j] = 36;
        s_DXKeyMapping[GameInput::kKey_k] = 37;
        s_DXKeyMapping[GameInput::kKey_l] = 38;
        s_DXKeyMapping[GameInput::kKey_semicolon] = 39;
        s_DXKeyMapping[GameInput::kKey_apostrophe] = 40;
        s_DXKeyMapping[GameInput::kKey_grave] = 41;
        s_DXKeyMapping[GameInput::kKey_lshift] = 42;
        s_DXKeyMapping[GameInput::kKey_backslash] = 43;
        s_DXKeyMapping[GameInput::kKey_z] = 44;
        s_DXKeyMapping[GameInput::kKey_x] = 45;
        s_DXKeyMapping[GameInput::kKey_c] = 46;
        s_DXKeyMapping[GameInput::kKey_v] = 47;
        s_DXKeyMapping[GameInput::kKey_b] = 48;
        s_DXKeyMapping[GameInput::kKey_n] = 49;
        s_DXKeyMapping[GameInput::kKey_m] = 50;
        s_DXKeyMapping[GameInput::kKey_comma] = 51;
        s_DXKeyMapping[GameInput::kKey_period] = 52;
        s_DXKeyMapping[GameInput::kKey_slash] = 53;
        s_DXKeyMapping[GameInput::kKey_rshift] = 54;
        s_DXKeyMapping[GameInput::kKey_multiply] = 55;
        s_DXKeyMapping[GameInput::kKey_lalt] = 56;
        s_DXKeyMapping[GameInput::kKey_space] = 57;
        s_DXKeyMapping[GameInput::kKey_capital] = 58;
        s_DXKeyMapping[GameInput::kKey_f1] = 59;
        s_DXKeyMapping[GameInput::kKey_f2] = 60;
        s_DXKeyMapping[GameInput::kKey_f3] = 61;
        s_DXKeyMapping[GameInput::kKey_f4] = 62;
        s_DXKeyMapping[GameInput::kKey_f5] = 63;
        s_DXKeyMapping[GameInput::kKey_f6] = 64;
        s_DXKeyMapping[GameInput::kKey_f7] = 65;
        s_DXKeyMapping[GameInput::kKey_f8] = 66;
        s_DXKeyMapping[GameInput::kKey_f9] = 67;
        s_DXKeyMapping[GameInput::kKey_f10] = 68;
        s_DXKeyMapping[GameInput::kKey_numlock] = 69;
        s_DXKeyMapping[GameInput::kKey_scroll] = 70;
        s_DXKeyMapping[GameInput::kKey_numpad7] = 71;
        s_DXKeyMapping[GameInput::kKey_numpad8] = 72;
        s_DXKeyMapping[GameInput::kKey_numpad9] = 73;
        s_DXKeyMapping[GameInput::kKey_subtract] = 74;
        s_DXKeyMapping[GameInput::kKey_numpad4] = 75;
        s_DXKeyMapping[GameInput::kKey_numpad5] = 76;
        s_DXKeyMapping[GameInput::kKey_numpad6] = 77;
        s_DXKeyMapping[GameInput::kKey_add] = 78;
        s_DXKeyMapping[GameInput::kKey_numpad1] = 79;
        s_DXKeyMapping[GameInput::kKey_numpad2] = 80;
        s_DXKeyMapping[GameInput::kKey_numpad3] = 81;
        s_DXKeyMapping[GameInput::kKey_numpad0] = 82;
        s_DXKeyMapping[GameInput::kKey_decimal] = 83;
        s_DXKeyMapping[GameInput::kKey_f11] = 87;
        s_DXKeyMapping[GameInput::kKey_f12] = 88;
        s_DXKeyMapping[GameInput::kKey_numpadenter] = 156;
        s_DXKeyMapping[GameInput::kKey_rcontrol] = 157;
        s_DXKeyMapping[GameInput::kKey_divide] = 181;
        s_DXKeyMapping[GameInput::kKey_sysrq] = 183;
        s_DXKeyMapping[GameInput::kKey_ralt] = 184;
        s_DXKeyMapping[GameInput::kKey_pause] = 197;
        s_DXKeyMapping[GameInput::kKey_home] = 199;
        s_DXKeyMapping[GameInput::kKey_up] = 200;
        s_DXKeyMapping[GameInput::kKey_pgup] = 201;
        s_DXKeyMapping[GameInput::kKey_left] = 203;
        s_DXKeyMapping[GameInput::kKey_right] = 205;
        s_DXKeyMapping[GameInput::kKey_end] = 207;
        s_DXKeyMapping[GameInput::kKey_down] = 208;
        s_DXKeyMapping[GameInput::kKey_pgdn] = 209;
        s_DXKeyMapping[GameInput::kKey_insert] = 210;
        s_DXKeyMapping[GameInput::kKey_delete] = 211;
        s_DXKeyMapping[GameInput::kKey_lwin] = 219;
        s_DXKeyMapping[GameInput::kKey_rwin] = 220;
        s_DXKeyMapping[GameInput::kKey_apps] = 221;
#else
#define WinRTKey(name) (unsigned char)Windows::System::VirtualKey::name
        s_DXKeyMapping[GameInput::kKey_escape] = WinRTKey(Escape);
        s_DXKeyMapping[GameInput::kKey_1] = WinRTKey(Number1);
        s_DXKeyMapping[GameInput::kKey_2] = WinRTKey(Number2);
        s_DXKeyMapping[GameInput::kKey_3] = WinRTKey(Number3);
        s_DXKeyMapping[GameInput::kKey_4] = WinRTKey(Number4);
        s_DXKeyMapping[GameInput::kKey_5] = WinRTKey(Number5);
        s_DXKeyMapping[GameInput::kKey_6] = WinRTKey(Number6);
        s_DXKeyMapping[GameInput::kKey_7] = WinRTKey(Number7);
        s_DXKeyMapping[GameInput::kKey_8] = WinRTKey(Number8);
        s_DXKeyMapping[GameInput::kKey_9] = WinRTKey(Number9);
        s_DXKeyMapping[GameInput::kKey_0] = WinRTKey(Number0);
        s_DXKeyMapping[GameInput::kKey_minus] = WinRTKey(Subtract);
        s_DXKeyMapping[GameInput::kKey_equals] = WinRTKey(Add);
        s_DXKeyMapping[GameInput::kKey_back] = WinRTKey(Back);
        s_DXKeyMapping[GameInput::kKey_tab] = WinRTKey(Tab);
        s_DXKeyMapping[GameInput::kKey_q] = WinRTKey(Q);
        s_DXKeyMapping[GameInput::kKey_w] = WinRTKey(W);
        s_DXKeyMapping[GameInput::kKey_e] = WinRTKey(E);
        s_DXKeyMapping[GameInput::kKey_r] = WinRTKey(R);
        s_DXKeyMapping[GameInput::kKey_t] = WinRTKey(T);
        s_DXKeyMapping[GameInput::kKey_y] = WinRTKey(Y);
        s_DXKeyMapping[GameInput::kKey_u] = WinRTKey(U);
        s_DXKeyMapping[GameInput::kKey_i] = WinRTKey(I);
        s_DXKeyMapping[GameInput::kKey_o] = WinRTKey(O);
        s_DXKeyMapping[GameInput::kKey_p] = WinRTKey(P);
        s_DXKeyMapping[GameInput::kKey_lbracket] = 219;
        s_DXKeyMapping[GameInput::kKey_rbracket] = 221;
        s_DXKeyMapping[GameInput::kKey_return] = WinRTKey(Enter);
        s_DXKeyMapping[GameInput::kKey_lcontrol] = WinRTKey(Control);  // No L/R
        s_DXKeyMapping[GameInput::kKey_a] = WinRTKey(A);
        s_DXKeyMapping[GameInput::kKey_s] = WinRTKey(S);
        s_DXKeyMapping[GameInput::kKey_d] = WinRTKey(D);
        s_DXKeyMapping[GameInput::kKey_f] = WinRTKey(F);
        s_DXKeyMapping[GameInput::kKey_g] = WinRTKey(G);
        s_DXKeyMapping[GameInput::kKey_h] = WinRTKey(H);
        s_DXKeyMapping[GameInput::kKey_j] = WinRTKey(J);
        s_DXKeyMapping[GameInput::kKey_k] = WinRTKey(K);
        s_DXKeyMapping[GameInput::kKey_l] = WinRTKey(L);
        s_DXKeyMapping[GameInput::kKey_semicolon] = 186;
        s_DXKeyMapping[GameInput::kKey_apostrophe] = 222;
        s_DXKeyMapping[GameInput::kKey_grave] = 192; // ` or ~
        s_DXKeyMapping[GameInput::kKey_lshift] = WinRTKey(LeftShift);
        s_DXKeyMapping[GameInput::kKey_backslash] = 220;
        s_DXKeyMapping[GameInput::kKey_z] = WinRTKey(Z);
        s_DXKeyMapping[GameInput::kKey_x] = WinRTKey(X);
        s_DXKeyMapping[GameInput::kKey_c] = WinRTKey(C);
        s_DXKeyMapping[GameInput::kKey_v] = WinRTKey(V);
        s_DXKeyMapping[GameInput::kKey_b] = WinRTKey(B);
        s_DXKeyMapping[GameInput::kKey_n] = WinRTKey(N);
        s_DXKeyMapping[GameInput::kKey_m] = WinRTKey(M);
        s_DXKeyMapping[GameInput::kKey_comma] = 188;
        s_DXKeyMapping[GameInput::kKey_period] = 190;
        s_DXKeyMapping[GameInput::kKey_slash] = 191;
        s_DXKeyMapping[GameInput::kKey_rshift] = WinRTKey(RightShift);
        s_DXKeyMapping[GameInput::kKey_multiply] = WinRTKey(Multiply);
        s_DXKeyMapping[GameInput::kKey_lalt] = 255; // Only a modifier
        s_DXKeyMapping[GameInput::kKey_space] = WinRTKey(Space);
        s_DXKeyMapping[GameInput::kKey_capital] = WinRTKey(CapitalLock);
        s_DXKeyMapping[GameInput::kKey_f1] = WinRTKey(F1);
        s_DXKeyMapping[GameInput::kKey_f2] = WinRTKey(F2);
        s_DXKeyMapping[GameInput::kKey_f3] = WinRTKey(F3);
        s_DXKeyMapping[GameInput::kKey_f4] = WinRTKey(F4);
        s_DXKeyMapping[GameInput::kKey_f5] = WinRTKey(F5);
        s_DXKeyMapping[GameInput::kKey_f6] = WinRTKey(F6);
        s_DXKeyMapping[GameInput::kKey_f7] = WinRTKey(F7);
        s_DXKeyMapping[GameInput::kKey_f8] = WinRTKey(F8);
        s_DXKeyMapping[GameInput::kKey_f9] = WinRTKey(F9);
        s_DXKeyMapping[GameInput::kKey_f10] = WinRTKey(F10);
        s_DXKeyMapping[GameInput::kKey_numlock] = WinRTKey(NumberKeyLock);
        s_DXKeyMapping[GameInput::kKey_scroll] = WinRTKey(Scroll);
        s_DXKeyMapping[GameInput::kKey_numpad7] = WinRTKey(NumberPad7);
        s_DXKeyMapping[GameInput::kKey_numpad8] = WinRTKey(NumberPad8);
        s_DXKeyMapping[GameInput::kKey_numpad9] = WinRTKey(NumberPad9);
        s_DXKeyMapping[GameInput::kKey_subtract] = WinRTKey(Subtract);
        s_DXKeyMapping[GameInput::kKey_numpad4] = WinRTKey(NumberPad4);
        s_DXKeyMapping[GameInput::kKey_numpad5] = WinRTKey(NumberPad5);
        s_DXKeyMapping[GameInput::kKey_numpad6] = WinRTKey(NumberPad6);
        s_DXKeyMapping[GameInput::kKey_add] = WinRTKey(Add);
        s_DXKeyMapping[GameInput::kKey_numpad1] = WinRTKey(NumberPad1);
        s_DXKeyMapping[GameInput::kKey_numpad2] = WinRTKey(NumberPad2);
        s_DXKeyMapping[GameInput::kKey_numpad3] = WinRTKey(NumberPad3);
        s_DXKeyMapping[GameInput::kKey_numpad0] = WinRTKey(NumberPad0);
        s_DXKeyMapping[GameInput::kKey_decimal] = WinRTKey(Decimal);
        s_DXKeyMapping[GameInput::kKey_f11] = WinRTKey(F11);
        s_DXKeyMapping[GameInput::kKey_f12] = WinRTKey(F12);
        s_DXKeyMapping[GameInput::kKey_numpadenter] = WinRTKey(Enter); // No distinction
        s_DXKeyMapping[GameInput::kKey_rcontrol] = WinRTKey(Control);  // No L/R
        s_DXKeyMapping[GameInput::kKey_divide] = WinRTKey(Divide);
        s_DXKeyMapping[GameInput::kKey_sysrq] = 255; // Ignored
        s_DXKeyMapping[GameInput::kKey_ralt] = 255; // Only a modifier
        s_DXKeyMapping[GameInput::kKey_pause] = WinRTKey(Pause);
        s_DXKeyMapping[GameInput::kKey_home] = WinRTKey(Home);
        s_DXKeyMapping[GameInput::kKey_up] = WinRTKey(Up);
        s_DXKeyMapping[GameInput::kKey_pgup] = WinRTKey(PageUp);
        s_DXKeyMapping[GameInput::kKey_left] = WinRTKey(Left);
        s_DXKeyMapping[GameInput::kKey_right] = WinRTKey(Right);
        s_DXKeyMapping[GameInput::kKey_end] = WinRTKey(End);
        s_DXKeyMapping[GameInput::kKey_down] = WinRTKey(Down);
        s_DXKeyMapping[GameInput::kKey_pgdn] = WinRTKey(PageDown);
        s_DXKeyMapping[GameInput::kKey_insert] = WinRTKey(Insert);
        s_DXKeyMapping[GameInput::kKey_delete] = WinRTKey(Delete);
        s_DXKeyMapping[GameInput::kKey_lwin] = WinRTKey(LeftWindows);
        s_DXKeyMapping[GameInput::kKey_rwin] = WinRTKey(RightWindows);
        s_DXKeyMapping[GameInput::kKey_apps] = WinRTKey(Application);
#endif
    }