diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2012-02-23 14:48:03 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2012-02-23 14:48:03 +1000 |
commit | ca8b12d6517568a8a7f2d5244a786e82216f8b43 (patch) | |
tree | 34c8bef54207f8e3b89d8823bb50427526c4f6e2 | |
parent | 87357825e3e4b4f5f7d054086d55156b345f7750 (diff) |
Add support for input properties
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | evtest.c | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -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; } |