diff options
author | Jason Rumney <jasonr@gnu.org> | 2007-11-17 03:00:47 +0000 |
---|---|---|
committer | Jason Rumney <jasonr@gnu.org> | 2007-11-17 03:00:47 +0000 |
commit | a60b033380f657f2af669cc08d12f7ace82fdd67 (patch) | |
tree | 7ea3bdd956ede4e14aeac3f3622a53e76e01f846 /src/w32term.c | |
parent | 499180d57c44fb564a7049342f90015490117f4c (diff) | |
download | emacs-a60b033380f657f2af669cc08d12f7ace82fdd67.tar.gz emacs-a60b033380f657f2af669cc08d12f7ace82fdd67.tar.bz2 emacs-a60b033380f657f2af669cc08d12f7ace82fdd67.zip |
(w32_read_socket) [WM_UNICHAR]: Handle as MULTIBYTE_CHAR_KEYSTROKE_EVENT.
Diffstat (limited to 'src/w32term.c')
-rw-r--r-- | src/w32term.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/w32term.c b/src/w32term.c index 93e81b7bdb4..857887397fe 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -4768,6 +4768,7 @@ w32_read_socket (sd, expected, hold_quit) } break; + case WM_UNICHAR: case WM_SYSCHAR: case WM_CHAR: f = x_window_to_frame (dpyinfo, msg.msg.hwnd); @@ -4784,8 +4785,16 @@ w32_read_socket (sd, expected, hold_quit) if (temp_index == sizeof temp_buffer / sizeof (short)) temp_index = 0; temp_buffer[temp_index++] = msg.msg.wParam; - inev.kind = ASCII_KEYSTROKE_EVENT; - inev.code = msg.msg.wParam; + if (msg.msg.message == WM_UNICHAR) + { + inev.kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT; + inev.code = msg.msg.wParam; + } + else + { + inev.kind = ASCII_KEYSTROKE_EVENT; + inev.code = msg.msg.wParam; + } inev.modifiers = msg.dwModifiers; XSETFRAME (inev.frame_or_window, f); inev.timestamp = msg.msg.time; |