-// eDebug("console code %08x\n", *d);
- if (km == eRCInput::kmAll)
- code = *d++;
- else
- {
- if (*d == 27) // escape code
- {
- while (num)
- {
- num--;
- if (*++d != '[')
- break;
- }
- code = -1;
- } else
- code = *d;
- ++d;
-
- if (code < 32) /* control characters */
- code = -1;
- else switch(code)
- {
- case 0x7E: // mute, einfg, entf
- case 0x7F: // backspace
- code = -1;
- default:
- break;
+ code = *d++;
+// eDebug("console code %02x\n", code);
+ if (km == eRCInput::kmAscii) {
+ if (m_escape) {
+ if (code != '[')
+ m_escape = false;
+ continue;