X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fdriver%2Frcinput.cpp;h=2bfeefa1992e53c2a07d55b346f30f91670e15c1;hp=0d6a6fea18d901aa992e856463e86e2435a4bbee;hb=1fc2700e351c0297089925aba6c3a7b890dfb077;hpb=10290cdf0ff75fd32a6a375aa281fa4d71f6472a diff --git a/lib/driver/rcinput.cpp b/lib/driver/rcinput.cpp index 0d6a6fe..2bfeefa 100644 --- a/lib/driver/rcinput.cpp +++ b/lib/driver/rcinput.cpp @@ -11,7 +11,7 @@ #include #include -void eRCDeviceInputDev::handleCode(int rccode) +void eRCDeviceInputDev::handleCode(long rccode) { struct input_event *ev = (struct input_event *)rccode; if (ev->type!=EV_KEY) @@ -44,7 +44,6 @@ void eRCDeviceInputDev::handleCode(int rccode) case KEY_RIGHTSHIFT: case KEY_LEFTALT: case KEY_CAPSLOCK: - case KEY_COMPOSE: case KEY_INSERT: case KEY_DELETE: case KEY_MUTE: @@ -76,7 +75,7 @@ eRCDeviceInputDev::eRCDeviceInputDev(eRCInputEventDriver *driver) { int len=id.length(); int idx=0; - while(idx < len) + while(idx <= len-8) { if (!strncasecmp(&id[idx++], "KEYBOARD", 8)) { @@ -84,8 +83,14 @@ eRCDeviceInputDev::eRCDeviceInputDev(eRCInputEventDriver *driver) break; } } + 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