[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