summaryrefslogtreecommitdiff
path: root/console/console_write.cpp
diff options
context:
space:
mode:
authora1xd <[email protected]>2020-07-31 17:56:46 -0400
committerGitHub <[email protected]>2020-07-31 17:56:46 -0400
commit1fcbb0fa51dbc35958d211026e4d40384a049049 (patch)
treeefb65bf3f305f376ea75f4f687b08bf8998c020f /console/console_write.cpp
parentMerge pull request #6 from a1xd/st-refactor (diff)
parentShow no settings for off, remove unused class for PR (diff)
downloadrawaccel-1fcbb0fa51dbc35958d211026e4d40384a049049.tar.xz
rawaccel-1fcbb0fa51dbc35958d211026e4d40384a049049.zip
Merge pull request #7 from JacobPalecki/GUI
Add GUI
Diffstat (limited to 'console/console_write.cpp')
-rw-r--r--console/console_write.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/console/console_write.cpp b/console/console_write.cpp
new file mode 100644
index 0000000..3240ea5
--- /dev/null
+++ b/console/console_write.cpp
@@ -0,0 +1,32 @@
+#pragma once
+
+#include "console_write.hpp"
+
+void write(ra::mouse_modifier vars) {
+ HANDLE ra_handle = INVALID_HANDLE_VALUE;
+
+ ra_handle = CreateFileW(L"\\\\.\\rawaccel", 0, 0, 0, OPEN_EXISTING, 0, 0);
+
+ if (ra_handle == INVALID_HANDLE_VALUE) {
+ throw std::system_error(GetLastError(), std::system_category(), "CreateFile failed");
+ }
+
+ DWORD dummy;
+
+ BOOL success = DeviceIoControl(
+ ra_handle,
+ RA_WRITE,
+ &vars,
+ sizeof(ra::mouse_modifier),
+ NULL, // output buffer
+ 0, // output buffer size
+ &dummy, // bytes returned
+ NULL // overlapped structure
+ );
+
+ CloseHandle(ra_handle);
+
+ if (!success) {
+ throw std::system_error(GetLastError(), std::system_category(), "DeviceIoControl failed");
+ }
+}