Index: doc/bind.n ================================================================== --- doc/bind.n +++ doc/bind.n @@ -515,14 +515,15 @@ For \fBConfigure\fR and \fBCreate\fR requests, the \fIx\fR and \fIy\fR coordinates of the window relative to its parent window. .IP \fB%A\fR 5 Substitutes the UNICODE character corresponding to the event, or the empty string if the event does not correspond to a UNICODE character -(e.g. the shift key was pressed). \fBXmbLookupString\fR (or +(e.g. the shift key was pressed). On X11, \fBXmbLookupString\fR (or \fBXLookupString\fR when input method support is turned off) does all the work of translating from the event to a UNICODE character. -Valid only for \fBKeyPress\fR and \fBKeyRelease\fR events. +On X11, valid only for \fBKeyPress\fR event. On Windows and macOS/aqua, +valid only for \fBKeyPress\fR and \fBKeyRelease\fR events. .IP \fB%B\fR 5 The \fIborder_width\fR field from the event. Valid only for \fBConfigure\fR, \fBConfigureRequest\fR, and \fBCreate\fR events. .IP \fB%D\fR 5 This reports the \fIdelta\fR value of a \fBMouseWheel\fR event. The Index: unix/tkUnixKey.c ================================================================== --- unix/tkUnixKey.c +++ unix/tkUnixKey.c @@ -136,12 +136,11 @@ goto done; } #ifdef TK_USE_INPUT_METHODS if ((winPtr->dispPtr->flags & TK_DISPLAY_USE_IM) - && (winPtr->inputContext != NULL) - && (eventPtr->type == KeyPress)) { + && (winPtr->inputContext != NULL)) { Status status; #if X_HAVE_UTF8_STRING Tcl_DStringSetLength(dsPtr, TCL_DSTRING_STATIC_SIZE-1); len = Xutf8LookupString(winPtr->inputContext, &eventPtr->xkey, @@ -192,12 +191,11 @@ } else #endif /* TK_USE_INPUT_METHODS */ { /* * Fall back to convert a keyboard event to a UTF-8 string using - * XLookupString. This is used when input methods are turned off and - * for KeyRelease events. + * XLookupString. This is used when input methods are turned off. * * Note: XLookupString() normally returns a single ISO Latin 1 or * ASCII control character. */