? action.log
? more_chars.patch
? patch.patch
? gui/Info.plist
? libltdl/COPYING.LIB
? libltdl/Makefile.am
? libltdl/Makefile.in
? libltdl/README
? libltdl/acinclude.m4
? libltdl/aclocal.m4
? libltdl/config-h.in
? libltdl/config.guess
? libltdl/config.sub
? libltdl/configure
? libltdl/configure.ac
? libltdl/install-sh
? libltdl/ltdl.c
? libltdl/ltdl.h
? libltdl/ltmain.sh
? libltdl/missing
Index: gui/gtk.cpp
===================================================================
RCS file: /sources/gnash/gnash/gui/gtk.cpp,v
retrieving revision 1.106
diff -u -r1.106 gtk.cpp
--- gui/gtk.cpp	26 Aug 2007 15:46:32 -0000	1.106
+++ gui/gtk.cpp	11 Sep 2007 12:59:30 -0000
@@ -1378,10 +1378,29 @@
     
     if (key >= GDK_0 && key <= GDK_9)	{
         c = (gnash::key::code) ((key - GDK_0) + gnash::key::_0);
-	} else if (key >= GDK_a && key <= GDK_z) {
+    } else if (key >= GDK_a && key <= GDK_z) {
         c = (gnash::key::code) ((key - GDK_a) + gnash::key::A);
+    } else if (key >= GDK_A && key <= GDK_Z) {			
+        c = (gnash::key::code) ((key - GDK_A) + gnash::key::A); // a-z and A-Z return same AS key codes.
     } else if (key >= GDK_F1 && key <= GDK_F15)	{
         c = (gnash::key::code) ((key - GDK_F1) + gnash::key::F1);
+    } 
+
+    // actionscript key codes for non-standard ASCII characters
+    // correspond to extended ASCII
+    // GDK is in the same order, but occasionally has an
+    // extra character that we have to miss out.
+
+      else if (key >= GDK_nobreakspace && key <= GDK_Idiaeresis) {
+        c = (gnash::key::code) ((key - GDK_nobreakspace) + gnash::key::NOBREAKSPACE); 
+    } else if (key >= GDK_Ntilde && key <= GDK_ETH ) {
+        c = (gnash::key::code) ((key - GDK_Ntilde) + gnash::key::NTILDE);
+    } else if (key >= GDK_Ugrave && key <= GDK_THORN) {
+        c = (gnash::key::code) ((key - GDK_Ugrave) + gnash::key::UGRAVE);
+    } else if (key >= GDK_ssharp && key <= GDK_oslash) {
+        c = (gnash::key::code) ((key - GDK_ssharp) + gnash::key::SSHARPSMALL);
+    } else if (key >= GDK_ugrave && key <= GDK_ydiaeresis) {
+        c = (gnash::key::code) ((key - GDK_ugrave) + gnash::key::UGRAVESMALL);
     } else if (key >= GDK_KP_0 && key <= GDK_KP_9) {
         c = (gnash::key::code) ((key - GDK_KP_0) + gnash::key::KP_0);
     } else {
@@ -1428,6 +1447,27 @@
             { GDK_backslash, gnash::key::BACKSLASH },
             { GDK_bracketright, gnash::key::RIGHT_BRACKET },
             { GDK_quotedbl, gnash::key::QUOTE },
+	    { GDK_colon , gnash::key::COLON },
+	    { GDK_parenright , gnash::key::PAREN_RIGHT },
+	    { GDK_exclam , gnash::key::EXCLAM },
+	    { GDK_at , gnash::key::AT  },
+	    { GDK_numbersign , gnash::key::HASH }, 
+	    { GDK_dollar , gnash::key::DOLLAR }, 
+	    { GDK_percent , gnash::key::PERCENT }, 
+	    { GDK_asciicircum , gnash::key::POWER }, 
+	    { GDK_ampersand , gnash::key::AMPERSAND  },
+	    { GDK_asterisk , gnash::key::ASTERISK }, 
+	    { GDK_parenleft , gnash::key::PAREN_LEFT }, 
+	    { GDK_plus , gnash::key::PLUS }, 
+	    { GDK_less , gnash::key::LESSTHAN },
+	    { GDK_underscore , gnash::key::UNDERSCORE },
+	    { GDK_greater , gnash::key::MORETHAN },
+	    { GDK_asciitilde , gnash::key::TILDE },
+	    { GDK_leftmiddlecurlybrace , gnash::key::CURLYLEFT },
+	    { GDK_bar , gnash::key::PIPE },
+	    { GDK_rightmiddlecurlybrace , gnash::key::CURLYRIGHT },
+
+
             { GDK_VoidSymbol, gnash::key::INVALID }
         };
         
Index: server/edit_text_character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.cpp,v
retrieving revision 1.110
diff -u -r1.110 edit_text_character.cpp
--- server/edit_text_character.cpp	5 Sep 2007 16:47:55 -0000	1.110
+++ server/edit_text_character.cpp	11 Sep 2007 12:59:31 -0000
@@ -1166,6 +1166,12 @@
 			}
 			continue;
 		}
+	
+		if (code == 16)
+		{
+			// Shift. Ignore for now.
+			continue;
+		}
 
 		if (code == '<' && _html )
 		{
Index: server/gnash.h
===================================================================
RCS file: /sources/gnash/gnash/server/gnash.h,v
retrieving revision 1.102
diff -u -r1.102 gnash.h
--- server/gnash.h	16 Aug 2007 10:31:51 -0000	1.102
+++ server/gnash.h	11 Sep 2007 12:59:31 -0000
@@ -481,8 +481,8 @@
 	CLEAR = 12,
 	ENTER,
 	SHIFT = 16,
-	CONTROL,
-	ALT,
+	CONTROL = 17,
+	ALT = 18,
 	CAPSLOCK = 20,
 	ESCAPE = 27,
 	SPACE = 32,
@@ -500,14 +500,46 @@
 	NUM_LOCK = 144,
 	SEMICOLON = 186,
 	EQUALS = 187,
+	COMMA = 188,
 	MINUS = 189,
+	PERIOD = 190,
 	SLASH = 191,
 	BACKTICK = 192,
 	LEFT_BRACKET = 219,
 	BACKSLASH = 220,
 	RIGHT_BRACKET = 221,
+	APOSTROPHE = 222,
+
+	COLON = 186,   // With shift on standard US keyboard
+	PAREN_RIGHT = 48,
+	EXCLAM = 49,
+	AT = 50,
+	HASH = 51,
+	DOLLAR = 52,
+	PERCENT = 53,
+	POWER = 54,
+	AMPERSAND = 55,
+	ASTERISK = 56,
+	PAREN_LEFT = 57,
+	PLUS = 187,
+	LESSTHAN = 188,
+	UNDERSCORE = 189,
+	MORETHAN = 190,
+	TILDE = 192,
+	CURLYLEFT = 219,
+	PIPE = 220,
+	CURLYRIGHT = 221,
 	QUOTE = 222,
 
+	// Extended ASCII
+	NOBREAKSPACE = 160,
+	AGRAVE = 192, 
+	NTILDE = 209,
+	UGRAVE = 217,
+	SSHARPSMALL = 223,
+	UGRAVESMALL = 249,
+	YACUTESMALL = 255, //Last
+
 	KEYCOUNT
 };
 enum modifier
