diff options
Diffstat (limited to 'engines/agi')
| -rw-r--r-- | engines/agi/agi.cpp | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp index c15428e7c5..03b1615e85 100644 --- a/engines/agi/agi.cpp +++ b/engines/agi/agi.cpp @@ -113,35 +113,43 @@ void AgiEngine::processEvents() { switch (key = event.kbd.keycode) { case 256 + 20: // left arrow case 260: // key pad 4 - key = KEY_LEFT; + if (!event.synthetic) + key = KEY_LEFT; break; case 256 + 19: // right arrow case 262: // key pad 6 - key = KEY_RIGHT; + if (!event.synthetic) + key = KEY_RIGHT; break; case 256 + 17: // up arrow case 264: // key pad 8 - key = KEY_UP; + if (!event.synthetic) + key = KEY_UP; break; case 256 + 18: // down arrow case 258: // key pad 2 - key = KEY_DOWN; + if (!event.synthetic) + key = KEY_DOWN; break; case 256 + 24: // page up case 265: // key pad 9 - key = KEY_UP_RIGHT; + if (!event.synthetic) + key = KEY_UP_RIGHT; break; case 256 + 25: // page down case 259: // key pad 3 - key = KEY_DOWN_RIGHT; + if (!event.synthetic) + key = KEY_DOWN_RIGHT; break; case 256 + 22: // home case 263: // key pad 7 - key = KEY_UP_LEFT; + if (!event.synthetic) + key = KEY_UP_LEFT; break; case 256 + 23: // end case 257: // key pad 1 - key = KEY_DOWN_LEFT; + if (!event.synthetic) + key = KEY_DOWN_LEFT; break; case 261: // key pad 5 key = KEY_STATIONARY; |
