X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fdriver%2Frcinput.cpp;h=f30ba8cbe7f85010d76d8f25df36f276988181fd;hb=a4c7e1b1e411dbbb83a6818d9e6266f352b8e49a;hp=0aada8df877982c5d6c3bdd7a8a1608a8df7d3ee;hpb=e8eb8e9694379204f4b9143ca6b33db48809df7f;p=vuplus_dvbapp diff --git a/lib/driver/rcinput.cpp b/lib/driver/rcinput.cpp index 0aada8d..f30ba8c 100644 --- a/lib/driver/rcinput.cpp +++ b/lib/driver/rcinput.cpp @@ -73,19 +73,16 @@ void eRCDeviceInputDev::handleCode(long rccode) eRCDeviceInputDev::eRCDeviceInputDev(eRCInputEventDriver *driver) :eRCDevice(driver->getDeviceName(), driver), iskeyboard(false) { - int len=id.length(); - int idx=0; - while(idx <= len-8) - { - if (!strncasecmp(&id[idx++], "KEYBOARD", 8)) - { - iskeyboard=true; - break; - } - } - driver->setExclusive(!iskeyboard); + if (strcasestr(id.c_str(), "keyboard") != NULL) + iskeyboard = true; + setExclusive(true); eDebug("Input device \"%s\" is %sa keyboard.", id.c_str(), iskeyboard ? "" : "not "); +} +void eRCDeviceInputDev::setExclusive(bool b) +{ + if (!iskeyboard) + driver->setExclusive(b); } const char *eRCDeviceInputDev::getDescription() const