[Scummvm-cvs-logs] scummvm master -> 83ad64f9475ee31e12f60d9c3dbe664030f75cae
m-kiewitz
m_kiewitz at users.sourceforge.net
Mon Feb 1 02:18:20 CET 2016
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
83ad64f947 AGI: Keyboard handling change
Commit: 83ad64f9475ee31e12f60d9c3dbe664030f75cae
https://github.com/scummvm/scummvm/commit/83ad64f9475ee31e12f60d9c3dbe664030f75cae
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2016-02-01T02:17:47+01:00
Commit Message:
AGI: Keyboard handling change
It seems the current code causes issues on at least AmigaOS.
Changed current code to the way SCI handled it.
Needs to get investigated in detail.
Added FIXME. Also see engines/sci/event.cpp
Changed paths:
engines/agi/keyboard.cpp
diff --git a/engines/agi/keyboard.cpp b/engines/agi/keyboard.cpp
index 07aec98..9fb837b 100644
--- a/engines/agi/keyboard.cpp
+++ b/engines/agi/keyboard.cpp
@@ -136,6 +136,7 @@ void AgiEngine::processEvents() {
}
key = event.kbd.ascii;
+#if 0
if (event.kbd.keycode >= Common::KEYCODE_KP0 && event.kbd.keycode <= Common::KEYCODE_KP9) {
if (!(event.kbd.flags & Common::KBD_NUM)) {
// HACK: Num-Lock not enabled
@@ -144,8 +145,13 @@ void AgiEngine::processEvents() {
key = 0;
}
}
-
- if ((key) && (key <= 0xFF)) {
+#endif
+ // FIXME: Checking .ascii this way seems to cause issues on at least AmigaOS
+ // See bug #7009. For detailed information see engines/sci/event.cpp, EventManager::getScummVMEvent().
+ // For now we are using the same code as in SCI to make it work.
+ // Needs to get fixed in SDL backend / SDL itself.
+ //if ((key) && (key <= 0xFF)) {
+ if ((key) && (!(event.kbd.keycode & 0xFF00))) {
// No special key, directly accept it
// Is ISO-8859-1, we need lower 128 characters only, which is plain ASCII, so no mapping required
if (Common::isAlpha(key)) {
More information about the Scummvm-git-logs
mailing list