aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStrangerke2012-11-21 23:55:16 +0100
committerStrangerke2012-11-21 23:55:16 +0100
commit42bafc57195e23dc8bee0e323d01454a77af104f (patch)
treeb329b8b0c363c66cd9bdafb134217b39789efc9b
parentcbbc9287881514743860ce7475ec4b62c78b3940 (diff)
downloadscummvm-rg350-42bafc57195e23dc8bee0e323d01454a77af104f.tar.gz
scummvm-rg350-42bafc57195e23dc8bee0e323d01454a77af104f.tar.bz2
scummvm-rg350-42bafc57195e23dc8bee0e323d01454a77af104f.zip
HOPKINS: Fix problem with some keys (A, Z, Q, M on Azerty keyboards)
-rw-r--r--engines/hopkins/events.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/engines/hopkins/events.cpp b/engines/hopkins/events.cpp
index e6dbf347fb..e66ecd3bb8 100644
--- a/engines/hopkins/events.cpp
+++ b/engines/hopkins/events.cpp
@@ -211,19 +211,24 @@ void EventsManager::pollEvents() {
return;
case Common::EVENT_LBUTTONDOWN:
souris_b = 1;
- break;
+ return;
case Common::EVENT_RBUTTONDOWN:
souris_b = 2;
- break;
+ return;
case Common::EVENT_LBUTTONUP:
case Common::EVENT_RBUTTONUP:
souris_b = 0;
return;
-
default:
break;
}
}
+
+ for (char chr = 'A'; chr <= 'Z'; chr++)
+ keyState[chr] = false;
+
+ for (char chr = '0'; chr <= '9'; chr++)
+ keyState[chr] = false;
}
void EventsManager::handleKey(Common::Event &event) {
@@ -271,8 +276,10 @@ int EventsManager::keywin() {
if (keyState['.'])
foundChar = '.';
else if (keyState[8])
+ // BACKSPACE
foundChar = 8;
else if (keyState[13])
+ // ENTER
foundChar = 13;
else if (keyState[' '])
foundChar = ' ';