I've fixed this bug and commited to upstream already.
Attachment is patch.
If upstream doesn't yet update, we can patch it by ourself.
Cheers,
Fred
2011/3/25 Debian Bug Tracking System <[email protected]>
> Thank you for filing a new Bug report with Debian.
>
> This is an automatically generated reply to let you know your message
> has been received.
>
> Your message is being forwarded to the package maintainers and other
> interested parties for their attention; they will reply in due course.
>
> Your message has been sent to the package maintainer(s):
> IME Packaging Team <[email protected]>
>
> If you wish to submit further information on this problem, please
> send it to [email protected].
>
> Please do not send mail to [email protected] unless you wish
> to report a problem with the Bug-tracking system.
>
> --
> 619604: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=619604
> Debian Bug Tracking System
> Contact [email protected] with problems
>
--- a/src/IBusChewingEngine.gob 2011-03-26 16:54:15.000000000 +0800
+++ b/src/IBusChewingEngine.gob 2011-03-26 16:55:58.000000000 +0800
@@ -762,6 +762,22 @@
}
break;
case CHEWING_INPUT_MODE_SELECTING:
+ /* ESC to cancel input mode */
+ if (self->chewingFlags & CHEWING_FLAG_PLAIN_ZHUYIN) {
+ if (chewing_get_escCleanAllBuf(self->context) &&
+ self->_priv->key_last == IBUS_Escape) {
+
+ /* Close candidate window */
+ self->inputMode=CHEWING_INPUT_MODE_SELECTION_DONE;
+ chewing_handle_Esc(self->context);
+ ibus_chewing_engine_clear_status_flag(self, ENGINE_STATUS_SHOW_CANDIDATE);
+ break;
+ }
+
+ chewing_handle_Down(self->context);
+ break;
+ }
+
/* Switch to another page */
if (self_is_selectKey(self, self->_priv->key_last)){
self->inputMode=CHEWING_INPUT_MODE_SELECTION_DONE;