2002/07/19 05:27:11
authormegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:49:16 +0000 (06:49 +0000)
committermegacz <megacz@xwt.org>
Fri, 30 Jan 2004 06:49:16 +0000 (06:49 +0000)
darcs-hash:20040130064916-2ba56-7cebaeeba89fd03f12550eae9dade18ffd0aa991.gz

CHANGES
src/org/xwt/plat/POSIX.cc

diff --git a/CHANGES b/CHANGES
index d00e4d4..2002f14 100644 (file)
--- a/CHANGES
+++ b/CHANGES
 
 18-Jul megacz GCJ.xml: builtin.xwar support
 
+18-Jul megacz POSIX.cc: better capslock handling
+
index 52d86d9..720ed6c 100644 (file)
@@ -578,7 +578,6 @@ void org::xwt::plat::POSIX$X11Surface::dispatchEvent(gnu::gcj::RawData* ev) {
             case XK_Shift_R: s = "shift"; break;
             case XK_Control_L: s = "control"; break;
             case XK_Control_R: s = "control"; break;
-            case XK_Caps_Lock: s = "caps_lock"; break;
             case XK_Meta_L: s = "alt"; break;
             case XK_Meta_R: s = "alt"; break;
             case XK_Alt_L: s = "alt"; break;
@@ -587,8 +586,9 @@ void org::xwt::plat::POSIX$X11Surface::dispatchEvent(gnu::gcj::RawData* ev) {
             }
         }
         
-        if (e->type == KeyPress) KeyPressed(JvNewStringLatin1(s));
-        if (e->type == KeyRelease) KeyReleased(JvNewStringLatin1(s));
+        jstring s2 = JvNewStringLatin1(s);
+        if (e->type == KeyPress) KeyPressed((xbe->state & LockMask) ? s2->toUpperCase() : s2);
+        if (e->type == KeyRelease) KeyReleased(s2);
         
     } else if (e->type == ButtonPress) {
         XButtonEvent* xbe = (XButtonEvent*)(e);