+
+ if (ev->type!=EV_KEY)
+ return;
+
+ int km = iskeyboard ? input->getKeyboardMode() : eRCInput::kmNone;
+
+// eDebug("keyboard mode %d", km);
+
+ if (km == eRCInput::kmAll)
+ return;
+
+ if (km == eRCInput::kmAscii)
+ {
+// eDebug("filtering.. %d", ev->code);
+ bool filtered = ( ev->code > 0 && ev->code < 61 );
+ switch (ev->code)
+ {
+ case KEY_RESERVED:
+ case KEY_ESC:
+ case KEY_TAB:
+ case KEY_BACKSPACE:
+ case KEY_ENTER:
+ case KEY_LEFTCTRL:
+ case KEY_RIGHTSHIFT:
+ case KEY_LEFTALT:
+ case KEY_CAPSLOCK:
+ case KEY_INSERT:
+ case KEY_DELETE:
+ case KEY_MUTE:
+ filtered=false;
+ default:
+ break;
+ }
+ if (filtered)
+ return;
+// eDebug("passed!");
+ }
+