#include <lib/base/init_num.h>
#include <lib/driver/input_fake.h>
-void eRCDeviceInputDev::handleCode(int rccode)
+void eRCDeviceInputDev::handleCode(long rccode)
{
struct input_event *ev = (struct input_event *)rccode;
if (ev->type!=EV_KEY)
case KEY_RIGHTSHIFT:
case KEY_LEFTALT:
case KEY_CAPSLOCK:
- case KEY_COMPOSE:
case KEY_INSERT:
case KEY_DELETE:
+ case KEY_MUTE:
filtered=false;
default:
break;
eRCDeviceInputDev::eRCDeviceInputDev(eRCInputEventDriver *driver)
:eRCDevice(driver->getDeviceName(), driver), iskeyboard(false)
{
- int len=id.length();
- int idx=0;
- while(idx < len)
- {
- if (!strncasecmp(&id[idx++], "KEYBOARD", 8))
- {
- iskeyboard=true;
- break;
- }
- }
+ 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