From d40dbe467040668a296ff488b47d99ccadae7dc5 Mon Sep 17 00:00:00 2001 From: OatmealDome Date: Fri, 20 Jan 2023 02:50:39 -0500 Subject: [PATCH] DolphinQt: Add workaround for Qt 6.3+ bug on Linux See https://bugs.dolphin-emu.org/issues/12913 for more information. --- Source/Core/DolphinQt/Main.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Source/Core/DolphinQt/Main.cpp b/Source/Core/DolphinQt/Main.cpp index 06a29081f6..849a5b5550 100644 --- a/Source/Core/DolphinQt/Main.cpp +++ b/Source/Core/DolphinQt/Main.cpp @@ -9,6 +9,10 @@ #include #endif +#ifdef __linux__ +#include +#endif + #include #include #include @@ -133,6 +137,16 @@ int main(int argc, char* argv[]) } #endif +#ifdef __linux__ + // Qt 6.3+ has a bug which causes mouse inputs to not be registered in our XInput2 code. + // If we define QT_XCB_NO_XI2, Qt's xcb platform plugin no longer initializes its XInput + // code, which makes mouse inputs work again. + // For more information: https://bugs.dolphin-emu.org/issues/12913 +#if (QT_VERSION >= QT_VERSION_CHECK(6, 3, 0)) + putenv("QT_XCB_NO_XI2=1"); +#endif +#endif + auto parser = CommandLineParse::CreateParser(CommandLineParse::ParserOptions::IncludeGUIOptions); const optparse::Values& options = CommandLineParse::ParseArguments(parser.get(), argc, argv); const std::vector args = parser->args();