summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2011-06-29 20:52:08 -0700
committerJeff Brown <jeffbrown@google.com>2011-06-29 20:52:08 -0700
commitf6d0f8af1768b3b9b10760bba5583c5e721b64ea (patch)
treeace0227624b579cf9ed94f1a6329d711c819c037
parented6b39cc7746fabdd0d01c96afcf60b9544913d3 (diff)
downloadsystem_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.c8
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);
}