summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2012-02-23 14:48:03 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2012-02-23 14:48:03 +1000
commitca8b12d6517568a8a7f2d5244a786e82216f8b43 (patch)
tree34c8bef54207f8e3b89d8823bb50427526c4f6e2
parent87357825e3e4b4f5f7d054086d55156b345f7750 (diff)
Add support for input properties
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--evtest.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/evtest.c b/evtest.c
index 74230ea..7b50d27 100644
--- a/evtest.c
+++ b/evtest.c
@@ -162,6 +162,16 @@ static const char * const events[EV_MAX + 1] = {
NAME_ELEMENT(EV_FF_STATUS), NAME_ELEMENT(EV_SW),
};
+#ifdef INPUT_PROP_SEMI_MT
+static const char * const props[INPUT_PROP_MAX + 1] = {
+ [0 ... INPUT_PROP_MAX] = NULL,
+ NAME_ELEMENT(INPUT_PROP_POINTER),
+ NAME_ELEMENT(INPUT_PROP_DIRECT),
+ NAME_ELEMENT(INPUT_PROP_BUTTONPAD),
+ NAME_ELEMENT(INPUT_PROP_SEMI_MT),
+};
+#endif
+
static const char * const keys[KEY_MAX + 1] = {
[0 ... KEY_MAX] = NULL,
NAME_ELEMENT(KEY_RESERVED), NAME_ELEMENT(KEY_ESC),
@@ -722,6 +732,7 @@ static int print_device_info(int fd)
unsigned short id[4];
char name[256] = "Unknown";
unsigned long bit[EV_MAX][NBITS(KEY_MAX)];
+ unsigned long propbits[INPUT_PROP_MAX];
if (ioctl(fd, EVIOCGVERSION, &version)) {
perror("evtest: can't get version");
@@ -755,6 +766,16 @@ static int print_device_info(int fd)
}
}
+#ifdef INPUT_PROP_SEMI_MT
+ memset(propbits, 0, sizeof(propbits));
+ ioctl(fd, EVIOCGPROP(sizeof(propbits)), propbits);
+ printf("Properties:\n");
+ for (i = 0; i < INPUT_PROP_MAX; i++) {
+ if (test_bit(i, propbits))
+ printf(" Property type %d (%s)\n", i, props[i] ? props[i] : "?");
+ }
+#endif
+
return 0;
}