diff --git a/CMakeLists.txt b/CMakeLists.txt
index 568dbb1f51..29d2a45cc6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -433,6 +433,11 @@ add_library(Common STATIC
Common/Crypto/sha1.h
Common/Crypto/sha256.cpp
Common/Crypto/sha256.h
+ Common/Input/GestureDetector.cpp
+ Common/Input/GestureDetector.h
+ Common/Input/KeyCodes.h
+ Common/Input/InputState.cpp
+ Common/Input/InputState.h
Common/Thread/Executor.cpp
Common/Thread/Executor.h
Common/Thread/PrioritizedWorkQueue.cpp
@@ -1008,11 +1013,6 @@ add_library(native STATIC
ext/native/image/zim_load.h
ext/native/image/zim_save.cpp
ext/native/image/zim_save.h
- ext/native/input/gesture_detector.cpp
- ext/native/input/gesture_detector.h
- ext/native/input/keycodes.h
- ext/native/input/input_state.h
- ext/native/input/input_state.cpp
ext/native/json/json_reader.h
ext/native/json/json_reader.cpp
ext/native/json/json_writer.h
diff --git a/Common/Common.vcxproj b/Common/Common.vcxproj
index d631d484a8..8f64506e1f 100644
--- a/Common/Common.vcxproj
+++ b/Common/Common.vcxproj
@@ -360,6 +360,9 @@
+
+
+
@@ -611,6 +614,8 @@
false
false
+
+
diff --git a/Common/Common.vcxproj.filters b/Common/Common.vcxproj.filters
index a021e84b0c..b32b1da778 100644
--- a/Common/Common.vcxproj.filters
+++ b/Common/Common.vcxproj.filters
@@ -128,6 +128,15 @@
Thread
+
+ Input
+
+
+ Input
+
+
+ Input
+
@@ -255,6 +264,12 @@
Thread
+
+ Input
+
+
+ Input
+
@@ -281,6 +296,9 @@
{41bcd391-8641-432c-ae4a-ab03812df762}
+
+ {fd0bac4f-e3e2-4201-8902-2d19b50d5bf7}
+
diff --git a/ext/native/input/gesture_detector.cpp b/Common/Input/GestureDetector.cpp
similarity index 98%
rename from ext/native/input/gesture_detector.cpp
rename to Common/Input/GestureDetector.cpp
index d73f4f9090..cab29e1b1a 100644
--- a/ext/native/input/gesture_detector.cpp
+++ b/Common/Input/GestureDetector.cpp
@@ -3,7 +3,7 @@
// Zoom gesture a la http://www.zdnet.com/blog/burnette/how-to-use-multi-touch-in-android-2-part-6-implementing-the-pinch-zoom-gesture/1847
#include "Common/TimeUtil.h"
-#include "input/gesture_detector.h"
+#include "Common/Input/GestureDetector.h"
const float estimatedInertiaDamping = 0.75f;
diff --git a/ext/native/input/gesture_detector.h b/Common/Input/GestureDetector.h
similarity index 96%
rename from ext/native/input/gesture_detector.h
rename to Common/Input/GestureDetector.h
index 783843cee3..908f960769 100644
--- a/ext/native/input/gesture_detector.h
+++ b/Common/Input/GestureDetector.h
@@ -1,4 +1,4 @@
-#include "input/input_state.h"
+#include "Common/Input/InputState.h"
#include "math/geom2d.h"
// Mainly for detecting (multi-)touch gestures but also useable for left button mouse dragging etc.
diff --git a/ext/native/input/input_state.cpp b/Common/Input/InputState.cpp
similarity index 96%
rename from ext/native/input/input_state.cpp
rename to Common/Input/InputState.cpp
index 8c28473f1d..90fc9b6a1a 100644
--- a/ext/native/input/input_state.cpp
+++ b/Common/Input/InputState.cpp
@@ -1,5 +1,5 @@
-#include "input/input_state.h"
-#include "input/keycodes.h"
+#include "Common/Input/InputState.h"
+#include "Common/Input/KeyCodes.h"
#include
const char *GetDeviceName(int deviceId) {
diff --git a/ext/native/input/input_state.h b/Common/Input/InputState.h
similarity index 99%
rename from ext/native/input/input_state.h
rename to Common/Input/InputState.h
index 2ce502f860..175d6786df 100644
--- a/ext/native/input/input_state.h
+++ b/Common/Input/InputState.h
@@ -8,7 +8,7 @@
#include
#include "math/lin/vec3.h"
-#include "input/keycodes.h"
+#include "Common/Input/KeyCodes.h"
// Default device IDs
diff --git a/ext/native/input/keycodes.h b/Common/Input/KeyCodes.h
similarity index 100%
rename from ext/native/input/keycodes.h
rename to Common/Input/KeyCodes.h
diff --git a/Common/KeyMap.cpp b/Common/KeyMap.cpp
index 99d3bf4f05..2a3fb0bb81 100644
--- a/Common/KeyMap.cpp
+++ b/Common/KeyMap.cpp
@@ -26,7 +26,7 @@
#include "base/NativeApp.h"
#include "file/ini_file.h"
-#include "input/input_state.h"
+#include "Common/Input/InputState.h"
#include "ppsspp_config.h"
#include "Common/Log.h"
diff --git a/Common/KeyMap.h b/Common/KeyMap.h
index 86883a9e98..a0afd74797 100644
--- a/Common/KeyMap.h
+++ b/Common/KeyMap.h
@@ -21,8 +21,8 @@
#include
@@ -100,6 +106,24 @@
ext\libpng17
+
+ Input
+
+
+ Input
+
+
+ Thread
+
+
+ Thread
+
+
+ Thread
+
+
+ Thread
+
@@ -178,6 +202,27 @@
ext\libpng17
+
+ Input
+
+
+ Input
+
+
+ Input
+
+
+ Thread
+
+
+ Thread
+
+
+ Thread
+
+
+ Thread
+
diff --git a/UWP/NKCodeFromWindowsSystem.h b/UWP/NKCodeFromWindowsSystem.h
index 470a72456a..94905fb699 100644
--- a/UWP/NKCodeFromWindowsSystem.h
+++ b/UWP/NKCodeFromWindowsSystem.h
@@ -2,6 +2,6 @@
#include