summaryrefslogtreecommitdiff
path: root/wrapper/wrapper.cpp
diff options
context:
space:
mode:
authora1xd <[email protected]>2021-04-27 21:27:37 -0400
committerGitHub <[email protected]>2021-04-27 21:27:37 -0400
commitc13f06672dea12d49c4b65b9bbcf85bb261cc8d7 (patch)
tree9e3eb5ec57e0f57547b897f0fb3a01882468c8ef /wrapper/wrapper.cpp
parentMerge pull request #81 from a1xd/log-unhandled-ex (diff)
parentbump version (diff)
downloadrawaccel-c13f06672dea12d49c4b65b9bbcf85bb261cc8d7.tar.xz
rawaccel-c13f06672dea12d49c4b65b9bbcf85bb261cc8d7.zip
Merge pull request #86 from a1xd/fix-inputv1.4.4
Suppress id/rawinput related errors
Diffstat (limited to 'wrapper/wrapper.cpp')
-rw-r--r--wrapper/wrapper.cpp36
1 files changed, 4 insertions, 32 deletions
diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp
index 71a8cf6..50a3596 100644
--- a/wrapper/wrapper.cpp
+++ b/wrapper/wrapper.cpp
@@ -1,6 +1,5 @@
#pragma once
-#include <algorithm>
#include <type_traits>
#include <msclr\marshal_cppstd.h>
@@ -277,30 +276,6 @@ public:
}
};
-struct device_info {
- std::wstring name;
- std::wstring id;
-};
-
-std::vector<device_info> get_unique_device_info() {
- std::vector<device_info> info;
-
- rawinput_foreach_with_interface([&](const auto& dev, const WCHAR* name) {
- info.push_back({
- L"", // get_property_wstr(name, &DEVPKEY_Device_FriendlyName), /* doesn't work */
- dev_id_from_interface(name)
- });
- });
-
- std::sort(info.begin(), info.end(),
- [](auto&& l, auto&& r) { return l.id < r.id; });
- auto last = std::unique(info.begin(), info.end(),
- [](auto&& l, auto&& r) { return l.id == r.id; });
- info.erase(last, info.end());
-
- return info;
-}
-
public ref struct RawInputInterop
{
static void AddHandlesFromID(String^ deviceID, List<IntPtr>^ rawInputHandles)
@@ -318,18 +293,15 @@ public ref struct RawInputInterop
}
}
- static List<ValueTuple<String^, String^>>^ GetDeviceIDs()
+ static List<String^>^ GetDeviceIDs()
{
try
{
- auto managed = gcnew List<ValueTuple<String^, String^>>();
+ auto managed = gcnew List<String^>();
- for (auto&& [name, id] : get_unique_device_info())
+ for (auto&& id : rawinput_dev_id_list())
{
- managed->Add(
- ValueTuple<String^, String^>(
- msclr::interop::marshal_as<String^>(name),
- msclr::interop::marshal_as<String^>(id)));
+ managed->Add(msclr::interop::marshal_as<String^>(id));
}
return managed;