提交 c0fafdbf 编写于 作者: S serb

8019282: keyRelesed is reached even though key was NOT released

Reviewed-by: serb, anthony
Contributed-by: alexander.zvegintsev@oracle.com
上级 cf2457e8
...@@ -305,6 +305,7 @@ SUNWprivate_1.1 { ...@@ -305,6 +305,7 @@ SUNWprivate_1.1 {
Java_sun_awt_X11_XlibWrapper_XkbGetUpdatedMap; Java_sun_awt_X11_XlibWrapper_XkbGetUpdatedMap;
Java_sun_awt_X11_XlibWrapper_XkbFreeKeyboard; Java_sun_awt_X11_XlibWrapper_XkbFreeKeyboard;
Java_sun_awt_X11_XlibWrapper_XkbTranslateKeyCode; Java_sun_awt_X11_XlibWrapper_XkbTranslateKeyCode;
Java_sun_awt_X11_XlibWrapper_XkbSetDetectableAutoRepeat;
Java_sun_awt_X11_XlibWrapper_XGetModifierMapping; Java_sun_awt_X11_XlibWrapper_XGetModifierMapping;
Java_sun_awt_X11_XlibWrapper_XFreeModifiermap; Java_sun_awt_X11_XlibWrapper_XFreeModifiermap;
Java_sun_awt_X11_XlibWrapper_XRefreshKeyboardMapping; Java_sun_awt_X11_XlibWrapper_XRefreshKeyboardMapping;
......
...@@ -305,6 +305,7 @@ SUNWprivate_1.1 { ...@@ -305,6 +305,7 @@ SUNWprivate_1.1 {
Java_sun_awt_X11_XlibWrapper_XkbGetUpdatedMap; Java_sun_awt_X11_XlibWrapper_XkbGetUpdatedMap;
Java_sun_awt_X11_XlibWrapper_XkbFreeKeyboard; Java_sun_awt_X11_XlibWrapper_XkbFreeKeyboard;
Java_sun_awt_X11_XlibWrapper_XkbTranslateKeyCode; Java_sun_awt_X11_XlibWrapper_XkbTranslateKeyCode;
Java_sun_awt_X11_XlibWrapper_XkbSetDetectableAutoRepeat;
Java_sun_awt_X11_XlibWrapper_XGetModifierMapping; Java_sun_awt_X11_XlibWrapper_XGetModifierMapping;
Java_sun_awt_X11_XlibWrapper_XFreeModifiermap; Java_sun_awt_X11_XlibWrapper_XFreeModifiermap;
Java_sun_awt_X11_XlibWrapper_XRefreshKeyboardMapping; Java_sun_awt_X11_XlibWrapper_XRefreshKeyboardMapping;
......
...@@ -2249,6 +2249,8 @@ public final class XToolkit extends UNIXToolkit implements Runnable { ...@@ -2249,6 +2249,8 @@ public final class XToolkit extends UNIXToolkit implements Runnable {
XConstants.XkbModifierMapMask | XConstants.XkbModifierMapMask |
XConstants.XkbVirtualModsMask, XConstants.XkbVirtualModsMask,
XConstants.XkbUseCoreKbd); XConstants.XkbUseCoreKbd);
XlibWrapper.XkbSetDetectableAutoRepeat(getDisplay(), true);
} }
} }
} }
......
...@@ -509,6 +509,7 @@ static native String XSetLocaleModifiers(String modifier_list); ...@@ -509,6 +509,7 @@ static native String XSetLocaleModifiers(String modifier_list);
static native long XkbGetUpdatedMap(long display, long which, long xkb); static native long XkbGetUpdatedMap(long display, long which, long xkb);
static native void XkbFreeKeyboard(long xkb, long which, boolean free_all); static native void XkbFreeKeyboard(long xkb, long which, boolean free_all);
static native boolean XkbTranslateKeyCode(long xkb, int keycode, long mods, long mods_rtrn, long keysym_rtrn); static native boolean XkbTranslateKeyCode(long xkb, int keycode, long mods, long mods_rtrn, long keysym_rtrn);
static native void XkbSetDetectableAutoRepeat(long display, boolean detectable);
static native void XConvertCase(long keysym, static native void XConvertCase(long keysym,
......
...@@ -523,8 +523,12 @@ JNIEXPORT jboolean JNICALL Java_sun_awt_X11_XlibWrapper_XkbTranslateKeyCode ...@@ -523,8 +523,12 @@ JNIEXPORT jboolean JNICALL Java_sun_awt_X11_XlibWrapper_XkbTranslateKeyCode
//printf("native, output: keysym:0x%0X; mods:0x%0X\n", *(unsigned int *)jlong_to_ptr(keysym_rtrn), *(unsigned int *)jlong_to_ptr(mods_rtrn)); //printf("native, output: keysym:0x%0X; mods:0x%0X\n", *(unsigned int *)jlong_to_ptr(keysym_rtrn), *(unsigned int *)jlong_to_ptr(mods_rtrn));
return b; return b;
} }
JNIEXPORT void JNICALL Java_sun_awt_X11_XlibWrapper_XkbSetDetectableAutoRepeat
(JNIEnv *env, jclass clazz, jlong display, jboolean detectable)
{
AWT_CHECK_HAVE_LOCK();
XkbSetDetectableAutoRepeat((Display *) jlong_to_ptr(display), detectable, NULL);
}
/* /*
* Class: sun_awt_X11_XlibWrapper * Class: sun_awt_X11_XlibWrapper
* Method: XNextEvent * Method: XNextEvent
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册