< prev index next >

src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m

Print this page

        

*** 347,357 **** {NSShiftKeyMask, NSBackTabCharacter, NSTabCharacter}, {0, 0, 0} }; ! unichar NsCharToJavaChar(unichar nsChar, NSUInteger modifiers) { const struct _char *cur; // Mask off just the keyboard modifiers from the event modifier mask. NSUInteger testableFlags = (modifiers & ALL_NS_KEY_MODIFIERS_MASK); --- 347,357 ---- {NSShiftKeyMask, NSBackTabCharacter, NSTabCharacter}, {0, 0, 0} }; ! unichar NsCharToJavaChar(unichar nsChar, NSUInteger modifiers, BOOL spaceKeyTyped) { const struct _char *cur; // Mask off just the keyboard modifiers from the event modifier mask. NSUInteger testableFlags = (modifiers & ALL_NS_KEY_MODIFIERS_MASK);
*** 380,389 **** --- 380,394 ---- if (nsChar >= NSUpArrowFunctionKey && nsChar <= NSModeSwitchFunctionKey) { return java_awt_event_KeyEvent_CHAR_UNDEFINED; } + // nsChar receives value 0 when SPACE key is typed. + if (nsChar == 0 && spaceKeyTyped == YES) { + return java_awt_event_KeyEvent_VK_SPACE; + } + // otherwise return character unchanged return nsChar; } static unichar NsGetDeadKeyChar(unsigned short keyCode)
*** 755,771 **** * Method: nsToJavaChar * Signature: (CI)C */ JNIEXPORT jint JNICALL Java_sun_lwawt_macosx_NSEvent_nsToJavaChar ! (JNIEnv *env, jclass cls, jchar nsChar, jint modifierFlags) { jchar javaChar = 0; JNF_COCOA_ENTER(env); ! javaChar = NsCharToJavaChar(nsChar, modifierFlags); JNF_COCOA_EXIT(env); return javaChar; } --- 760,776 ---- * Method: nsToJavaChar * Signature: (CI)C */ JNIEXPORT jint JNICALL Java_sun_lwawt_macosx_NSEvent_nsToJavaChar ! (JNIEnv *env, jclass cls, jchar nsChar, jint modifierFlags, jboolean spaceKeyTyped) { jchar javaChar = 0; JNF_COCOA_ENTER(env); ! javaChar = NsCharToJavaChar(nsChar, modifierFlags, spaceKeyTyped); JNF_COCOA_EXIT(env); return javaChar; }
< prev index next >