diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2016-10-21 09:01:57 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2016-10-25 08:05:03 +1000 |
commit | a0c367dee60731ead0652beb3dd53fd274bc0ce5 (patch) | |
tree | 0fbe838b977947f5662d771feb9dd664354df6ba | |
parent | 21c0a24a4a0e779ad14e92da19a6babd514ee03a (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.c | 22 |
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)) |