From 15509420a83aa5f054f876cf5c83edad9f2cdc32 Mon Sep 17 00:00:00 2001 From: CrazyMax Date: Sun, 28 Apr 2013 12:30:43 +0300 Subject: [PATCH 1/2] disable background input for Windows --- Windows/DinputDevice.cpp | 2 ++ Windows/KeyboardDevice.cpp | 2 ++ Windows/XinputDevice.cpp | 2 ++ 3 files changed, 6 insertions(+) diff --git a/Windows/DinputDevice.cpp b/Windows/DinputDevice.cpp index 11c402f8c1..b695a6d981 100644 --- a/Windows/DinputDevice.cpp +++ b/Windows/DinputDevice.cpp @@ -16,6 +16,7 @@ // https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/. #include +#include "Windows/WndMainWindow.h" #include "DinputDevice.h" #include "Core/Config.h" #include "input/input_state.h" @@ -117,6 +118,7 @@ int DinputDevice::UpdateState(InputState &input_state) { if (g_Config.iForceInputDevice == 0) return -1; if (!pJoystick) return -1; + if (MainWindow::GetHWND() != GetForegroundWindow()) return -1; DIJOYSTATE2 js; diff --git a/Windows/KeyboardDevice.cpp b/Windows/KeyboardDevice.cpp index 434b0ab36c..3913a34974 100644 --- a/Windows/KeyboardDevice.cpp +++ b/Windows/KeyboardDevice.cpp @@ -1,4 +1,5 @@ #include "input/input_state.h" +#include "Windows/WndMainWindow.h" #include "KeyboardDevice.h" #include "../Common/CommonTypes.h" #include "../Core/HLE/sceCtrl.h" @@ -28,6 +29,7 @@ unsigned short analog_ctrl_map[] = { }; int KeyboardDevice::UpdateState(InputState &input_state) { + if (MainWindow::GetHWND() != GetForegroundWindow()) return -1; bool alternate = GetAsyncKeyState(VK_SHIFT) != 0; static u32 alternator = 0; bool doAlternate = alternate && (alternator++ % 10) < 5; diff --git a/Windows/XinputDevice.cpp b/Windows/XinputDevice.cpp index 63be6da75e..9df674b021 100644 --- a/Windows/XinputDevice.cpp +++ b/Windows/XinputDevice.cpp @@ -1,4 +1,5 @@ #include +#include "Windows/WndMainWindow.h" #include "XinputDevice.h" #include "Core/Config.h" #include "input/input_state.h" @@ -22,6 +23,7 @@ static Stick NormalizedDeadzoneFilter(short x, short y); int XinputDevice::UpdateState(InputState &input_state) { if (g_Config.iForceInputDevice > 0) return -1; if (this->check_delay-- > 0) return -1; + if (MainWindow::GetHWND() != GetForegroundWindow()) return -1; XINPUT_STATE state; ZeroMemory( &state, sizeof(XINPUT_STATE) ); From 12c059fcb3f5b2c59fe5b51059a79d03b4717877 Mon Sep 17 00:00:00 2001 From: CrazyMax Date: Sun, 28 Apr 2013 13:16:30 +0300 Subject: [PATCH 2/2] revert background input for gamepads; --- Windows/DinputDevice.cpp | 2 -- Windows/XinputDevice.cpp | 2 -- 2 files changed, 4 deletions(-) diff --git a/Windows/DinputDevice.cpp b/Windows/DinputDevice.cpp index b695a6d981..11c402f8c1 100644 --- a/Windows/DinputDevice.cpp +++ b/Windows/DinputDevice.cpp @@ -16,7 +16,6 @@ // https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/. #include -#include "Windows/WndMainWindow.h" #include "DinputDevice.h" #include "Core/Config.h" #include "input/input_state.h" @@ -118,7 +117,6 @@ int DinputDevice::UpdateState(InputState &input_state) { if (g_Config.iForceInputDevice == 0) return -1; if (!pJoystick) return -1; - if (MainWindow::GetHWND() != GetForegroundWindow()) return -1; DIJOYSTATE2 js; diff --git a/Windows/XinputDevice.cpp b/Windows/XinputDevice.cpp index 9df674b021..63be6da75e 100644 --- a/Windows/XinputDevice.cpp +++ b/Windows/XinputDevice.cpp @@ -1,5 +1,4 @@ #include -#include "Windows/WndMainWindow.h" #include "XinputDevice.h" #include "Core/Config.h" #include "input/input_state.h" @@ -23,7 +22,6 @@ static Stick NormalizedDeadzoneFilter(short x, short y); int XinputDevice::UpdateState(InputState &input_state) { if (g_Config.iForceInputDevice > 0) return -1; if (this->check_delay-- > 0) return -1; - if (MainWindow::GetHWND() != GetForegroundWindow()) return -1; XINPUT_STATE state; ZeroMemory( &state, sizeof(XINPUT_STATE) );