diff options
| author | Tilka <tilkax@gmail.com> | 2020-01-25 20:28:01 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-25 20:28:01 +0000 |
| commit | b0e040431a633ea3b0486673592e0de753110823 (patch) | |
| tree | 5b2e36a8cc6259de49d28461a00778960f254faa /Source/Core/InputCommon/ControllerInterface/DInput | |
| parent | 9827aa7a37e444cb359d4db50f5d73cb58eda77c (diff) | |
| parent | b92f6480a0b7517666ad139fc81c89033f84830f (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.cpp | 6 | ||||
| -rw-r--r-- | Source/Core/InputCommon/ControllerInterface/DInput/DInputKeyboardMouse.h | 6 |
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 |
