From 5c261b2f4f10fdf85531d4e289828d129d464dc0 Mon Sep 17 00:00:00 2001 From: megacz Date: Fri, 30 Jan 2004 06:49:16 +0000 Subject: [PATCH] 2002/07/19 05:27:11 darcs-hash:20040130064916-2ba56-7cebaeeba89fd03f12550eae9dade18ffd0aa991.gz --- CHANGES | 2 ++ src/org/xwt/plat/POSIX.cc | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index d00e4d4..2002f14 100644 --- a/CHANGES +++ b/CHANGES @@ -292,3 +292,5 @@ 18-Jul megacz GCJ.xml: builtin.xwar support +18-Jul megacz POSIX.cc: better capslock handling + diff --git a/src/org/xwt/plat/POSIX.cc b/src/org/xwt/plat/POSIX.cc index 52d86d9..720ed6c 100644 --- a/src/org/xwt/plat/POSIX.cc +++ b/src/org/xwt/plat/POSIX.cc @@ -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); -- 1.7.10.4