Mercurial > emacs
comparison src/w32term.c @ 91098:bbf4813494da
(w32_read_socket) [WM_UNICHAR]: Handle as MULTIBYTE_CHAR_KEYSTROKE_EVENT.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Sat, 17 Nov 2007 03:00:47 +0000 |
parents | 880960b70474 |
children | 3b9ed57b1424 |
comparison
equal
deleted
inserted
replaced
91097:93265f86dd8b | 91098:bbf4813494da |
---|---|
4766 XSETFRAME (inev.frame_or_window, f); | 4766 XSETFRAME (inev.frame_or_window, f); |
4767 inev.timestamp = msg.msg.time; | 4767 inev.timestamp = msg.msg.time; |
4768 } | 4768 } |
4769 break; | 4769 break; |
4770 | 4770 |
4771 case WM_UNICHAR: | |
4771 case WM_SYSCHAR: | 4772 case WM_SYSCHAR: |
4772 case WM_CHAR: | 4773 case WM_CHAR: |
4773 f = x_window_to_frame (dpyinfo, msg.msg.hwnd); | 4774 f = x_window_to_frame (dpyinfo, msg.msg.hwnd); |
4774 | 4775 |
4775 if (f && !f->iconified) | 4776 if (f && !f->iconified) |
4782 } | 4783 } |
4783 | 4784 |
4784 if (temp_index == sizeof temp_buffer / sizeof (short)) | 4785 if (temp_index == sizeof temp_buffer / sizeof (short)) |
4785 temp_index = 0; | 4786 temp_index = 0; |
4786 temp_buffer[temp_index++] = msg.msg.wParam; | 4787 temp_buffer[temp_index++] = msg.msg.wParam; |
4787 inev.kind = ASCII_KEYSTROKE_EVENT; | 4788 if (msg.msg.message == WM_UNICHAR) |
4788 inev.code = msg.msg.wParam; | 4789 { |
4790 inev.kind = MULTIBYTE_CHAR_KEYSTROKE_EVENT; | |
4791 inev.code = msg.msg.wParam; | |
4792 } | |
4793 else | |
4794 { | |
4795 inev.kind = ASCII_KEYSTROKE_EVENT; | |
4796 inev.code = msg.msg.wParam; | |
4797 } | |
4789 inev.modifiers = msg.dwModifiers; | 4798 inev.modifiers = msg.dwModifiers; |
4790 XSETFRAME (inev.frame_or_window, f); | 4799 XSETFRAME (inev.frame_or_window, f); |
4791 inev.timestamp = msg.msg.time; | 4800 inev.timestamp = msg.msg.time; |
4792 } | 4801 } |
4793 break; | 4802 break; |