"MS NewPhonetics"), move events (arrow keys) were being doubled up,
apparently because we turned both KEYDOWN and KEYUP events into new
KEYDOWN events.
I don't claim to understand the precise effect of this patch :( but
I'm reasonably confident that it only affects IME users, and experimentally
it doesn't seem to break anything obvious, so if piaip says it makes
things better that's good enough for me :)
git-svn-id: svn://svn.tartarus.org/sgt/putty@5545
cda61777-01e9-0310-a592-
d414129be87e
unsigned char buf[20];
int len;
- if (wParam == VK_PROCESSKEY) {
- MSG m;
- m.hwnd = hwnd;
- m.message = WM_KEYDOWN;
- m.wParam = wParam;
- m.lParam = lParam & 0xdfff;
- TranslateMessage(&m);
+ if (wParam == VK_PROCESSKEY) { /* IME PROCESS key */
+ if (message == WM_KEYDOWN) {
+ MSG m;
+ m.hwnd = hwnd;
+ m.message = WM_KEYDOWN;
+ m.wParam = wParam;
+ m.lParam = lParam & 0xdfff;
+ TranslateMessage(&m);
+ } else break; /* pass to Windows for default processing */
} else {
len = TranslateKey(message, wParam, lParam, buf);
if (len == -1)