summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2016-10-21 09:01:57 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2016-10-25 08:05:03 +1000
commita0c367dee60731ead0652beb3dd53fd274bc0ce5 (patch)
tree0fbe838b977947f5662d771feb9dd664354df6ba
parent21c0a24a4a0e779ad14e92da19a6babd514ee03a (diff)
Print the device size where applicable
Needed often enough, might as well print it Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Daniel Martin <consume.noise@gmail.com>
-rw-r--r--src/evemu.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/evemu.c b/src/evemu.c
index 1f4444e..49302fd 100644
--- a/src/evemu.c
+++ b/src/evemu.c
@@ -321,6 +321,28 @@ static void write_desc(const struct evemu_device *dev, FILE *fp)
fprintf(fp, "# Input device ID: bus %#04x vendor %#04x product %#04x version %#04x\n",
evemu_get_id_bustype(dev), evemu_get_id_vendor(dev),
evemu_get_id_product(dev), evemu_get_id_version(dev));
+
+ if (evemu_has_event(dev, EV_ABS, ABS_X) &&
+ evemu_has_event(dev, EV_ABS, ABS_Y)) {
+ int min, max, res;
+ int w = 0, h = 0;
+
+ min = evemu_get_abs_minimum(dev, ABS_X);
+ max = evemu_get_abs_maximum(dev, ABS_X);
+ res = evemu_get_abs_resolution(dev, ABS_X);
+ if (res != 0)
+ w = (max - min)/res;
+
+ min = evemu_get_abs_minimum(dev, ABS_Y);
+ max = evemu_get_abs_maximum(dev, ABS_Y);
+ res = evemu_get_abs_resolution(dev, ABS_Y);
+ if (res != 0)
+ h = (max - min)/res;
+
+ if (w != 0 && h != 0)
+ fprintf(fp, "# Size in mm: %dx%d\n", w, h);
+ }
+
fprintf(fp, "# Supported events:\n");
for (i = 0; i < EV_MAX; i++) {
if (!evemu_has_bit(dev, i))