gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/Makefile.am server/as_fu...


From: Benjamin Wolsey
Subject: [Gnash-commit] gnash ChangeLog server/Makefile.am server/as_fu...
Date: Mon, 02 Jun 2008 09:52:55 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Benjamin Wolsey <bwy>   08/06/02 09:52:55

Modified files:
        .              : ChangeLog 
        server         : Makefile.am as_function.cpp 
                         button_character_instance.cpp character.h 
                         edit_text_character.cpp event_id.h gnash.h 
                         movie_root.cpp movie_root.h swf_function.cpp 
                         timers.cpp timers.h 
        server/asobj   : Key.cpp Key.h 
        server/parser  : abc_block.h action_buffer.h 
                         button_character_def.cpp 
        server/swf     : PlaceObject2Tag.cpp 
        server/vm      : action.h 
        gui            : gui.h 
        libnet         : lirc.cpp lirc.h 
Added files:
        server         : GnashKey.h 

Log message:
                * server/GnashKey.h, server/gnash.h: move key::code enums
                  into a separate file, stop undefining some names to see
                  if it still causes problems.
                * server/as_function.cpp, server/button_character_instance.cpp
                  server/character.h, server/edit_text_character.cpp,
                  server/event_id.h, server/movie_root.cpp server/movie_root.h,
                  server/swf_function.cpp, server/asobj/Key.{h,cpp},
                  server/parser/abc_block.h, server/parser/action_buffer.h,
                  server/vm/action.h, server/parser/button_character_def.cpp,
                  server/swf/PlaceObject2Tag.cpp, gui/gui.h, libnet/lirc{h,cpp}:
                  replace gnash.h with GnashKey.h where only key::code is 
required,
                  drop gnash.h where it's not needed. General header and header
                  guard cleanups.
                * server/timers.{cpp,h}: drop c_str() for logging, clean up, 
                  use legal header guard define. 

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6770&r2=1.6771
http://cvs.savannah.gnu.org/viewcvs/gnash/server/Makefile.am?cvsroot=gnash&r1=1.142&r2=1.143
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_function.cpp?cvsroot=gnash&r1=1.62&r2=1.63
http://cvs.savannah.gnu.org/viewcvs/gnash/server/button_character_instance.cpp?cvsroot=gnash&r1=1.104&r2=1.105
http://cvs.savannah.gnu.org/viewcvs/gnash/server/character.h?cvsroot=gnash&r1=1.146&r2=1.147
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.cpp?cvsroot=gnash&r1=1.190&r2=1.191
http://cvs.savannah.gnu.org/viewcvs/gnash/server/event_id.h?cvsroot=gnash&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/gnash/server/gnash.h?cvsroot=gnash&r1=1.124&r2=1.125
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.198&r2=1.199
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.h?cvsroot=gnash&r1=1.132&r2=1.133
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf_function.cpp?cvsroot=gnash&r1=1.54&r2=1.55
http://cvs.savannah.gnu.org/viewcvs/gnash/server/timers.cpp?cvsroot=gnash&r1=1.52&r2=1.53
http://cvs.savannah.gnu.org/viewcvs/gnash/server/timers.h?cvsroot=gnash&r1=1.37&r2=1.38
http://cvs.savannah.gnu.org/viewcvs/gnash/server/GnashKey.h?cvsroot=gnash&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Key.cpp?cvsroot=gnash&r1=1.56&r2=1.57
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Key.h?cvsroot=gnash&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/abc_block.h?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/action_buffer.h?cvsroot=gnash&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/gnash/server/parser/button_character_def.cpp?cvsroot=gnash&r1=1.35&r2=1.36
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/PlaceObject2Tag.cpp?cvsroot=gnash&r1=1.43&r2=1.44
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/action.h?cvsroot=gnash&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/gnash/gui/gui.h?cvsroot=gnash&r1=1.93&r2=1.94
http://cvs.savannah.gnu.org/viewcvs/gnash/libnet/lirc.cpp?cvsroot=gnash&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/gnash/libnet/lirc.h?cvsroot=gnash&r1=1.1&r2=1.2

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6770
retrieving revision 1.6771
diff -u -b -r1.6770 -r1.6771
--- ChangeLog   1 Jun 2008 20:37:27 -0000       1.6770
+++ ChangeLog   2 Jun 2008 09:52:51 -0000       1.6771
@@ -1,3 +1,21 @@
+2008-06-02 Benjamin Wolsey <address@hidden>
+
+       * server/GnashKey.h, server/gnash.h: move key::code enums
+         into a separate file, stop undefining some names to see
+         if it still causes problems.
+       * server/as_function.cpp, server/button_character_instance.cpp
+         server/character.h, server/edit_text_character.cpp,
+         server/event_id.h, server/movie_root.cpp server/movie_root.h,
+         server/swf_function.cpp, server/asobj/Key.{h,cpp},
+         server/parser/abc_block.h, server/parser/action_buffer.h,
+         server/vm/action.h, server/parser/button_character_def.cpp,
+         server/swf/PlaceObject2Tag.cpp, gui/gui.h, libnet/lirc{h,cpp}:
+         replace gnash.h with GnashKey.h where only key::code is required,
+         drop gnash.h where it's not needed. General header and header
+         guard cleanups.
+       * server/timers.{cpp,h}: drop c_str() for logging, clean up, 
+         use legal header guard define. 
+
 2008-06-01 Benjamin Wolsey <address@hidden>
 
        * server/asobj/Key.{cpp,h}: small change, lots of rebuilding:

Index: server/Makefile.am
===================================================================
RCS file: /sources/gnash/gnash/server/Makefile.am,v
retrieving revision 1.142
retrieving revision 1.143
diff -u -b -r1.142 -r1.143
--- server/Makefile.am  30 Apr 2008 12:21:34 -0000      1.142
+++ server/Makefile.am  2 Jun 2008 09:52:52 -0000       1.143
@@ -151,6 +151,7 @@
        fontlib.h \
        generic_character.h \
        gnash.h \
+       GnashKey.h \
        impl.h \
        LoadVariablesThread.h \
        matrix.h \

Index: server/as_function.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_function.cpp,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -b -r1.62 -r1.63
--- server/as_function.cpp      25 May 2008 10:05:20 -0000      1.62
+++ server/as_function.cpp      2 Jun 2008 09:52:52 -0000       1.63
@@ -23,7 +23,6 @@
 #include "builtin_function.h" // for _global.Function
 #include "as_value.h"
 #include "array.h"
-#include "gnash.h"
 #include "fn_call.h"
 #include "GnashException.h"
 #include "VM.h"

Index: server/button_character_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/button_character_instance.cpp,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -b -r1.104 -r1.105
--- server/button_character_instance.cpp        28 May 2008 18:09:03 -0000      
1.104
+++ server/button_character_instance.cpp        2 Jun 2008 09:52:52 -0000       
1.105
@@ -38,6 +38,7 @@
 #include "namedStrings.h"
 #include "Object.h" // for getObjectInterface
 #include "StringPredicates.h"
