gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/asobj/Key.cpp server/aso...


From: Benjamin Wolsey
Subject: [Gnash-commit] gnash ChangeLog server/asobj/Key.cpp server/aso...
Date: Tue, 09 Oct 2007 12:48:44 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Benjamin Wolsey <bwy>   07/10/09 12:48:44

Modified files:
        .              : ChangeLog 
        server/asobj   : Key.cpp Key.h 

Log message:
                * server/asobj/Key.{cpp,h}: rename m_last_key_pressed to 
                  m_last_key_event. Add SWF keycode, not gnash keycode to
                  index of keys down. Fixes problems when releasing shift
                  before a character key.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4575&r2=1.4576
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Key.cpp?cvsroot=gnash&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Key.h?cvsroot=gnash&r1=1.26&r2=1.27

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4575
retrieving revision 1.4576
diff -u -b -r1.4575 -r1.4576
--- ChangeLog   9 Oct 2007 11:19:38 -0000       1.4575
+++ ChangeLog   9 Oct 2007 12:48:43 -0000       1.4576
@@ -1,3 +1,10 @@
+2007-10-09 Benjamin Wolsey <address@hidden>
+
+       * server/asobj/Key.{cpp,h}: rename m_last_key_pressed to 
+         m_last_key_event. Add SWF keycode, not gnash keycode to
+         index of keys down. Fixes problems when releasing shift
+         before a character key.
+
 2007-10-09 Chad Musick <address@hidden>
 
        * server/AS3_OPCODES: Remove file (information up-to-date elsewhere).

Index: server/asobj/Key.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Key.cpp,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- server/asobj/Key.cpp        8 Oct 2007 12:56:27 -0000       1.36
+++ server/asobj/Key.cpp        9 Oct 2007 12:48:43 -0000       1.37
@@ -45,7 +45,7 @@
 key_as_object::key_as_object()
     :
     as_object(getObjectInterface()),
-    m_last_key_pressed(0)
+    m_last_key_event(0)
 {
     memset(m_unreleased_keys, 0, sizeof(m_unreleased_keys));
 }
@@ -77,10 +77,15 @@
 {
     if (code < 0 || code >= key::KEYCOUNT) return;
 
-    m_last_key_pressed = code;
+    // This is used for getAscii() of the last key event, so we use gnash's
+    // internal code.
+    m_last_key_event = code;
 
-    int byte_index = code >> 3;
-    int bit_index = code - (byte_index << 3);
+    // Key.isDown() only cares about flash keycode, not character, so
+    // we lookup keycode to add to m_unreleased_keys.   
+    
+    int byte_index = key::codeMap[code][1] >> 3;
+    int bit_index = key::codeMap[code][1] - (byte_index << 3);
     int mask = 1 << bit_index;
 
     assert(byte_index >= 0 && byte_index < 
int(sizeof(m_unreleased_keys)/sizeof(m_unreleased_keys[0])));
@@ -93,10 +98,14 @@
 {
     if (code < 0 || code >= key::KEYCOUNT) return;
 
-    m_last_key_pressed = code;
-
-    int byte_index = code >> 3;
-    int bit_index = code - (byte_index << 3);
+    // This is used for getAscii() of the last key event, so we use gnash's
+    // internal code.
+    m_last_key_event = code;
+
+    // Key.isDown() only cares about flash keycode, not character, so
+    // we lookup keycode to add to m_unreleased_keys.
+    int byte_index = key::codeMap[code][1] >> 3;
+    int bit_index = key::codeMap[code][1] - (byte_index << 3);
     int mask = 1 << bit_index;
 
     assert(byte_index >= 0 && byte_index < 
int(sizeof(m_unreleased_keys)/sizeof(m_unreleased_keys[0])));
@@ -198,7 +207,7 @@
 int
 key_as_object::get_last_key_pressed() const
 {
-    return m_last_key_pressed;
+    return m_last_key_event;
 }
 
 

Index: server/asobj/Key.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Key.h,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- server/asobj/Key.h  12 Sep 2007 10:57:06 -0000      1.26
+++ server/asobj/Key.h  9 Oct 2007 12:48:44 -0000       1.27
@@ -16,7 +16,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 // 
 
-/* $Id: Key.h,v 1.26 2007/09/12 10:57:06 bwy Exp $ */
+/* $Id: Key.h,v 1.27 2007/10/09 12:48:44 bwy Exp $ */
 
 #ifndef __KEY_H__
 #define __KEY_H__
@@ -62,7 +62,7 @@
        Listeners m_listeners;
 #endif
 
-       int     m_last_key_pressed;
+       int     m_last_key_event;
 
 protected:
 




reply via email to

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