diff options
| author | nijtmans@users.sourceforge.net <jan.nijtmans> | 2016-09-19 10:14:52 (GMT) |
|---|---|---|
| committer | nijtmans@users.sourceforge.net <jan.nijtmans> | 2016-09-19 10:14:52 (GMT) |
| commit | 06e86eac45f9edaa47e0a8de86a428355efc652d (patch) | |
| tree | 011764b9a1c9b1b47f5d61b56f1627526961f832 /win/tkWinX.c | |
| parent | 289a1f9409c3a5c99e36925f03faa4fd06f22400 (diff) | |
| download | tk-tip_389.zip tk-tip_389.tar.gz tk-tip_389.tar.bz2 | |
More simplificationstip_389
Diffstat (limited to 'win/tkWinX.c')
| -rw-r--r-- | win/tkWinX.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/win/tkWinX.c b/win/tkWinX.c index 6be54e2..ce73aac 100644 --- a/win/tkWinX.c +++ b/win/tkWinX.c @@ -1580,8 +1580,8 @@ HandleIMEComposition( /* * Set up the fields pertinent to key event. * - * We set send_event to the special value of -2, so that TkpGetString - * in tkWinKey.c knows that trans_chars[] already contains a UNICODE + * We set send_event to the special value of -3, so that TkpGetString + * in tkWinKey.c knows that keycode already contains a UNICODE * char and there's no need to do encoding conversion. * * Note that the event *must* be zeroed out first; Tk plays cunning @@ -1592,7 +1592,7 @@ HandleIMEComposition( memset(&event, 0, sizeof(XEvent)); event.xkey.serial = winPtr->display->request++; - event.xkey.send_event = -2; + event.xkey.send_event = -3; event.xkey.display = winPtr->display; event.xkey.window = winPtr->window; event.xkey.root = RootWindow(winPtr->display, winPtr->screenNum); @@ -1600,8 +1600,7 @@ HandleIMEComposition( event.xkey.state = TkWinGetModifierState(); event.xkey.time = TkpGetMS(); event.xkey.same_screen = True; - event.xkey.keycode = 0; - event.xkey.nbytes = 2; + event.xkey.nbytes = 0; for (i=0; i<n; ) { /* @@ -1609,8 +1608,8 @@ HandleIMEComposition( * UNICODE character in the composition. */ - event.xkey.trans_chars[0] = (char) buff[i++]; - event.xkey.trans_chars[1] = (char) buff[i++]; + event.xkey.keycode = ((unsigned char) buff[i++]) << 8; + event.xkey.keycode += (unsigned char) buff[i++]; event.type = KeyPress; Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL); |
