< prev index next >
src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m
Print this page
*** 280,295 ****
{
NSAlternateKeyMask,
//kCGSFlagsMaskAppleLeftAlternateKey,
//kCGSFlagsMaskAppleRightAlternateKey,
58,
! 61,
java_awt_event_InputEvent_ALT_DOWN_MASK,
java_awt_event_InputEvent_ALT_MASK,
java_awt_event_KeyEvent_VK_ALT
},
{
NSCommandKeyMask,
//kCGSFlagsMaskAppleLeftCommandKey,
//kCGSFlagsMaskAppleRightCommandKey,
55,
54,
--- 280,303 ----
{
NSAlternateKeyMask,
//kCGSFlagsMaskAppleLeftAlternateKey,
//kCGSFlagsMaskAppleRightAlternateKey,
58,
! 0,
java_awt_event_InputEvent_ALT_DOWN_MASK,
java_awt_event_InputEvent_ALT_MASK,
java_awt_event_KeyEvent_VK_ALT
},
{
+ NSAlternateKeyMask,
+ 0,
+ 61,
+ java_awt_event_InputEvent_ALT_DOWN_MASK | java_awt_event_InputEvent_ALT_GRAPH_DOWN_MASK,
+ java_awt_event_InputEvent_ALT_MASK | java_awt_event_InputEvent_ALT_GRAPH_MASK,
+ java_awt_event_KeyEvent_VK_ALT
+ },
+ {
NSCommandKeyMask,
//kCGSFlagsMaskAppleLeftCommandKey,
//kCGSFlagsMaskAppleRightCommandKey,
55,
54,
*** 308,317 ****
--- 316,327 ----
},
// NSFunctionKeyMask
{0, 0, 0, 0, 0, 0}
};
+ static BOOL leftAltKeyPressed;
+
/*
* Almost all unicode characters just go from NS to Java with no translation.
* For the few exceptions, we handle it here with this small table.
*/
#define ALL_NS_KEY_MODIFIERS_MASK \
*** 520,537 ****
--- 530,553 ----
//if (changedNSFlags & cur->cgsLeftMask) {
// *javaKeyLocation = java_awt_event_KeyEvent_KEY_LOCATION_LEFT;
//} else if (changedNSFlags & cur->cgsRightMask) {
// *javaKeyLocation = java_awt_event_KeyEvent_KEY_LOCATION_RIGHT;
//}
+
if (eventKeyCode == cur->leftKeyCode) {
+ leftAltKeyPressed = YES;
*javaKeyLocation = java_awt_event_KeyEvent_KEY_LOCATION_LEFT;
} else if (eventKeyCode == cur->rightKeyCode) {
*javaKeyLocation = java_awt_event_KeyEvent_KEY_LOCATION_RIGHT;
+ } else if (cur->nsMask == NSAlternateKeyMask) {
+ leftAltKeyPressed = NO;
+ continue;
}
*javaKeyType = (cur->nsMask & nsFlags) ?
java_awt_event_KeyEvent_KEY_PRESSED :
java_awt_event_KeyEvent_KEY_RELEASED;
+
break;
}
}
}
*** 543,553 ****
jint javaModifiers = 0;
const struct _nsKeyToJavaModifier* cur;
for (cur = nsKeyToJavaModifierTable; cur->nsMask != 0; ++cur) {
if ((cur->nsMask & nsFlags) != 0) {
! javaModifiers |= isExtMods? cur->javaExtMask : cur->javaMask;
}
}
return javaModifiers;
}
--- 559,573 ----
jint javaModifiers = 0;
const struct _nsKeyToJavaModifier* cur;
for (cur = nsKeyToJavaModifierTable; cur->nsMask != 0; ++cur) {
if ((cur->nsMask & nsFlags) != 0) {
! javaModifiers |= isExtMods ? cur->javaExtMask : cur->javaMask;
! if (cur->nsMask == NSAlternateKeyMask && leftAltKeyPressed == NO) {
! continue;
! }
! break;
}
}
return javaModifiers;
}
< prev index next >