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;
}
}
- 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);