diff --git a/code/redalert/io/userinput.cpp b/code/redalert/io/userinput.cpp index 1d3ce53..60d3bf1 100644 --- a/code/redalert/io/userinput.cpp +++ b/code/redalert/io/userinput.cpp @@ -61,6 +61,16 @@ void UserInputClass::Process_Input(KeyNumType& key, int& flags) while (SDL_PollEvent(&event)) { const Uint8* state = SDL_GetKeyboardState(NULL); + if (Debug_Map || renderConsole) + { + // If Imgui has processed a KEYDOWN or MOUSEDOWN event, then we are going to ignore it. + if(ImGui_ImplSDL2_ProcessEvent(&event)) { + if(event.type == SDL_MOUSEBUTTONDOWN || event.type == SDL_KEYDOWN) { + continue; + } + } + } + switch (event.type) { case SDL_SYSWMEVENT: @@ -216,11 +226,6 @@ void UserInputClass::Process_Input(KeyNumType& key, int& flags) KeyB.ASCII = (char)event.text.text[0]; } } - - if (Debug_Map || renderConsole) - { - ImGui_ImplSDL2_ProcessEvent(&event); - } } if (!leftMouseProcessed && numFramesLMouse != 0)