diff --git a/Source/InputMethodController.mm b/Source/InputMethodController.mm index 0af52c86..aafe55c0 100644 --- a/Source/InputMethodController.mm +++ b/Source/InputMethodController.mm @@ -989,7 +989,12 @@ public: } } - if (charCode == 27) { + BOOL cancelCandidateKey = + (charCode == 27) || + ((_inputMode == kPlainBopomofoModeIdentifier) && + (charCode == 8 || keyCode == kDeleteKeyCode)); + + if (cancelCandidateKey) { gCurrentCandidateController.visible = NO; [_candidates removeAllObjects];