Mercurial > hg > xemacs-beta
diff src/event-msw.c @ 286:57709be46d1b r21-0b41
Import from CVS: tag r21-0b41
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:35:03 +0200 |
parents | 558f606b08ae |
children | e11d67e05968 |
line wrap: on
line diff
--- a/src/event-msw.c Mon Aug 13 10:34:15 2007 +0200 +++ b/src/event-msw.c Mon Aug 13 10:35:03 2007 +0200 @@ -1600,24 +1600,17 @@ TranslateMessage (&msg); while (PeekMessage (&msg, hwnd, WM_CHAR, WM_CHAR, PM_REMOVE) - ||PeekMessage (&msg, hwnd, WM_SYSCHAR, WM_SYSCHAR, PM_REMOVE)) + || PeekMessage (&msg, hwnd, WM_SYSCHAR, WM_SYSCHAR, PM_REMOVE)) { - int ch = msg.wParam; + WPARAM ch = msg.wParam; /* CH is a character code for the key: 'C' for Shift+C and Ctrl+Shift+C 'c' for c and Ctrl+c */ - /* #### If locale is not C, US or other latin-1, - isalpha() maybe not what do we mean */ - /* XEmacs doesn't seem to like Shift on non-alpha keys */ - if (!isalpha(ch)) + if (!IsCharAlpha ((TCHAR)ch)) mods &= ~MOD_SHIFT; - /* Un-capitalise alpha control keys */ - if ((mods & MOD_CONTROL) && isalpha(ch)) - ch |= ('A' ^ 'a'); - /* If a quit char with no modifiers other than control and shift, then mark it with a fake modifier, which is removed upon dequeueing the event */