[Scummvm-cvs-logs] SF.net SVN: scummvm: [22818] scummvm/trunk/engines/agi/agi.cpp
sev at users.sourceforge.net
sev at users.sourceforge.net
Thu Jun 1 06:58:03 CEST 2006
Revision: 22818
Author: sev
Date: 2006-06-01 06:57:19 -0700 (Thu, 01 Jun 2006)
ViewCVS: http://svn.sourceforge.net/scummvm/?rev=22818&view=rev
Log Message:
-----------
Fix keyboard input. Now it is possible to use key modifiers freely.
Modified Paths:
--------------
scummvm/trunk/engines/agi/agi.cpp
Modified: scummvm/trunk/engines/agi/agi.cpp
===================================================================
--- scummvm/trunk/engines/agi/agi.cpp 2006-06-01 12:23:08 UTC (rev 22817)
+++ scummvm/trunk/engines/agi/agi.cpp 2006-06-01 13:57:19 UTC (rev 22818)
@@ -122,18 +122,11 @@
break;
}
- if (event.kbd.flags == OSystem::KBD_CTRL) {
+ if (event.kbd.flags & OSystem::KBD_CTRL)
key_control = 1;
- key = 0;
- break;
- } else if (event.kbd.flags == OSystem::KBD_ALT) {
+
+ if (event.kbd.flags & OSystem::KBD_ALT)
key_alt = 1;
- key = 0;
- break;
- } else if (event.kbd.flags == OSystem::KBD_SHIFT) {
- key = 0;
- break;
- }
switch (key = event.kbd.keycode) {
case 256 + 20: // left arrow
@@ -224,12 +217,16 @@
key = KEY_ENTER;
break;
default:
- if (key < 256 && !isalpha(key))
+ if (key < 256 && !isalpha(key)) {
+ key = event.kbd.ascii;
break;
+ }
if (key_control)
key = (key & ~0x20) - 0x40;
else if (key_alt)
key = scancode_table[(key & ~0x20) - 0x41] << 8;
+ else if (event.kbd.flags & OSystem::KBD_SHIFT)
+ key = event.kbd.ascii;
break;
}
if (key)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list