diff options
author | Jeff Brown <jeffbrown@google.com> | 2011-06-29 20:52:08 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2011-06-29 20:52:08 -0700 |
commit | f6d0f8af1768b3b9b10760bba5583c5e721b64ea (patch) | |
tree | ace0227624b579cf9ed94f1a6329d711c819c037 | |
parent | ed6b39cc7746fabdd0d01c96afcf60b9544913d3 (diff) | |
download | system_core-f6d0f8af1768b3b9b10760bba5583c5e721b64ea.zip system_core-f6d0f8af1768b3b9b10760bba5583c5e721b64ea.tar.gz system_core-f6d0f8af1768b3b9b10760bba5583c5e721b64ea.tar.bz2 |
getevent: Fix a couple of bugs.
Fixed a bug printing the event value when using labels.
Stop trying to print the available codes for EV_SYN because
we cannot actually query them. EVIOCGBIT(0, size) is a special
case that returns the set of events that are supported, and
EV_SYN == 0.
Change-Id: Iea086ba24300ca0815e4814a3bc5ff60756612c2
-rw-r--r-- | toolbox/getevent.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/toolbox/getevent.c b/toolbox/getevent.c index f0a6c24..c0ac94a 100644 --- a/toolbox/getevent.c +++ b/toolbox/getevent.c @@ -82,7 +82,7 @@ static int print_possible_events(int fd, int print_flags) const char *bit_label; printf(" events:\n"); - for(i = 0; i <= EV_MAX; i++) { + for(i = EV_KEY; i <= EV_MAX; i++) { // skip EV_SYN since we cannot query its available codes int count = 0; while(1) { res = ioctl(fd, EVIOCGBIT(i, bits_size), bits); @@ -97,10 +97,6 @@ static int print_possible_events(int fd, int print_flags) } res2 = 0; switch(i) { - case EV_SYN: - label = "SYN"; - bit_labels = syn_labels; - break; case EV_KEY: res2 = ioctl(fd, EVIOCGKEY(res), bits + bits_size); label = "KEY"; @@ -252,7 +248,7 @@ static void print_event(int type, int code, int value, int print_flags) if (value_label) printf(" %-20.20s", value_label); else - printf(" %08x ", code); + printf(" %08x ", value); } else { printf("%04x %04x %08x", type, code, value); } |