summaryrefslogtreecommitdiffhomepage
path: root/opentrack-logic/dinput.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'opentrack-logic/dinput.hpp')
-rw-r--r--opentrack-logic/dinput.hpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/opentrack-logic/dinput.hpp b/opentrack-logic/dinput.hpp
new file mode 100644
index 00000000..9300f39f
--- /dev/null
+++ b/opentrack-logic/dinput.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+#ifdef _WIN32
+
+#ifndef DIRECTINPUT_VERSION
+# define DIRECTINPUT_VERSION 0x800
+#endif
+#include <dinput.h>
+#include <windows.h>
+
+struct dinput_handle final
+{
+ using di_t = LPDIRECTINPUT8;
+private:
+ static dinput_handle self;
+ dinput_handle();
+ ~dinput_handle();
+ static di_t init_di();
+ di_t handle;
+public:
+ static di_t make_di();
+
+ dinput_handle(const dinput_handle&) = delete;
+ dinput_handle(dinput_handle&&) = delete;
+};
+
+#endif