aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agi/agi.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp
index 4a56fa9f26..43a1768741 100644
--- a/engines/agi/agi.cpp
+++ b/engines/agi/agi.cpp
@@ -220,7 +220,12 @@ void AgiEngine::processEvents() {
break;
default:
// FIXME: This fixes assertions with isalpha below, but it essentially filters
- // out all function keys (control, alt and shift)
+ // out all function keys (control, alt and shift).
+ // Well, actually, it does *not* filter them out (as we still pass the value
+ // in key to keyEnqueue after this switch/case statement); but it means that
+ // we perform no filtering on these input events, which is bad. That is, we
+ // provide keycode in one format, and the AGI core expects some other format...
+ // So maybe we should set key to 0 if key > 255?
if (key > 255)
break;