switch(msg) { // HANDLE KEYBOARD INPUT SOURCE DATA case WM_KEYDOWN: { if(wParam == VK_SHIFT) { if(GetKeyState(VK_LSHIFT) & 0x8000) { bool prevDown = ((lParam & (1 << 31)) != 0); Crealysm::INPUT::RAW_BUTTON tbutton = GetRawButton(wParam); if(tbutton != Crealysm::INPUT::RAW_BUTTON::COUNT) mInputManager.SetRawButtonState(tbutton, true, prevDown); OutputDebugString(L"LEFT SHIFT down\n"); } if(GetKeyState(VK_RSHIFT) & 0x8000) { bool prevDown = ((lParam & (1 << 31)) != 0); Crealysm::INPUT::RAW_BUTTON tbutton = GetRawButton(wParam); if(tbutton != Crealysm::INPUT::RAW_BUTTON::COUNT) mInputManager.SetRawButtonState(tbutton, true, prevDown); OutputDebugString(L"RIGHT SHIFT down\n"); } } if(wParam == VK_CONTROL) { if(GetKeyState(VK_LCONTROL) & 0x8000) { bool prevDown = ((lParam & (1 << 31)) != 0); Crealysm::INPUT::RAW_BUTTON tbutton = GetRawButton(wParam); if(tbutton != Crealysm::INPUT::RAW_BUTTON::COUNT) mInputManager.SetRawButtonState(tbutton, true, prevDown); OutputDebugString(L"LEFT CTRL down\n"); } if(GetKeyState(VK_RCONTROL) & 0x8000) { bool prevDown = ((lParam & (1 << 31)) != 0); Crealysm::INPUT::RAW_BUTTON tbutton = GetRawButton(wParam); if(tbutton != Crealysm::INPUT::RAW_BUTTON::COUNT) mInputManager.SetRawButtonState(tbutton, true, prevDown); OutputDebugString(L"RIGHT CTRL down\n"); } } bool prevDown = ((lParam & (1 << 31)) != 0); Crealysm::INPUT::RAW_BUTTON tbutton = GetRawButton(wParam); if(tbutton != Crealysm::INPUT::RAW_BUTTON::COUNT) mInputManager.SetRawButtonState(tbutton, true, prevDown); break; } case WM_KEYUP: { if(wParam == VK_SHIFT) { if(!(GetKeyState(VK_LSHIFT) & 0x8000)) { Crealysm::INPUT::RAW_BUTTON tbutton = GetRawButton(wParam); if(tbutton != Crealysm::INPUT::RAW_BUTTON::COUNT) mInputManager.SetRawButtonState(tbutton, false, true); OutputDebugString(L"LEFT SHIFT up\n"); } if(!(GetKeyState(VK_RSHIFT) & 0x8000)) { Crealysm::INPUT::RAW_BUTTON tbutton = GetRawButton(wParam); if(tbutton != Crealysm::INPUT::RAW_BUTTON::COUNT) mInputManager.SetRawButtonState(tbutton, false, true); OutputDebugString(L"RIGHT SHIFT up\n"); } } if(wParam == VK_CONTROL) { if(!(GetKeyState(VK_LCONTROL) & 0x8000)) { Crealysm::INPUT::RAW_BUTTON tbutton = GetRawButton(wParam); if(tbutton != Crealysm::INPUT::RAW_BUTTON::COUNT) mInputManager.SetRawButtonState(tbutton, false, true); OutputDebugString(L"LEFT CTRL up\n"); } if(!(GetKeyState(VK_RCONTROL) & 0x8000)) { Crealysm::INPUT::RAW_BUTTON tbutton = GetRawButton(wParam); if(tbutton != Crealysm::INPUT::RAW_BUTTON::COUNT) mInputManager.SetRawButtonState(tbutton, false, true); OutputDebugString(L"RIGHT CTRL up\n"); } } Crealysm::INPUT::RAW_BUTTON tbutton = GetRawButton(wParam); if(tbutton != Crealysm::INPUT::RAW_BUTTON::COUNT) mInputManager.SetRawButtonState(tbutton, false, true); break; }