diff --git a/.gitmodules b/.gitmodules
index f2698eb4f3..5581b407f2 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -21,9 +21,6 @@
path = 3rdparty/rapidyaml/rapidyaml
url = https://github.com/biojppm/rapidyaml.git
branch = master
-[submodule "3rdparty/imgui/imgui"]
- path = 3rdparty/imgui/imgui
- url = https://github.com/ocornut/imgui.git
[submodule "3rdparty/glslang/glslang"]
path = 3rdparty/glslang/glslang
url = https://github.com/KhronosGroup/glslang.git
diff --git a/3rdparty/imgui/CMakeLists.txt b/3rdparty/imgui/CMakeLists.txt
index fe751ded0a..cb91058e51 100644
--- a/3rdparty/imgui/CMakeLists.txt
+++ b/3rdparty/imgui/CMakeLists.txt
@@ -1,19 +1,21 @@
add_library(imgui
- imgui/imconfig.h
- imgui/imgui.cpp
- imgui/imgui.h
- imgui/imgui_demo.cpp
- imgui/imgui_draw.cpp
- imgui/imgui_internal.h
- imgui/imgui_tables.cpp
- imgui/imgui_widgets.cpp
- imgui/imstb_rectpack.h
- imgui/imstb_textedit.h
- imgui/imstb_truetype.h
- imgui/misc/cpp/imgui_stdlib.cpp
+ include/imconfig.h
+ include/imgui.h
+ include/imgui_internal.h
+ include/imgui_stdlib.h
+ include/imstb_textedit.h
+ src/imgui.cpp
+ src/imgui_demo.cpp
+ src/imgui_draw.cpp
+ src/imgui_tables.cpp
+ src/imgui_widgets.cpp
+ src/imstb_rectpack.h
+ src/imstb_truetype.h
+ src/imgui_stdlib.cpp
)
-target_include_directories(imgui PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/imgui" "${CMAKE_CURRENT_SOURCE_DIR}/include")
+target_include_directories(imgui PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
+target_include_directories(imgui PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/src")
# Needed for macOS compile.
set_property(TARGET imgui PROPERTY CXX_STANDARD 17)
diff --git a/3rdparty/imgui/imgui b/3rdparty/imgui/imgui
deleted file mode 160000
index 60bea052a9..0000000000
--- a/3rdparty/imgui/imgui
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 60bea052a92cbb4a93b221002fdf04f0da3698e1
diff --git a/3rdparty/imgui/imgui.vcxproj b/3rdparty/imgui/imgui.vcxproj
index 9b32aabe95..93dae833e7 100644
--- a/3rdparty/imgui/imgui.vcxproj
+++ b/3rdparty/imgui/imgui.vcxproj
@@ -32,7 +32,7 @@
%(PreprocessorDefinitions)
TurnOffAllWarnings
- $(SolutionDir)3rdparty\glad\include;$(ProjectDir)imgui;$(ProjectDir)include;$(ProjectDir)src;%(AdditionalIncludeDirectories)
+ $(SolutionDir)3rdparty\glad\include;$(ProjectDir)include;$(ProjectDir)src;%(AdditionalIncludeDirectories)
@@ -41,21 +41,21 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/3rdparty/imgui/imgui.vcxproj.filters b/3rdparty/imgui/imgui.vcxproj.filters
index b50def7037..7fc9569998 100644
--- a/3rdparty/imgui/imgui.vcxproj.filters
+++ b/3rdparty/imgui/imgui.vcxproj.filters
@@ -1,20 +1,20 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/3rdparty/imgui/src/imgui_widgets.cpp b/3rdparty/imgui/src/imgui_widgets.cpp
index 9b59cfdece..f2ddda418d 100644
--- a/3rdparty/imgui/src/imgui_widgets.cpp
+++ b/3rdparty/imgui/src/imgui_widgets.cpp
@@ -4257,6 +4257,12 @@ bool ImGui::InputTextEx(const char* label, const char* hint, char* buf, int buf_
unsigned int c = (unsigned int)io.InputQueueCharacters[n];
if (c == '\t') // Skip Tab, see above.
continue;
+ if (c == '\b')
+ {
+ state->OnKeyPressed(STB_TEXTEDIT_K_BACKSPACE);
+ continue;
+ }
+
if (InputTextFilterCharacter(&c, flags, callback, callback_user_data, ImGuiInputSource_Keyboard))
state->OnKeyPressed((int)c);
}
diff --git a/pcsx2/Frontend/ImGuiFullscreen.cpp b/pcsx2/Frontend/ImGuiFullscreen.cpp
index 64c7f31eaf..c472417ca0 100644
--- a/pcsx2/Frontend/ImGuiFullscreen.cpp
+++ b/pcsx2/Frontend/ImGuiFullscreen.cpp
@@ -31,7 +31,7 @@
#include "fmt/core.h"
#include "HostDisplay.h"
#include "imgui_internal.h"
-#include "misc/cpp/imgui_stdlib.h"
+#include "imgui_stdlib.h"
#include
#include
#include
diff --git a/pcsx2/pcsx2.vcxproj b/pcsx2/pcsx2.vcxproj
index f438652944..fc96f7e19a 100644
--- a/pcsx2/pcsx2.vcxproj
+++ b/pcsx2/pcsx2.vcxproj
@@ -42,7 +42,7 @@
$(SolutionDir)3rdparty\libpng;%(AdditionalIncludeDirectories)
$(SolutionDir)3rdparty\glad\include;%(AdditionalIncludeDirectories)
$(SolutionDir)3rdparty\cubeb\cubeb\include;$(SolutionDir)3rdparty\cubeb\include;%(AdditionalIncludeDirectories)
- $(SolutionDir)3rdparty\imgui\imgui;$(SolutionDir)3rdparty\imgui\include;%(AdditionalIncludeDirectories)
+ $(SolutionDir)3rdparty\imgui\include;$(SolutionDir)3rdparty\imgui\include;%(AdditionalIncludeDirectories)
$(SolutionDir)3rdparty\libzip;$(SolutionDir)3rdparty\libzip\libzip\lib;%(AdditionalIncludeDirectories)
$(SolutionDir)3rdparty\d3d12memalloc\include;%(AdditionalIncludeDirectories)
%(AdditionalIncludeDirectories);$(SolutionDir)3rdparty\zstd\zstd\lib
diff --git a/pcsx2/pcsx2core.vcxproj b/pcsx2/pcsx2core.vcxproj
index 310a2df6c4..434ec19457 100644
--- a/pcsx2/pcsx2core.vcxproj
+++ b/pcsx2/pcsx2core.vcxproj
@@ -42,7 +42,7 @@
$(SolutionDir)3rdparty\libpng;%(AdditionalIncludeDirectories)
$(SolutionDir)3rdparty\glad\include;%(AdditionalIncludeDirectories)
$(SolutionDir)3rdparty\cubeb\cubeb\include;$(SolutionDir)3rdparty\cubeb\include;%(AdditionalIncludeDirectories)
- $(SolutionDir)3rdparty\imgui\imgui;$(SolutionDir)3rdparty\imgui\include;%(AdditionalIncludeDirectories)
+ $(SolutionDir)3rdparty\imgui\include;$(SolutionDir)3rdparty\imgui\include;%(AdditionalIncludeDirectories)
$(SolutionDir)3rdparty\simpleini\include;%(AdditionalIncludeDirectories)
$(SolutionDir)3rdparty\sdl2\include;$(SolutionDir)3rdparty\sdl2\SDL\include;%(AdditionalIncludeDirectories)
$(SolutionDir)3rdparty\libzip;$(SolutionDir)3rdparty\libzip\libzip\lib;%(AdditionalIncludeDirectories)