summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/DInput
diff options
context:
space:
mode:
authorTilka <tilkax@gmail.com>2020-01-25 20:28:01 +0000
committerGitHub <noreply@github.com>2020-01-25 20:28:01 +0000
commitb0e040431a633ea3b0486673592e0de753110823 (patch)
tree5b2e36a8cc6259de49d28461a00778960f254faa /Source/Core/InputCommon/ControllerInterface/DInput
parent9827aa7a37e444cb359d4db50f5d73cb58eda77c (diff)
parentb92f6480a0b7517666ad139fc81c89033f84830f (diff)
Merge pull request #8581 from jordan-woyak/ciface-ar-aware
InputCommon: Make "Cursor" inputs aware of the rendered aspect ratio.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/DInput')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp6
-rw-r--r--Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.h6
2 files changed, 6 insertions, 6 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp
index 24edc4386c..1e617d6c24 100644
--- a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.cpp
@@ -125,9 +125,11 @@ void KeyboardMouse::UpdateCursorInput()
const auto win_width = rect.right - rect.left;
const auto win_height = rect.bottom - rect.top;
+ const auto window_scale = g_controller_interface.GetWindowInputScale();
+
// Convert the cursor position to a range from -1 to 1.
- m_state_in.cursor.x = ControlState(point.x) / win_width * 2 - 1;
- m_state_in.cursor.y = ControlState(point.y) / win_height * 2 - 1;
+ m_state_in.cursor.x = (ControlState(point.x) / win_width * 2 - 1) * window_scale.x;
+ m_state_in.cursor.y = (ControlState(point.y) / win_height * 2 - 1) * window_scale.y;
}
void KeyboardMouse::UpdateInput()
diff --git a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.h b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.h
index e1d2500b15..711c9461e6 100644
--- a/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.h
+++ b/Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.h
@@ -6,6 +6,7 @@
#include <windows.h>
+#include "Common/Matrix.h"
#include "InputCommon/ControllerInterface/DInput/DInput8.h"
#include "InputCommon/ControllerInterface/Device.h"
@@ -20,10 +21,7 @@ private:
{
BYTE keyboard[256];
DIMOUSESTATE2 mouse;
- struct
- {
- ControlState x, y;
- } cursor;
+ Common::TVec2<ControlState> cursor;
};
class Key : public Input