summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authora1xd <[email protected]>2021-04-01 18:15:50 -0400
committera1xd <[email protected]>2021-04-01 18:15:50 -0400
commit98de0eaac2f6d780da8ff4ad9533dad10be40204 (patch)
treef295f53fe6f3d29517dfc0f63a3b4699b083d4e2
parentupdate rest (diff)
downloadrawaccel-98de0eaac2f6d780da8ff4ad9533dad10be40204.tar.xz
rawaccel-98de0eaac2f6d780da8ff4ad9533dad10be40204.zip
add flag to negate device match
-rw-r--r--common/rawaccel-base.hpp1
-rw-r--r--driver/driver.cpp5
-rw-r--r--wrapper/wrapper.cpp4
3 files changed, 8 insertions, 2 deletions
diff --git a/common/rawaccel-base.hpp b/common/rawaccel-base.hpp
index 6996164..200c7d4 100644
--- a/common/rawaccel-base.hpp
+++ b/common/rawaccel-base.hpp
@@ -79,6 +79,7 @@ namespace rawaccel {
vec2d range_weights = { 1, 1 };
milliseconds time_min = DEFAULT_TIME_MIN;
+ bool ignore = false;
wchar_t device_id[MAX_DEV_ID_LEN] = {};
};
diff --git a/driver/driver.cpp b/driver/driver.cpp
index fbc2d3d..ec340ea 100644
--- a/driver/driver.cpp
+++ b/driver/driver.cpp
@@ -55,8 +55,9 @@ Arguments:
bool any = num_packets > 0;
bool rel_move = !(InputDataStart->Flags & MOUSE_MOVE_ABSOLUTE);
- bool dev_match = global.args.device_id[0] == 0 ||
- wcsncmp(devExt->dev_id, global.args.device_id, ra::MAX_DEV_ID_LEN) == 0;
+ bool dev_match = global.args.device_id[0] == 0 ||
+ global.args.ignore ==
+ bool(wcsncmp(devExt->dev_id, global.args.device_id, ra::MAX_DEV_ID_LEN));
if (any && rel_move && dev_match) {
// if IO is backed up to the point where we get more than 1 packet here
diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp
index 757972b..873b156 100644
--- a/wrapper/wrapper.cpp
+++ b/wrapper/wrapper.cpp
@@ -130,6 +130,10 @@ public ref struct DriverSettings
[JsonProperty(Required = Required::Default)]
double minimumTime;
+ [JsonProperty("Ignore devices with matching ID")]
+ [MarshalAs(UnmanagedType::U1)]
+ bool ignore;
+
[JsonProperty("Device ID")]
[MarshalAs(UnmanagedType::ByValTStr, SizeConst = ra::MAX_DEV_ID_LEN)]
String^ deviceID = "";