+#include "GnashKey.h" // key::code
 
 /** \page buttons Buttons and mouse behaviour
 

Index: server/character.h
===================================================================
RCS file: /sources/gnash/gnash/server/character.h,v
retrieving revision 1.146
retrieving revision 1.147
diff -u -b -r1.146 -r1.147
--- server/character.h  28 May 2008 08:37:12 -0000      1.146
+++ server/character.h  2 Jun 2008 09:52:52 -0000       1.147
@@ -50,6 +50,7 @@
   class movie_instance;
   class ExecutableCode;
   class action_buffer;
+  class movie_definition;
 }
 
 namespace gnash {

Index: server/edit_text_character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.cpp,v
retrieving revision 1.190
retrieving revision 1.191
diff -u -b -r1.190 -r1.191
--- server/edit_text_character.cpp      29 May 2008 10:34:55 -0000      1.190
+++ server/edit_text_character.cpp      2 Jun 2008 09:52:53 -0000       1.191
@@ -41,6 +41,7 @@
 #include "AsBroadcaster.h" // for initializing self as a broadcaster
 #include "StringPredicates.h"
 #include "TextFormat.h" // for getTextFormat/setTextFormat
+#include "GnashKey.h" // key::code
 
 #include <algorithm> // std::min
 #include <string>

Index: server/event_id.h
===================================================================
RCS file: /sources/gnash/gnash/server/event_id.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- server/event_id.h   27 Mar 2008 10:50:14 -0000      1.17
+++ server/event_id.h   2 Jun 2008 09:52:53 -0000       1.18
@@ -23,7 +23,7 @@
 #include "string_table.h"
 #include "dsodefs.h"
 
-#include "gnash.h" // for gnash::key namespace
+#include "GnashKey.h" // for gnash::key::code
 
 namespace gnash {
 

Index: server/gnash.h
===================================================================
RCS file: /sources/gnash/gnash/server/gnash.h,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -b -r1.124 -r1.125
--- server/gnash.h      29 May 2008 15:40:44 -0000      1.124
+++ server/gnash.h      2 Jun 2008 09:52:53 -0000       1.125
@@ -28,13 +28,6 @@
 #include <memory> // for auto_ptr
 #include <string>
 
-// FIXME: The local usage of these constants should probably be renamed in this
-// file because they conflict with definitions in the system header files. 
Luckily
-// they are used in files we don't need, so we should be able to safely 
redefine
-// these here.
-#undef INVALID
-#undef ESCAPE
-
 class tu_file;
 
 namespace gnash {
@@ -221,593 +214,6 @@
 ///
 DSOEXPORT void clear();
     
-//
-// texture and render callback handler.
-//
-
-/// Keyboard handling
-namespace key {
-
-enum modifier
-{
-    GNASH_MOD_NONE = 0,
-    GNASH_MOD_SHIFT = 1,
-    GNASH_MOD_CONTROL = 2,
-    GNASH_MOD_ALT = 4
-};
-
-#ifdef _WIN32
-#undef REGISTERED // conflicts with /mingw/include/nb30.h
-#endif
-
-// Gnash character codes. Each code represents a single character on the 
keyboard.
-// The first 128 code are ordered by their correspond ASCII value.
-enum code
-{
-  INVALID = 0,
-  UNKNOWN1,
-  UNKNOWN2,
-  UNKNOWN3,
-  UNKNOWN4,
-  UNKNOWN5,
-  UNKNOWN6,
-  UNKNOWN7,
-  BACKSPACE = 8,
-  TAB = 9,
-  UNKNOWN10,
-  UNKNOWN11,
-  CLEAR = 12,
-  ENTER = 13,
-  UNKNOWN14,
-  UNKNOWN15,
-  SHIFT = 16,
-  CONTROL = 17,
-  ALT = 18,
-  PAUSE = 19,
-  CAPSLOCK = 20,
-  UNKNOWN21,
-  UNKNOWN22,
-  UNKNOWN23,
-  UNKNOWN24,
-  UNKNOWN25,  
-  UNKNOWN26,
-  ESCAPE = 27,
-  UNKNOWN28,
-  UNKNOWN29,
-  UNKNOWN30,
-  UNKNOWN31,
-  SPACE = 32,
-  EXCLAM = 33,
-  DOUBLE_QUOTE = 34,
-  HASH = 35,
-  DOLLAR = 36,
-  PERCENT = 37,
-  AMPERSAND = 38 ,
-  SINGLE_QUOTE  = 39,
-  PAREN_LEFT = 40,
-  PAREN_RIGHT = 41,
-  ASTERISK = 42,
-  PLUS = 43,
-  COMMA = 44,
-  MINUS = 45,
-  PERIOD = 46,
-  SLASH =47,
-
-  _0 = 48,
-  _1,
-  _2,
-  _3,
-  _4,
-  _5,
-  _6,
-  _7,
-  _8,
-  _9 = 57,
-  
-  COLON = 58,
-  SEMICOLON = 59,
-  LESS = 60,
-  EQUALS = 61,
-  MORE = 62,
-  QUESTION = 63,
-  AT = 64,
-  
-  A = 65,
-  B,
-  C,
-  D,
-  E,
-  F,
-  G,
-  H,
-  I,
-  J,
-  K,
-  L,
-  M,
-  N,
-  O,
-  P,
-  Q,
-  R,
-  S,
-  T,
-  U,
-  V,
-  W,
-  X,
-  Y,
-  Z = 90,
-  
-  LEFT_BRACKET =  91,
-  BACKSLASH =92,
-  RIGHT_BRACKET = 93,
-  CARET = 94,
-  UNDERSCORE = 95,
-  BACKQUOTE = 96,
-  
-  a = 97,
-  b,
-  c,
-  d,
-  e,
-  f,
-  g,
-  h,
-  i,
-  j,
-  k,
-  l,
-  m,
-  n,
-  o,
-  p,
-  q,
-  r,
-  s,
-  t,
-  u,
-  v,
-  w,
-  x,
-  y,
-  z = 122,
-  LEFT_BRACE = 123,
-  PIPE = 124,
-  RIGHT_BRACE = 125,
-  ASCIITILDE = 126,
-  DELETEKEY = 127,
-  
-  KP_0 = 128,
-  KP_1,
-  KP_2,
-  KP_3,
-  KP_4,
-  KP_5,
-  KP_6,
-  KP_7,
-  KP_8,
-  KP_9 = 137,
-      
-  F1 = 138,
-  F2,
-  F3,
-  F4,
-  F5,
-  F6,
-  F7,
-  F8,
-  F9,
-  F10,
-  F11,
-  F12,
-  F13,
-  F14,
-  F15 = 152,
-  
-  UP = 153,
-  DOWN = 154,
-  RIGHT = 155,
-  LEFT = 156,
-  INSERT = 157,
-  HOME = 158,
-  END  = 159,
-  PGUP = 160,
-  PGDN = 161,
-
-  KP_ADD = 162,
-  KP_SUBTRACT = 163,
-  KP_MULITPLY = 164,
-  KP_DIVIDE = 165,
-  KP_DECIMAL = 166,
-  KP_ENTER = 167,
-  
-  NUM_LOCK = 168,
-
-// Extended ASCII
-
-  NOBREAKSPACE = 169,
-  EXCLAM_DOWN = 170,
-  CENT = 171,
-  STERLING = 172,
-  CURRENCY = 173,
-  YEN = 174,
-  BROKENBAR = 175,
-  SECTION = 176,
-  DIAERESIS = 177,
-  COPYRIGHT = 178,
-  ORDFEMININE = 179,
-  GUILLEMOTLEFT = 180,
-  NOTSIGN = 181,
-  HYPHEN = 182,
-  REGISTERED = 183,
-  MACRON = 184,
-  DEGREE = 185,
-  PLUSMINUS = 186,
-  TWOSUPERIOR = 187,
-  THREESUPERIOR = 188,
-  ACUTE = 189,
-  MU = 190,
-  PARAGRAPH = 191,
-  PERIODCENTRED = 192,
-  CEDILLA = 193,
-  ONESUPERIOR = 194,
-  MASCULINE = 195,
-  GUILLEMOTRIGHT = 196,
-  ONEQUARTER = 197,
-  ONEHALF = 198,
-  THREEQUARTERS = 199,
-  QUESTIONDOWN = 200,
-  AGRAVE = 201,
-  AACUTE = 202, 
-  ACIRCUMFLEX = 203,
-  ATILDE = 204,
-  ADIAERESIS = 205,
-  ARING = 206,
-  AE = 207,
-  CCEDILLA = 208,
-  EGRAVE = 209,
-  EACUTE = 210,
-  ECIRCUMFLEX = 211,
-  EDIAERESIS = 212,
-  IGRAVE = 213,
-  IACUTE = 214,
-  ICIRCUMFLEX = 215,
-  IDIAERESIS = 216,
-  ETH = 217,
-  NTILDE = 218,
-  OGRAVE = 219,
-  OACUTE = 220,
-  OCIRCUMFLEX = 221,
-  OTILDE = 222,
-  ODIAERESIS = 223,
-  MULTIPLY = 224,
-  OSLASH = 225,
-  UGRAVE = 226,
-  UACUTE = 227,
-  UCIRCUMFLEX = 228,
-  UDIAERESIS = 229,
-  YACUTE = 230,
-  THORN = 231,
-  sSHARP = 232,
-  aGRAVE = 233,
-  aACUTE = 234,
-  aCIRCUMFLEX = 235,
-  aTILDE = 236,
-  aDIAERESIS = 237,
-  aRING = 238,
-  ae = 239,
-  cCEDILLA = 240,
-  eGRAVE = 241,
-  eACUTE = 242,
-  eCIRCUMFLEX = 243,
-  eDIAERESIS = 244,
-  iGRAVE = 245,
-  iACUTE = 246,
-  iCIRCUMFLEX = 247,
-  iDIAERESIS = 248,
-  eth = 249,
-  nTILDE = 250,
-  oGRAVE = 251,
-  oACUTE = 252,
-  oCIRCUMFLEX = 253,
-  oTILDE = 254,
-  oDIAERESIS = 255,
-  DIVISION = 256,
-  oSLASH = 257,
-  uGRAVE = 258,
-  uACUTE = 259,
-  uCIRCUMFLEX = 260,
-  uDIAERESIS = 261,
-  yACUTE = 262,
-  thorn = 263,
-  yDIAERESIS = 264,
-  
-  // TODO: add other function keys and characters not yet known.
-  HELP = 265,
-  KEYCOUNT
-};
-
-enum type
-{
-       SWF,
-       KEY,
-       ASCII,
-       TYPES
-};
-
-const unsigned char codeMap[KEYCOUNT][TYPES] = {
-//{swfKeyCode, keycode, asciiKeyCode}
-  {0,   0,   0}, // INVALID = 0
-  {0,   0,   0}, // UNKNOWN1
-  {0,   0,   0}, // UNKNOWN2
-  {0,   0,   0}, // UNKNOWN3
-  {0,   0,   0}, // UNKNOWN4
-  {0,   0,   0}, // UNKNOWN5
-  {0,   0,   0}, // UNKNOWN6
-  {0,   0,   0}, // UNKNOWN7
-  {8,   8,   8}, // BACKSPACE = 8
-  {18,  9,   9}, // TAB = 9
-  {0,   0,   0}, // UNKNOWN10
-  {0,   0,   0}, // UNKNOWN11
-  {0,  12,   0}, // CLEAR = 12
-  {13, 13,  13}, // ENTER = 13
-  {0,   0,   0}, // UNKNOWN14
-  {0,   0,   0}, // UNKNOWN15
-  {0,  16,   0}, // SHIFT = 16
-  {0,  17,   0}, // CONTROL = 17
-  {0,  18,   0}, // ALT = 18
-  {0,  19,   0}, // PAUSE = 19
-  {0,  20,   0}, // CAPSLOCK = 20
-  {0,   0,   0}, // UNKNOWN21
-  {0,   0,   0}, // UNKNOWN22
-  {0,   0,   0}, // UNKNOWN23
-  {0,   0,   0}, // UNKNOWN24
-  {0,   0,   0}, // UNKNOWN25 
-  {0,   0,   0}, // UNKNOWN26
-  {19, 27,  27}, // ESCAPE = 27
-  {0,   0,   0}, // UNKNOWN28
-  {0,   0,   0}, // UNKNOWN29
-  {0,   0,   0}, // UNKNOWN30
-  {0,   0,   0}, // UNKNOWN31
-  {32, 32,  32}, // SPACE = 32
-  {33, 49,  33}, // EXCLAM = 33
-  {34, 222,  34}, // DOUBLE_QUOTE = 34
-  {35, 51,  35}, // HASH = 35
-  {36, 52,  36}, // DOLLAR = 36
-  {37, 53,  37}, // PERCENT = 37
-  {38, 55,  38}, // AMPERSAND = 38 
-  {39, 222,  39}, // SINGLE_QUOTE  = 39
-  {40, 57,  40}, // PAREN_LEFT = 40
-  {41, 48,  41}, // PAREN_RIGHT = 41
-  {42, 56,  42}, // ASTERISK = 42
-  {43, 187,  43}, // PLUS = 43
-  {44, 188,  44}, // COMMA = 44
-  {45, 189,  45}, // MINUS = 45
-  {46, 190,  46}, // PERIOD = 46
-  {47, 191,  47}, // SLASH = 47
-  {48, 48,  48}, // 0 = 48
-  {49, 49,  49}, // 1
-  {50, 50,  50}, // 2
-  {51, 51,  51}, // 3
-  {52, 52,  52}, // 4
-  {53, 53,  53}, // 5
-  {54, 54,  54}, // 6
-  {55, 55,  55}, // 7
-  {56, 56,  56}, // 8
-  {57, 57,  57}, // 9 = 57
-  {58, 186,  58}, // COLON = 58
-  {59, 186,  59}, // SEMICOLON = 59
-  {60, 188,  60}, // LESS = 60
-  {61, 187,  61}, // EQUALS = 61
-  {62, 190,  62}, // MORE = 62
-  {63, 191,  63}, // QUESTION = 63
-  {64, 50,  64}, // AT = 64
-  {65, 65,  65}, // A = 65
-  {66, 66,  66}, // B
-  {67, 67,  67}, // C
-  {68, 68,  68}, // D
-  {69, 69,  69}, // E
-  {70, 70,  70}, // F
-  {71, 71,  71}, // G
-  {72, 72,  72}, // H
-  {73, 73,  73}, // I
-  {74, 74,  74}, // J
-  {75, 75,  75}, // K
-  {76, 76,  76}, // L
-  {77, 77,  77}, // M
-  {78, 78,  78}, // N
-  {79, 79,  79}, // O
-  {80, 80,  80}, // P
-  {81, 81,  81}, // Q
-  {82, 82,  82}, // R
-  {83, 83,  83}, // S
-  {84, 84,  84}, // T
-  {85, 85,  85}, // U
-  {86, 86,  86}, // V
-  {87, 87,  87}, // W
-  {88, 88,  88}, // X
-  {89, 89,  89}, // Y
-  {90, 90,  90}, // Z = 90
-  {91, 219,  91}, // LEFT_BRACKET = 91
-  {92, 220,  92}, // BACKSLASH = 92
-  {93, 221,  93}, // RIGHT_BRACKET = 93
-  {94, 54,  94}, // CARET = 94
-  {95, 189,  95}, // UNDERSCORE = 95
-  {96, 192,  96}, // BACKQUOTE = 96
-  {97, 65,  97}, // a = 97
-  {98, 66,  98}, // b
-  {99, 67,  99}, // c
-  {100,68, 100}, // d
-  {101,69, 101}, // e
-  {102,70, 102}, // f
-  {103,71, 103}, // g
-  {104,72, 104}, // h
-  {105,73, 105}, // i
-  {106,74, 106}, // j
-  {107,75, 107}, // k
-  {108,76, 108}, // l
-  {109,77, 109}, // m
-  {110,78, 110}, // n
-  {111,79, 111}, // o
-  {112,80, 112}, // p
-  {113,81, 113}, // q
-  {114,82, 114}, // r
-  {115,83, 115}, // s
-  {116,84, 116}, // t
-  {117,85, 117}, // u
-  {118,86, 118}, // v
-  {119,87, 119}, // w
-  {120,88, 120}, // x
-  {121,89, 121}, // y
-  {122,90, 122}, // z = 122
-  {123,219,123}, // LEFT_BRACE = 123
-  {124,220,124}, // PIPE = 124
-  {125,221,125}, // RIGHT_BRACE = 125
-  {126,192,126}, // ASCIITILDE = 126
-  {6,  46, 127}, // DELETE = 127
-  {48, 96,  48}, // KP_0 = 128
-  {49, 97,  49}, // KP_1
-  {50, 98,  50}, // KP_2
-  {51, 99,  51}, // KP_3
-  {52, 100, 52}, // KP_4
-  {53, 101, 53}, // KP_5
-  {54, 102, 54}, // KP_6
-  {55, 103, 55}, // KP_7
-  {56, 104, 56}, // KP_8
-  {57, 105, 57}, // KP_9
-  {0,  112,  0}, // F1 = 138
-  {0,  113,  0}, // F2
-  {0,  114,  0}, // F3
-  {0,  115,  0}, // F4
-  {0,  116,  0}, // F5
-  {0,  117,  0}, // F6
-  {0,  118,  0}, // F7
-  {0,  119,  0}, // F8
-  {0,  120,  0}, // F9
-  {0,  121,  0}, // F10
-  {0,  122,  0}, // F11
-  {0,  123,  0}, // F12
-  {0,  124,  0}, // F13
-  {0,  125,  0}, // F14
-  {0,  126,  0}, // F15 = 152
-  {14, 38,   0}, // UP = 153
-  {15, 40,   0}, // DOWN = 154
-  {2,  39,   0}, // RIGHT = 155
-  {1,  37,   0}, // LEFT = 156
-  {5,  45,   0}, // INSERT = 157
-  {3,  36,   0}, // HOME = 158
-  {4,  35,   0}, // END = 159
-  {16, 33,   0}, // PAGEUP = 160
-  {17, 34,   0}, // PAGEDOWN = 161
-  {0, 107,  43}, // KP_ADD = 162
-  {0, 109,  45}, // KP_SUBTRACT = 163
-  {0, 106,  42}, // KP_MULITPLY = 164
-  {0, 111,  47}, // KP_DIVIDE = 165
-  {0, 110,  46}, // KP_DECIMAL = 166
-  {13, 13,  13}, // KP_ENTER = 167
-  {0, 144,   0}, // NUMLOCK = 168
-  {0, 160,   160}, // NOBREAKSPACE = 169
-  {0, 161,   161}, //   EXCLAM_DOWN = 170
-  {0, 162,   162}, //   CENT = 171
-  {0, 163,   163}, //   STERLING = 172
-  {0, 164,   164}, //   CURRENCY = 173
-  {0, 165,   165}, //   YEN = 174
-  {0, 166,   166}, //   BROKENBAR = 175
-  {0, 167,   167}, //   SECTION = 176
-  {0, 168,   168}, //   DIAERESIS = 177
-  {0, 169,   169}, //   COPYRIGHT = 178
-  {0, 170,   170}, //   ORDFEMININE = 179
-  {0, 171,   171}, //   GUILLEMOTLEFT = 180
-  {0, 172,   172}, //   NOTSIGN = 181
-  {0, 173,   173}, //   HYPHEN = 182
-  {0, 174,   174}, //   REGISTERED = 183
-  {0, 175,   175}, //   MACRON = 184
-  {0, 176,   176}, //   DEGREE = 185
-  {0, 177,   177}, //   PLUSMINUS = 186
-  {0, 178,   178}, //   TWOSUPERIOR = 187
-  {0, 179,   179}, //   THREESUPERIOR = 188
-  {0, 180,   180}, //   ACUTE = 189
-  {0, 181,   181}, //   MU = 190
-  {0, 182,   182}, //   PARAGRAPH = 191
-  {0, 183,   183}, //   PERIODCENTRED = 192
-  {0, 184,   184}, //   CEDILLA = 193
-  {0, 185,   185}, //   ONESUPERIOR = 194
-  {0, 186,   186}, //   MASCULINE = 195
-  {0, 187,   187}, //   GUILLEMOTRIGHT = 196
-  {0, 188,   188}, //   ONEQUARTER = 197
-  {0, 189,   189}, //   ONEHALF = 198
-  {0, 190,   190}, //   THREEQUARTERS = 199
-  {0, 191,   191}, //   QUESTIONDOWN = 200
-  {0, 192,   192}, //   AGRAVE = 201
-  {0, 193,   193}, //   AACUTE = 202
-  {0, 194,   194}, //   ACIRCUMFLEX = 203
-  {0, 195,   195}, //   ATILDE = 204
-  {0, 196,   196}, //   ADIAERISIS = 205
-  {0, 197,   197}, //   ARING = 206
-  {0, 198,   198}, //   AE = 207
-  {0, 199,   199}, //   CCEDILLA = 208
-  {0, 200,   200}, //   EGRAVE = 209
-  {0, 201,   201}, //   EACUTE = 210
-  {0, 202,   202}, //   ECIRCUMFLEX = 211
-  {0, 203,   203}, //   EDIAERESIS = 212
-  {0, 204,   204}, //   IGRAVE = 213
-  {0, 205,   205}, //   IACUTE = 214
-  {0, 206,   206}, //   ICIRCUMFLEX = 215
-  {0, 207,   207}, //   IDIAERESIS = 216
-  {0, 208,   208}, //   ETH = 217
-  {0, 209,   209}, //   NTILDE = 218
-  {0, 210,   210}, //   OGRAVE = 219
-  {0, 211,   211}, //   OACUTE = 220
-  {0, 212,   212}, //   OCIRCUMFLEX = 221
-  {0, 213,   213}, //   OTILDE = 222
-  {0, 214,   214}, //   ODIAERESIS = 223
-  {0, 215,   215}, //   MULTIPLY = 224
-  {0, 216,   116}, //   OSLASH = 225
-  {0, 217,   217}, //   UGRAVE = 226
-  {0, 218,   218}, //   UACTUE = 227
-  {0, 219,   219}, //   UCIRCUMFLEX = 228
-  {0, 220,   220}, //   UDIAERESIS = 229
-  {0, 221,   221}, //   ZACUTE = 230
-  {0, 222,   222}, //   THORN = 231
-  {0, 223,   223}, //   sSHARP = 232
-  {0, 224,   224}, //   aTILDE = 233
-  {0, 225,   225}, //   aACUTE = 234
-  {0, 226,   226}, //   aCIRCUMFLEX = 235
-  {0, 227,   227}, //   aTILDE = 236
-  {0, 228,   228}, //   aDIAERESIS = 237
-  {0, 229,   229}, //   aRING = 238
-  {0, 230,   230}, //   ae = 239
-  {0, 231,   231}, //   cCEDILLA = 240
-  {0, 232,   232}, //   eGRAVE = 241
-  {0, 233,   233}, //   eACUTE = 242
-  {0, 234,   234}, //   eCIRCUMFLEX = 243
-  {0, 235,   235}, //   eDIAERESIS = 244
-  {0, 236,   236}, //   iGRAVE = 245
-  {0, 237,   237}, //   iACUTE = 246
-  {0, 238,   238}, //   iCIRCUMFLEX = 247
-  {0, 239,   239}, //   iDIAERESIS = 248
-  {0, 240,   240}, //   eth = 249
-  {0, 241,   241}, //   nTILDE = 250
-  {0, 242,   242}, //   oTILDE = 251
-  {0, 243,   243}, //   oACUTE = 252
-  {0, 244,   244}, //   oCIRCUMFLEX = 253
-  {0, 245,   245}, //   oTILDE = 254
-  {0, 246,   246}, //   oDIAERESIS = 255
-  {0, 247,   247}, //   DIVISION = 256
-  {0, 248,   248}, //   oSLASH = 257
-  {0, 249,   249}, //   uGRAVE = 258
-  {0, 250,   250}, //   uACUTE = 259
-  {0, 251,   251}, //   uCIRCUMFLEX = 260 
-  {0, 252,   252}, //   uDIAERESIS = 261
-  {0, 253,   253}, //   yACUTE = 262
-  {0, 254,   254}, //   thorn = 263
-  {0, 255,   255}, //   yDIAERESIS = 264
-  {0, 0,     0},   //   HELP (untested)
-};
-
-}   // end namespace key
-
 }   // namespace gnash
 
 #endif // GNASH_H

Index: server/movie_root.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/movie_root.cpp,v
retrieving revision 1.198
retrieving revision 1.199
diff -u -b -r1.198 -r1.199
--- server/movie_root.cpp       29 May 2008 12:53:44 -0000      1.198
+++ server/movie_root.cpp       2 Jun 2008 09:52:53 -0000       1.199
@@ -32,6 +32,7 @@
 #include "GnashException.h"
 #include "sound_handler.h"
 #include "timers.h" // for Timer use
+#include "GnashKey.h" // key::code
 
 #include <utility>
 #include <iostream>

Index: server/movie_root.h
===================================================================
RCS file: /sources/gnash/gnash/server/movie_root.h,v
retrieving revision 1.132
retrieving revision 1.133
diff -u -b -r1.132 -r1.133
--- server/movie_root.h 29 May 2008 12:53:44 -0000      1.132
+++ server/movie_root.h 2 Jun 2008 09:52:53 -0000       1.133
@@ -69,7 +69,6 @@
 #include "gnashconfig.h" //USE_SWFTREE
 #endif
 
-
 #include "smart_ptr.h" // GNASH_USE_GC
 #include "dsodefs.h" // DSOEXPORT
 #include "mouse_button_state.h" // for composition
@@ -78,6 +77,7 @@
 #include "asobj/Key.h"
 #include "smart_ptr.h" // for memory management
 #include "URL.h" // for loadMovie
+#include "GnashKey.h" // key::code
 
 #ifdef USE_SWFTREE
 # include "tree.hh"

Index: server/swf_function.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf_function.cpp,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -b -r1.54 -r1.55
--- server/swf_function.cpp     21 May 2008 16:08:23 -0000      1.54
+++ server/swf_function.cpp     2 Jun 2008 09:52:53 -0000       1.55
@@ -15,14 +15,9 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-#ifdef HAVE_CONFIG_H
-#include "gnashconfig.h"
-#endif
-
 #include "log.h"
 #include "swf_function.h"
 #include "array.h"
-#include "gnash.h"
 #include "fn_call.h"
 #include "sprite_instance.h"
 #include "action_buffer.h"

Index: server/timers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/timers.cpp,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -b -r1.52 -r1.53
--- server/timers.cpp   25 May 2008 10:05:21 -0000      1.52
+++ server/timers.cpp   2 Jun 2008 09:52:53 -0000       1.53
@@ -49,7 +49,7 @@
 
   void
   Timer::setInterval(as_function& method, unsigned long ms, 
boost::intrusive_ptr<as_object> this_ptr, 
-                 std::vector<as_value>& args, bool runOnce)
+                 ArgsContainer& args, bool runOnce)
   {
     _function = &method;
     _interval = ms; // keep as milliseconds
@@ -202,7 +202,7 @@
 timer_setinterval(const fn_call& fn)
 {
        //std::stringstream ss; fn.dump_args(ss);
-       //log_debug("setInterval(%s)", ss.str().c_str());
+       //log_debug("setInterval(%s)", ss.str());
 
        //log_debug("%s: args=%d", __FUNCTION__, fn.nargs);
     
@@ -212,7 +212,7 @@
                        std::stringstream ss; fn.dump_args(ss);
                        log_aserror("Invalid call to setInterval(%s) "
                                "- need at least 2 arguments",
-                               ss.str().c_str());
+                               ss.str());
                );
                return as_value();
        }
@@ -226,7 +226,7 @@
                        std::stringstream ss; fn.dump_args(ss);
                        log_aserror("Invalid call to setInterval(%s) "
                                "- first argument is not an object or function",
-                               ss.str().c_str());
+                               ss.str());
                );
                return as_value();
        }
@@ -248,7 +248,7 @@
                        std::stringstream ss; fn.dump_args(ss);
                        log_aserror("Invalid call to setInterval(%s) "
                                "- missing timeout argument",
-                               ss.str().c_str());
+                               ss.str());
                );
                return as_value();
        }
@@ -286,7 +286,7 @@
 timer_settimeout(const fn_call& fn)
 {
        //std::stringstream ss; fn.dump_args(ss);
-       //log_debug("setTimeout(%s)", ss.str().c_str());
+       //log_debug("setTimeout(%s)", ss.str());
 
        //log_debug("%s: args=%d", __FUNCTION__, fn.nargs);
     
@@ -296,7 +296,7 @@
                        std::stringstream ss; fn.dump_args(ss);
                        log_aserror("Invalid call to setTimeout(%s) "
                                "- need at least 2 arguments",
-                               ss.str().c_str());
+                               ss.str());
                );
                return as_value();
        }
@@ -310,7 +310,7 @@
                        std::stringstream ss; fn.dump_args(ss);
                        log_aserror("Invalid call to setInterval(%s) "
                                "- first argument is not an object or function",
-                               ss.str().c_str());
+                               ss.str());
                );
                return as_value();
        }
@@ -332,7 +332,7 @@
                        std::stringstream ss; fn.dump_args(ss);
                        log_aserror("Invalid call to setTimeout(%s) "
                                "- missing timeout argument",
-                               ss.str().c_str());
+                               ss.str());
                );
                return as_value();
        }

Index: server/timers.h
===================================================================
RCS file: /sources/gnash/gnash/server/timers.h,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- server/timers.h     27 Mar 2008 10:50:15 -0000      1.37
+++ server/timers.h     2 Jun 2008 09:52:54 -0000       1.38
@@ -15,21 +15,15 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-#ifndef __TIMERS_H__
-#define __TIMERS_H__
-
-#ifdef HAVE_CONFIG_H
-#include "gnashconfig.h"
-#endif
+#ifndef HAVE_TIMERS_H
+#define HAVE_TIMERS_H
 
 #include "dsodefs.h"
 
 #include "as_value.h" // for struct variable composition
 #include "as_object.h" // for inheritance
 #include "as_function.h" // for visibility of destructor by intrusive_ptr
-#include "smart_ptr.h"
-
-//#include "tu_timer.h"
+#include "smart_ptr.h" // GNASH_USE_GC
 
 #include <string>
 #include <vector> 
@@ -247,5 +241,5 @@
   
 } // end of namespace gnash
 
-  // __TIMERS_H_
+  // HAVE_TIMERS_H
 #endif

Index: server/asobj/Key.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Key.cpp,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -b -r1.56 -r1.57
--- server/asobj/Key.cpp        1 Jun 2008 20:37:29 -0000       1.56
+++ server/asobj/Key.cpp        2 Jun 2008 09:52:54 -0000       1.57
@@ -28,6 +28,7 @@
 #include "Object.h" // for getObjectInterface()
 #include "AsBroadcaster.h" // for initializing self as a broadcaster
 #include "namedStrings.h"
+#include "GnashKey.h" // key::code
 
 namespace gnash {
 

Index: server/asobj/Key.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Key.h,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- server/asobj/Key.h  1 Jun 2008 20:37:29 -0000       1.39
+++ server/asobj/Key.h  2 Jun 2008 09:52:54 -0000       1.40
@@ -24,16 +24,10 @@
 #include "as_object.h" // for inheritance
 #include "fn_call.h"
 #include "event_id.h"
-#include "gnash.h" // for gnash::key namespace
+#include "GnashKey.h" // for key::code
 #include "dsodefs.h"
 #include <bitset>
 
-#ifdef WIN32
-#   undef _CONTROL
-#   undef _SPACE
-#   undef _UP
-#endif
-
 namespace gnash {
 
 /************************************************************************

Index: server/parser/abc_block.h
===================================================================
RCS file: /sources/gnash/gnash/server/parser/abc_block.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/parser/abc_block.h   21 Jan 2008 20:56:00 -0000      1.10
+++ server/parser/abc_block.h   2 Jun 2008 09:52:54 -0000       1.11
@@ -25,7 +25,6 @@
 #include <string>
 #include <boost/scoped_array.hpp>
 
-#include "gnash.h"
 #include "stream.h"
 #include "string_table.h"
 #include "asClass.h"

Index: server/parser/action_buffer.h
===================================================================
RCS file: /sources/gnash/gnash/server/parser/action_buffer.h,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- server/parser/action_buffer.h       7 May 2008 09:41:14 -0000       1.28
+++ server/parser/action_buffer.h       2 Jun 2008 09:52:54 -0000       1.29
@@ -18,12 +18,6 @@
 #ifndef GNASH_ACTION_BUFFER_H
 #define GNASH_ACTION_BUFFER_H
 
-#ifdef HAVE_CONFIG_H
-#include "gnashconfig.h"
-#endif
-
-
-#include "gnash.h"
 #include "types.h"
 
 #include <boost/cstdint.hpp> // for boost::uint8_t

Index: server/parser/button_character_def.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/parser/button_character_def.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- server/parser/button_character_def.cpp      16 May 2008 07:22:33 -0000      
1.35
+++ server/parser/button_character_def.cpp      2 Jun 2008 09:52:54 -0000       
1.36
@@ -28,7 +28,7 @@
 #include "movie_definition.h"
 #include "action_buffer.h"
 #include "filter_factory.h"
-#include "gnash.h" // for gnash::key::codeMap
+#include "GnashKey.h" // for gnash::key::codeMap
 
 namespace gnash {
 

Index: server/swf/PlaceObject2Tag.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/PlaceObject2Tag.cpp,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -b -r1.43 -r1.44
--- server/swf/PlaceObject2Tag.cpp      8 May 2008 18:19:24 -0000       1.43
+++ server/swf/PlaceObject2Tag.cpp      2 Jun 2008 09:52:54 -0000       1.44
@@ -17,11 +17,6 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-
-#ifdef HAVE_CONFIG_H
-#include "gnashconfig.h"
-#endif
-
 #include "PlaceObject2Tag.h"
 #include "character.h"
 #include "sprite_instance.h"

Index: server/vm/action.h
===================================================================
RCS file: /sources/gnash/gnash/server/vm/action.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- server/vm/action.h  24 May 2008 13:41:10 -0000      1.17
+++ server/vm/action.h  2 Jun 2008 09:52:54 -0000       1.18
@@ -23,14 +23,10 @@
 
 #include "dsodefs.h" // for DSOEXPORT
 
-#include "gnash.h"
 #include "as_object.h"
 #include "types.h"
 #include "smart_ptr.h"
 
-#include <cwchar>
-
-
 namespace gnash {
        class sprite_instance;
        class as_environment;

Index: gui/gui.h
===================================================================
RCS file: /sources/gnash/gnash/gui/gui.h,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -b -r1.93 -r1.94
--- gui/gui.h   1 Jun 2008 20:37:29 -0000       1.93
+++ gui/gui.h   2 Jun 2008 09:52:55 -0000       1.94
@@ -24,7 +24,7 @@
 
 #include "rect.h"  // for composition
 #include "snappingrange.h"  // for InvalidatedRanges
-#include "gnash.h" // for gnash::key::code type
+#include "GnashKey.h" // for gnash::key::code type
 #include "smart_ptr.h"
 
 #ifdef USE_SWFTREE
@@ -65,6 +65,7 @@
 {
     class render_handler;
     class movie_root;
+    class movie_definition;
 }
 
 namespace gnash

Index: libnet/lirc.cpp
===================================================================
RCS file: /sources/gnash/gnash/libnet/lirc.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- libnet/lirc.cpp     28 Mar 2008 21:30:26 -0000      1.1
+++ libnet/lirc.cpp     2 Jun 2008 09:52:55 -0000       1.2
@@ -21,9 +21,9 @@
 #endif
 
 #include <string>
-
 #include <iostream>
-#include "gnash.h"
+
+#include "GnashKey.h" // key::code
 #include "network.h"
 #include "log.h"
 #include "lirc.h"
@@ -80,7 +80,7 @@
 Lirc::getKey()
 {
 //    GNASH_REPORT_FUNCTION;
-    key::code key;
+    key::code key = gnash::key::INVALID;
     
     byte_t buf[LIRC_PACKET_SIZE];
     memset(buf, 0, LIRC_PACKET_SIZE);

Index: libnet/lirc.h
===================================================================
RCS file: /sources/gnash/gnash/libnet/lirc.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- libnet/lirc.h       28 Mar 2008 21:30:26 -0000      1.1
+++ libnet/lirc.h       2 Jun 2008 09:52:55 -0000       1.2
@@ -15,10 +15,10 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-#ifndef __LIRC_H__
-#define __LIRC_H__
+#ifndef GNASH_LIRC_H
+#define GNASH_LIRC_H
 
-#include "gnash.h"
+#include "GnashKey.h"
 #include "network.h"
 
 namespace gnash {
@@ -42,7 +42,7 @@
 
 } // end of gnash namespace
 
-// __LIRC_H__
+// GNASH_LIRC_H
 #endif
 
 // Local Variables:

Index: server/GnashKey.h
===================================================================
RCS file: server/GnashKey.h
diff -N server/GnashKey.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ server/GnashKey.h   2 Jun 2008 09:52:52 -0000       1.1
@@ -0,0 +1,604 @@
+// GnashKey.h: map sets of keycodes to each other.
+// 
+//   Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+// 
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+// 
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+// 
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+#ifndef GNASHKEY_H
+#define GNASHKEY_H
+
+namespace gnash {
+
+namespace key {
+
+enum modifier
+{
+    GNASH_MOD_NONE = 0,
+    GNASH_MOD_SHIFT = 1,
+    GNASH_MOD_CONTROL = 2,
+    GNASH_MOD_ALT = 4
+};
+
+// Gnash character codes. Each code represents a single character on the 
keyboard.
+// The first 128 code are ordered by their correspond ASCII value.
+enum code
+{
+  INVALID = 0,
+  UNKNOWN1,
+  UNKNOWN2,
+  UNKNOWN3,
+  UNKNOWN4,
+  UNKNOWN5,
+  UNKNOWN6,
+  UNKNOWN7,
+  BACKSPACE = 8,
+  TAB = 9,
+  UNKNOWN10,
+  UNKNOWN11,
+  CLEAR = 12,
+  ENTER = 13,
+  UNKNOWN14,
+  UNKNOWN15,
+  SHIFT = 16,
+  CONTROL = 17,
+  ALT = 18,
+  PAUSE = 19,
+  CAPSLOCK = 20,
+  UNKNOWN21,
+  UNKNOWN22,
+  UNKNOWN23,
+  UNKNOWN24,
+  UNKNOWN25,  
+  UNKNOWN26,
+  ESCAPE = 27,
+  UNKNOWN28,
+  UNKNOWN29,
+  UNKNOWN30,
+  UNKNOWN31,
+  SPACE = 32,
+  EXCLAM = 33,
+  DOUBLE_QUOTE = 34,
+  HASH = 35,
+  DOLLAR = 36,
+  PERCENT = 37,
+  AMPERSAND = 38 ,
+  SINGLE_QUOTE  = 39,
+  PAREN_LEFT = 40,
+  PAREN_RIGHT = 41,
+  ASTERISK = 42,
+  PLUS = 43,
+  COMMA = 44,
+  MINUS = 45,
+  PERIOD = 46,
+  SLASH =47,
+
+  _0 = 48,
+  _1,
+  _2,
+  _3,
+  _4,
+  _5,
+  _6,
+  _7,
+  _8,
+  _9 = 57,
+  
+  COLON = 58,
+  SEMICOLON = 59,
+  LESS = 60,
+  EQUALS = 61,
+  MORE = 62,
+  QUESTION = 63,
+  AT = 64,
+  
+  A = 65,
+  B,
+  C,
+  D,
+  E,
+  F,
+  G,
+  H,
+  I,
+  J,
+  K,
+  L,
+  M,
+  N,
+  O,
+  P,
+  Q,
+  R,
+  S,
+  T,
+  U,
+  V,
+  W,
+  X,
+  Y,
+  Z = 90,
+  
+  LEFT_BRACKET =  91,
+  BACKSLASH =92,
+  RIGHT_BRACKET = 93,
+  CARET = 94,
+  UNDERSCORE = 95,
+  BACKQUOTE = 96,
+  
+  a = 97,
+  b,
+  c,
+  d,
+  e,
+  f,
+  g,
+  h,
+  i,
+  j,
+  k,
+  l,
+  m,
+  n,
+  o,
+  p,
+  q,
+  r,
+  s,
+  t,
+  u,
+  v,
+  w,
+  x,
+  y,
+  z = 122,
+  LEFT_BRACE = 123,
+  PIPE = 124,
+  RIGHT_BRACE = 125,
+  ASCIITILDE = 126,
+  DELETEKEY = 127,
+  
+  KP_0 = 128,
+  KP_1,
+  KP_2,
+  KP_3,
+  KP_4,
+  KP_5,
+  KP_6,
+  KP_7,
+  KP_8,
+  KP_9 = 137,
+      
+  F1 = 138,
+  F2,
+  F3,
+  F4,
+  F5,
+  F6,
+  F7,
+  F8,
+  F9,
+  F10,
+  F11,
+  F12,
+  F13,
+  F14,
+  F15 = 152,
+  
+  UP = 153,
+  DOWN = 154,
+  RIGHT = 155,
+  LEFT = 156,
+  INSERT = 157,
+  HOME = 158,
+  END  = 159,
+  PGUP = 160,
+  PGDN = 161,
+
+  KP_ADD = 162,
+  KP_SUBTRACT = 163,
+  KP_MULITPLY = 164,
+  KP_DIVIDE = 165,
+  KP_DECIMAL = 166,
+  KP_ENTER = 167,
+  
+  NUM_LOCK = 168,
+
+// Extended ASCII
+
+  NOBREAKSPACE = 169,
+  EXCLAM_DOWN = 170,
+  CENT = 171,
+  STERLING = 172,
+  CURRENCY = 173,
+  YEN = 174,
+  BROKENBAR = 175,
+  SECTION = 176,
+  DIAERESIS = 177,
+  COPYRIGHT = 178,
+  ORDFEMININE = 179,
+  GUILLEMOTLEFT = 180,
+  NOTSIGN = 181,
+  HYPHEN = 182,
+  REGISTERED = 183,
+  MACRON = 184,
+  DEGREE = 185,
+  PLUSMINUS = 186,
+  TWOSUPERIOR = 187,
+  THREESUPERIOR = 188,
+  ACUTE = 189,
+  MU = 190,
+  PARAGRAPH = 191,
+  PERIODCENTRED = 192,
+  CEDILLA = 193,
+  ONESUPERIOR = 194,
+  MASCULINE = 195,
+  GUILLEMOTRIGHT = 196,
+  ONEQUARTER = 197,
+  ONEHALF = 198,
+  THREEQUARTERS = 199,
+  QUESTIONDOWN = 200,
+  AGRAVE = 201,
+  AACUTE = 202, 
+  ACIRCUMFLEX = 203,
+  ATILDE = 204,
+  ADIAERESIS = 205,
+  ARING = 206,
+  AE = 207,
+  CCEDILLA = 208,
+  EGRAVE = 209,
+  EACUTE = 210,
+  ECIRCUMFLEX = 211,
+  EDIAERESIS = 212,
+  IGRAVE = 213,
+  IACUTE = 214,
+  ICIRCUMFLEX = 215,
+  IDIAERESIS = 216,
+  ETH = 217,
+  NTILDE = 218,
+  OGRAVE = 219,
+  OACUTE = 220,
+  OCIRCUMFLEX = 221,
+  OTILDE = 222,
+  ODIAERESIS = 223,
+  MULTIPLY = 224,
+  OSLASH = 225,
+  UGRAVE = 226,
+  UACUTE = 227,
+  UCIRCUMFLEX = 228,
+  UDIAERESIS = 229,
+  YACUTE = 230,
+  THORN = 231,
+  sSHARP = 232,
+  aGRAVE = 233,
+  aACUTE = 234,
+  aCIRCUMFLEX = 235,
+  aTILDE = 236,
+  aDIAERESIS = 237,
+  aRING = 238,
+  ae = 239,
+  cCEDILLA = 240,
+  eGRAVE = 241,
+  eACUTE = 242,
+  eCIRCUMFLEX = 243,
+  eDIAERESIS = 244,
+  iGRAVE = 245,
+  iACUTE = 246,
+  iCIRCUMFLEX = 247,
+  iDIAERESIS = 248,
+  eth = 249,
+  nTILDE = 250,
+  oGRAVE = 251,
+  oACUTE = 252,
+  oCIRCUMFLEX = 253,
+  oTILDE = 254,
+  oDIAERESIS = 255,
+  DIVISION = 256,
+  oSLASH = 257,
+  uGRAVE = 258,
+  uACUTE = 259,
+  uCIRCUMFLEX = 260,
+  uDIAERESIS = 261,
+  yACUTE = 262,
+  thorn = 263,
+  yDIAERESIS = 264,
+  
+  // TODO: add other function keys and characters not yet known.
+  HELP = 265,
+  KEYCOUNT
+};
+
+enum type
+{
+       SWF,
+       KEY,
+       ASCII,
+       TYPES
+};
+
+const unsigned char codeMap[KEYCOUNT][TYPES] = {
+//{swfKeyCode, keycode, asciiKeyCode}
+  {0,   0,   0}, // INVALID = 0
+  {0,   0,   0}, // UNKNOWN1
+  {0,   0,   0}, // UNKNOWN2
+  {0,   0,   0}, // UNKNOWN3
+  {0,   0,   0}, // UNKNOWN4
+  {0,   0,   0}, // UNKNOWN5
+  {0,   0,   0}, // UNKNOWN6
+  {0,   0,   0}, // UNKNOWN7
+  {8,   8,   8}, // BACKSPACE = 8
+  {18,  9,   9}, // TAB = 9
+  {0,   0,   0}, // UNKNOWN10
+  {0,   0,   0}, // UNKNOWN11
+  {0,  12,   0}, // CLEAR = 12
+  {13, 13,  13}, // ENTER = 13
+  {0,   0,   0}, // UNKNOWN14
+  {0,   0,   0}, // UNKNOWN15
+  {0,  16,   0}, // SHIFT = 16
+  {0,  17,   0}, // CONTROL = 17
+  {0,  18,   0}, // ALT = 18
+  {0,  19,   0}, // PAUSE = 19
+  {0,  20,   0}, // CAPSLOCK = 20
+  {0,   0,   0}, // UNKNOWN21
+  {0,   0,   0}, // UNKNOWN22
+  {0,   0,   0}, // UNKNOWN23
+  {0,   0,   0}, // UNKNOWN24
+  {0,   0,   0}, // UNKNOWN25 
+  {0,   0,   0}, // UNKNOWN26
+  {19, 27,  27}, // ESCAPE = 27
+  {0,   0,   0}, // UNKNOWN28
+  {0,   0,   0}, // UNKNOWN29
+  {0,   0,   0}, // UNKNOWN30
+  {0,   0,   0}, // UNKNOWN31
+  {32, 32,  32}, // SPACE = 32
+  {33, 49,  33}, // EXCLAM = 33
+  {34, 222,  34}, // DOUBLE_QUOTE = 34
+  {35, 51,  35}, // HASH = 35
+  {36, 52,  36}, // DOLLAR = 36
+  {37, 53,  37}, // PERCENT = 37
+  {38, 55,  38}, // AMPERSAND = 38 
+  {39, 222,  39}, // SINGLE_QUOTE  = 39
+  {40, 57,  40}, // PAREN_LEFT = 40
+  {41, 48,  41}, // PAREN_RIGHT = 41
+  {42, 56,  42}, // ASTERISK = 42
+  {43, 187,  43}, // PLUS = 43
+  {44, 188,  44}, // COMMA = 44
+  {45, 189,  45}, // MINUS = 45
+  {46, 190,  46}, // PERIOD = 46
+  {47, 191,  47}, // SLASH = 47
+  {48, 48,  48}, // 0 = 48
+  {49, 49,  49}, // 1
+  {50, 50,  50}, // 2
+  {51, 51,  51}, // 3
+  {52, 52,  52}, // 4
+  {53, 53,  53}, // 5
+  {54, 54,  54}, // 6
+  {55, 55,  55}, // 7
+  {56, 56,  56}, // 8
+  {57, 57,  57}, // 9 = 57
+  {58, 186,  58}, // COLON = 58
+  {59, 186,  59}, // SEMICOLON = 59
+  {60, 188,  60}, // LESS = 60
+  {61, 187,  61}, // EQUALS = 61
+  {62, 190,  62}, // MORE = 62
+  {63, 191,  63}, // QUESTION = 63
+  {64, 50,  64}, // AT = 64
+  {65, 65,  65}, // A = 65
+  {66, 66,  66}, // B
+  {67, 67,  67}, // C
+  {68, 68,  68}, // D
+  {69, 69,  69}, // E
+  {70, 70,  70}, // F
+  {71, 71,  71}, // G
+  {72, 72,  72}, // H
+  {73, 73,  73}, // I
+  {74, 74,  74}, // J
+  {75, 75,  75}, // K
+  {76, 76,  76}, // L
+  {77, 77,  77}, // M
+  {78, 78,  78}, // N
+  {79, 79,  79}, // O
+  {80, 80,  80}, // P
+  {81, 81,  81}, // Q
+  {82, 82,  82}, // R
+  {83, 83,  83}, // S
+  {84, 84,  84}, // T
+  {85, 85,  85}, // U
+  {86, 86,  86}, // V
+  {87, 87,  87}, // W
+  {88, 88,  88}, // X
+  {89, 89,  89}, // Y
+  {90, 90,  90}, // Z = 90
+  {91, 219,  91}, // LEFT_BRACKET = 91
+  {92, 220,  92}, // BACKSLASH = 92
+  {93, 221,  93}, // RIGHT_BRACKET = 93
+  {94, 54,  94}, // CARET = 94
+  {95, 189,  95}, // UNDERSCORE = 95
+  {96, 192,  96}, // BACKQUOTE = 96
+  {97, 65,  97}, // a = 97
+  {98, 66,  98}, // b
+  {99, 67,  99}, // c
+  {100,68, 100}, // d
+  {101,69, 101}, // e
+  {102,70, 102}, // f
+  {103,71, 103}, // g
+  {104,72, 104}, // h
+  {105,73, 105}, // i
+  {106,74, 106}, // j
+  {107,75, 107}, // k
+  {108,76, 108}, // l
+  {109,77, 109}, // m
+  {110,78, 110}, // n
+  {111,79, 111}, // o
+  {112,80, 112}, // p
+  {113,81, 113}, // q
+  {114,82, 114}, // r
+  {115,83, 115}, // s
+  {116,84, 116}, // t
+  {117,85, 117}, // u
+  {118,86, 118}, // v
+  {119,87, 119}, // w
+  {120,88, 120}, // x
+  {121,89, 121}, // y
+  {122,90, 122}, // z = 122
+  {123,219,123}, // LEFT_BRACE = 123
+  {124,220,124}, // PIPE = 124
+  {125,221,125}, // RIGHT_BRACE = 125
+  {126,192,126}, // ASCIITILDE = 126
+  {6,  46, 127}, // DELETE = 127
+  {48, 96,  48}, // KP_0 = 128
+  {49, 97,  49}, // KP_1
+  {50, 98,  50}, // KP_2
+  {51, 99,  51}, // KP_3
+  {52, 100, 52}, // KP_4
+  {53, 101, 53}, // KP_5
+  {54, 102, 54}, // KP_6
+  {55, 103, 55}, // KP_7
+  {56, 104, 56}, // KP_8
+  {57, 105, 57}, // KP_9
+  {0,  112,  0}, // F1 = 138
+  {0,  113,  0}, // F2
+  {0,  114,  0}, // F3
+  {0,  115,  0}, // F4
+  {0,  116,  0}, // F5
+  {0,  117,  0}, // F6
+  {0,  118,  0}, // F7
+  {0,  119,  0}, // F8
+  {0,  120,  0}, // F9
+  {0,  121,  0}, // F10
+  {0,  122,  0}, // F11
+  {0,  123,  0}, // F12
+  {0,  124,  0}, // F13
+  {0,  125,  0}, // F14
+  {0,  126,  0}, // F15 = 152
+  {14, 38,   0}, // UP = 153
+  {15, 40,   0}, // DOWN = 154
+  {2,  39,   0}, // RIGHT = 155
+  {1,  37,   0}, // LEFT = 156
+  {5,  45,   0}, // INSERT = 157
+  {3,  36,   0}, // HOME = 158
+  {4,  35,   0}, // END = 159
+  {16, 33,   0}, // PAGEUP = 160
+  {17, 34,   0}, // PAGEDOWN = 161
+  {0, 107,  43}, // KP_ADD = 162
+  {0, 109,  45}, // KP_SUBTRACT = 163
+  {0, 106,  42}, // KP_MULITPLY = 164
+  {0, 111,  47}, // KP_DIVIDE = 165
+  {0, 110,  46}, // KP_DECIMAL = 166
+  {13, 13,  13}, // KP_ENTER = 167
+  {0, 144,   0}, // NUMLOCK = 168
+  {0, 160,   160}, // NOBREAKSPACE = 169
+  {0, 161,   161}, //   EXCLAM_DOWN = 170
+  {0, 162,   162}, //   CENT = 171
+  {0, 163,   163}, //   STERLING = 172
+  {0, 164,   164}, //   CURRENCY = 173
+  {0, 165,   165}, //   YEN = 174
+  {0, 166,   166}, //   BROKENBAR = 175
+  {0, 167,   167}, //   SECTION = 176
+  {0, 168,   168}, //   DIAERESIS = 177
+  {0, 169,   169}, //   COPYRIGHT = 178
+  {0, 170,   170}, //   ORDFEMININE = 179
+  {0, 171,   171}, //   GUILLEMOTLEFT = 180
+  {0, 172,   172}, //   NOTSIGN = 181
+  {0, 173,   173}, //   HYPHEN = 182
+  {0, 174,   174}, //   REGISTERED = 183
+  {0, 175,   175}, //   MACRON = 184
+  {0, 176,   176}, //   DEGREE = 185
+  {0, 177,   177}, //   PLUSMINUS = 186
+  {0, 178,   178}, //   TWOSUPERIOR = 187
+  {0, 179,   179}, //   THREESUPERIOR = 188
+  {0, 180,   180}, //   ACUTE = 189
+  {0, 181,   181}, //   MU = 190
+  {0, 182,   182}, //   PARAGRAPH = 191
+  {0, 183,   183}, //   PERIODCENTRED = 192
+  {0, 184,   184}, //   CEDILLA = 193
+  {0, 185,   185}, //   ONESUPERIOR = 194
+  {0, 186,   186}, //   MASCULINE = 195
+  {0, 187,   187}, //   GUILLEMOTRIGHT = 196
+  {0, 188,   188}, //   ONEQUARTER = 197
+  {0, 189,   189}, //   ONEHALF = 198
+  {0, 190,   190}, //   THREEQUARTERS = 199
+  {0, 191,   191}, //   QUESTIONDOWN = 200
+  {0, 192,   192}, //   AGRAVE = 201
+  {0, 193,   193}, //   AACUTE = 202
+  {0, 194,   194}, //   ACIRCUMFLEX = 203
+  {0, 195,   195}, //   ATILDE = 204
+  {0, 196,   196}, //   ADIAERISIS = 205
+  {0, 197,   197}, //   ARING = 206
+  {0, 198,   198}, //   AE = 207
+  {0, 199,   199}, //   CCEDILLA = 208
+  {0, 200,   200}, //   EGRAVE = 209
+  {0, 201,   201}, //   EACUTE = 210
+  {0, 202,   202}, //   ECIRCUMFLEX = 211
+  {0, 203,   203}, //   EDIAERESIS = 212
+  {0, 204,   204}, //   IGRAVE = 213
+  {0, 205,   205}, //   IACUTE = 214
+  {0, 206,   206}, //   ICIRCUMFLEX = 215
+  {0, 207,   207}, //   IDIAERESIS = 216
+  {0, 208,   208}, //   ETH = 217
+  {0, 209,   209}, //   NTILDE = 218
+  {0, 210,   210}, //   OGRAVE = 219
+  {0, 211,   211}, //   OACUTE = 220
+  {0, 212,   212}, //   OCIRCUMFLEX = 221
+  {0, 213,   213}, //   OTILDE = 222
+  {0, 214,   214}, //   ODIAERESIS = 223
+  {0, 215,   215}, //   MULTIPLY = 224
+  {0, 216,   116}, //   OSLASH = 225
+  {0, 217,   217}, //   UGRAVE = 226
+  {0, 218,   218}, //   UACTUE = 227
+  {0, 219,   219}, //   UCIRCUMFLEX = 228
+  {0, 220,   220}, //   UDIAERESIS = 229
+  {0, 221,   221}, //   ZACUTE = 230
+  {0, 222,   222}, //   THORN = 231
+  {0, 223,   223}, //   sSHARP = 232
+  {0, 224,   224}, //   aTILDE = 233
+  {0, 225,   225}, //   aACUTE = 234
+  {0, 226,   226}, //   aCIRCUMFLEX = 235
+  {0, 227,   227}, //   aTILDE = 236
+  {0, 228,   228}, //   aDIAERESIS = 237
+  {0, 229,   229}, //   aRING = 238
+  {0, 230,   230}, //   ae = 239
+  {0, 231,   231}, //   cCEDILLA = 240
+  {0, 232,   232}, //   eGRAVE = 241
+  {0, 233,   233}, //   eACUTE = 242
+  {0, 234,   234}, //   eCIRCUMFLEX = 243
+  {0, 235,   235}, //   eDIAERESIS = 244
+  {0, 236,   236}, //   iGRAVE = 245
+  {0, 237,   237}, //   iACUTE = 246
+  {0, 238,   238}, //   iCIRCUMFLEX = 247
+  {0, 239,   239}, //   iDIAERESIS = 248
+  {0, 240,   240}, //   eth = 249
+  {0, 241,   241}, //   nTILDE = 250
+  {0, 242,   242}, //   oTILDE = 251
+  {0, 243,   243}, //   oACUTE = 252
+  {0, 244,   244}, //   oCIRCUMFLEX = 253
+  {0, 245,   245}, //   oTILDE = 254
+  {0, 246,   246}, //   oDIAERESIS = 255
+  {0, 247,   247}, //   DIVISION = 256
+  {0, 248,   248}, //   oSLASH = 257
+  {0, 249,   249}, //   uGRAVE = 258
+  {0, 250,   250}, //   uACUTE = 259
+  {0, 251,   251}, //   uCIRCUMFLEX = 260 
+  {0, 252,   252}, //   uDIAERESIS = 261
+  {0, 253,   253}, //   yACUTE = 262
+  {0, 254,   254}, //   thorn = 263
+  {0, 255,   255}, //   yDIAERESIS = 264
+  {0, 0,     0},   //   HELP (untested)
+};
+
+}   // end namespace key
+
+} // end namespace gnash
+
+#endif // GNASHKEY_H




reply via email to

[Prev in Thread] Current Thread [Next in Thread]