--- old/make/sun/xawt/mapfile-vers 2013-09-19 20:56:48.536688033 +0400 +++ new/make/sun/xawt/mapfile-vers 2013-09-19 20:56:48.336688039 +0400 @@ -305,6 +305,7 @@ Java_sun_awt_X11_XlibWrapper_XkbGetUpdatedMap; Java_sun_awt_X11_XlibWrapper_XkbFreeKeyboard; Java_sun_awt_X11_XlibWrapper_XkbTranslateKeyCode; + Java_sun_awt_X11_XlibWrapper_XkbSetDetectableAutoRepeat; Java_sun_awt_X11_XlibWrapper_XGetModifierMapping; Java_sun_awt_X11_XlibWrapper_XFreeModifiermap; Java_sun_awt_X11_XlibWrapper_XRefreshKeyboardMapping; --- old/makefiles/mapfiles/libawt_xawt/mapfile-vers 2013-09-19 20:56:49.148688020 +0400 +++ new/makefiles/mapfiles/libawt_xawt/mapfile-vers 2013-09-19 20:56:48.936688026 +0400 @@ -305,6 +305,7 @@ Java_sun_awt_X11_XlibWrapper_XkbGetUpdatedMap; Java_sun_awt_X11_XlibWrapper_XkbFreeKeyboard; Java_sun_awt_X11_XlibWrapper_XkbTranslateKeyCode; + Java_sun_awt_X11_XlibWrapper_XkbSetDetectableAutoRepeat; Java_sun_awt_X11_XlibWrapper_XGetModifierMapping; Java_sun_awt_X11_XlibWrapper_XFreeModifiermap; Java_sun_awt_X11_XlibWrapper_XRefreshKeyboardMapping; --- old/src/solaris/classes/sun/awt/X11/XToolkit.java 2013-09-19 20:56:49.752688008 +0400 +++ new/src/solaris/classes/sun/awt/X11/XToolkit.java 2013-09-19 20:56:49.536688012 +0400 @@ -2248,6 +2248,8 @@ XConstants.XkbModifierMapMask | XConstants.XkbVirtualModsMask, XConstants.XkbUseCoreKbd); + + XlibWrapper.XkbSetDetectableAutoRepeat(getDisplay(), true); } } } --- old/src/solaris/classes/sun/awt/X11/XlibWrapper.java 2013-09-19 20:56:50.296687995 +0400 +++ new/src/solaris/classes/sun/awt/X11/XlibWrapper.java 2013-09-19 20:56:50.164687999 +0400 @@ -509,6 +509,7 @@ static native long XkbGetUpdatedMap(long display, long which, long xkb); 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 void XkbSetDetectableAutoRepeat(long display, boolean detectable); static native void XConvertCase(long keysym, --- old/src/solaris/native/sun/xawt/XlibWrapper.c 2013-09-19 20:56:50.888687982 +0400 +++ new/src/solaris/native/sun/xawt/XlibWrapper.c 2013-09-19 20:56:50.692687986 +0400 @@ -523,8 +523,12 @@ //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; } - - +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 * Method: XNextEvent