git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
experiments
[enigma2.git]
/
lib
/
driver
/
rcinput.cpp
diff --git
a/lib/driver/rcinput.cpp
b/lib/driver/rcinput.cpp
index 256d07e35bcbb6338c86db2a6a6b240d3df405f3..2bfeefa1992e53c2a07d55b346f30f91670e15c1 100644
(file)
--- a/
lib/driver/rcinput.cpp
+++ b/
lib/driver/rcinput.cpp
@@
-11,7
+11,7
@@
#include <lib/base/init_num.h>
#include <lib/driver/input_fake.h>
#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)
{
struct input_event *ev = (struct input_event *)rccode;
if (ev->type!=EV_KEY)
@@
-44,6
+44,9
@@
void eRCDeviceInputDev::handleCode(int rccode)
case KEY_RIGHTSHIFT:
case KEY_LEFTALT:
case KEY_CAPSLOCK:
case KEY_RIGHTSHIFT:
case KEY_LEFTALT:
case KEY_CAPSLOCK:
+ case KEY_INSERT:
+ case KEY_DELETE:
+ case KEY_MUTE:
filtered=false;
default:
break;
filtered=false;
default:
break;
@@
-72,7
+75,7
@@
eRCDeviceInputDev::eRCDeviceInputDev(eRCInputEventDriver *driver)
{
int len=id.length();
int idx=0;
{
int len=id.length();
int idx=0;
- while(idx <
len
)
+ while(idx <
= len-8
)
{
if (!strncasecmp(&id[idx++], "KEYBOARD", 8))
{
{
if (!strncasecmp(&id[idx++], "KEYBOARD", 8))
{
@@
-80,8
+83,14
@@
eRCDeviceInputDev::eRCDeviceInputDev(eRCInputEventDriver *driver)
break;
}
}
break;
}
}
+ setExclusive(true);
eDebug("Input device \"%s\" is %sa keyboard.", id.c_str(), iskeyboard ? "" : "not ");
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
}
const char *eRCDeviceInputDev::getDescription() const