Skip to content

Commit e3ba0bd

Browse files
committed
JBR-1144 [JDK11] [macos] Held down key is not deleted when press backspace after accent menu popup (Mojave)
Handled both Delete and ForwardDelete keys
1 parent 7db46ce commit e3ba0bd

File tree

1 file changed

+12
-9
lines changed
  • src/java.desktop/macosx/native/libawt_lwawt/awt

1 file changed

+12
-9
lines changed

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

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -295,30 +295,33 @@ - (void) keyDown: (NSEvent *)event {
295295
if (fEnablePressAndHold && [event willBeHandledByComplexInputMethod] &&
296296
fInputMethodLOCKABLE)
297297
{
298+
BOOL skipProcessingCancelKeys = YES;
298299
fProcessingKeystroke = NO;
299300
if (!fInPressAndHold) {
300301
fInPressAndHold = YES;
301302
fPAHNeedsToSelect = YES;
302-
} else if (IS_OSX_GT10_13) {
303-
// Abandon input to reset IM and unblock input after canceling
304-
// input accented symbols (macOS 10.14+ only)
305-
303+
} else {
306304
switch([event keyCode]) {
307-
case kVK_Escape:
305+
case kVK_ForwardDelete:
308306
case kVK_Delete:
307+
skipProcessingCancelKeys = NO;
309308
case kVK_Return:
310-
case kVK_ForwardDelete:
309+
case kVK_Escape:
311310
case kVK_PageUp:
312311
case kVK_PageDown:
313312
case kVK_DownArrow:
314313
case kVK_UpArrow:
315314
case kVK_Home:
316315
case kVK_End:
317-
[self abandonInput];
318-
break;
316+
if (IS_OSX_GT10_13) {
317+
// Abandon input to reset IM and unblock input after
318+
// canceling input accented symbols (macOS 10.14+ only)
319+
[self abandonInput];
320+
}
321+
break;
319322
}
320323
}
321-
if ([event keyCode] != kVK_Delete) {
324+
if (skipProcessingCancelKeys) {
322325
return;
323326
}
324327
}

0 commit comments

Comments
 (0)