From 15431a9482cedcfee7f5badc05c436e2c7cc7997 Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Fri, 17 Jul 2009 00:10:10 -0400 Subject: [PATCH] EventHub: Compare name instead of id when excluding event input devices. Signed-off-by: Mike Lockwood --- libs/ui/EventHub.cpp | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/libs/ui/EventHub.cpp b/libs/ui/EventHub.cpp index 402bce2b0624f..59c9476287f01 100644 --- a/libs/ui/EventHub.cpp +++ b/libs/ui/EventHub.cpp @@ -509,6 +509,20 @@ int EventHub::open_device(const char *deviceName) //fprintf(stderr, "could not get device name for %s, %s\n", deviceName, strerror(errno)); name[0] = '\0'; } + + // check to see if the device is on our excluded list + List::iterator iter = mExcludedDevices.begin(); + List::iterator end = mExcludedDevices.end(); + for ( ; iter != end; iter++) { + const char* test = *iter; + if (strcmp(name, test) == 0) { + LOGI("ignoring event id %s driver %s\n", deviceName, test); + close(fd); + fd = -1; + return -1; + } + } + if(ioctl(fd, EVIOCGPHYS(sizeof(location) - 1), &location) < 1) { //fprintf(stderr, "could not get location for %s, %s\n", deviceName, strerror(errno)); location[0] = '\0'; @@ -518,19 +532,6 @@ int EventHub::open_device(const char *deviceName) idstr[0] = '\0'; } - // check to see if the device is on our excluded list - List::iterator iter = mExcludedDevices.begin(); - List::iterator end = mExcludedDevices.end(); - for ( ; iter != end; iter++) { - const char* name = *iter; - if (strcmp(name, idstr) == 0) { - LOGD("ignoring event id %s driver %s\n", deviceName, name); - close(fd); - fd = -1; - return -1; - } - } - int devid = 0; while (devid < mNumDevicesById) { if (mDevicesById[devid].device == NULL) {