summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2013-01-11 11:47:34 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2013-02-25 08:35:24 +1000
commit879f0195c6174bbf9b9b621dd876c36237209cab (patch)
tree4544d373dfbc87db9dfa936c79335261a39aa0b7 /src
parent676b62af8cc28755e4b17b5b0d2d78f0704ebcfd (diff)
device: add HasEvent() and GetAbsData()
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'src')
-rw-r--r--src/device.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/device.cpp b/src/device.cpp
index ea98d17..a57864d 100644
--- a/src/device.cpp
+++ b/src/device.cpp
@@ -236,6 +236,27 @@ void xorg::testing::evemu::Device::PlayOne(int type, int code, int value, bool s
}
}
+bool xorg::testing::evemu::Device::HasEvent(int type, int code)
+{
+ return evemu_has_event(d_->device, type, code);
+}
+
+bool xorg::testing::evemu::Device::GetAbsData(int code, int *min, int *max, int *fuzz, int *flat, int *resolution)
+{
+ if (!HasEvent(EV_ABS, code))
+ return false;
+
+ *min = evemu_get_abs_minimum(d_->device, code);
+ *max = evemu_get_abs_maximum(d_->device, code);
+ if (fuzz)
+ *fuzz = evemu_get_abs_fuzz(d_->device, code);
+ if (flat)
+ *flat = evemu_get_abs_flat(d_->device, code);
+ if (resolution)
+ *resolution = evemu_get_abs_resolution(d_->device, code);
+ return true;
+}
+
const std::string& xorg::testing::evemu::Device::GetDeviceNode(void) {
if (d_->device_node.empty())
GuessDeviceNode(d_->ctime);