Fix problem with fake Control press on Alt-Gr
https://bugs.freedesktop.org/show_bug.cgi?id=3680 https://bugs.freedesktop.org/show_bug.cgi?id=3497 Fix static declaration of winGetBaseDir
This commit is contained in:
parent
3af77ad3e7
commit
0bb2eb8eaa
|
@ -1,3 +1,14 @@
|
|||
2005-07-05 Alexander Gottwald <ago at freedesktop dot org>
|
||||
|
||||
* winmultiwindowwndproc.c:
|
||||
* winkeybd.c:
|
||||
Fix problem with fake Control press on Alt-Gr
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=3680
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=3497
|
||||
|
||||
* InitOutput.c:
|
||||
Fix static declaration of winGetBaseDir
|
||||
|
||||
2005-07-05 Alexander Gottwald <ago at freedesktop dot org>
|
||||
|
||||
* winwindow.h:
|
||||
|
|
|
@ -129,6 +129,11 @@ winLogVersionInfo (void);
|
|||
Bool
|
||||
winValidateArgs (void);
|
||||
|
||||
#ifdef RELOCATE_PROJECTROOT
|
||||
const char *
|
||||
winGetBaseDir(void);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* For the depth 24 pixmap we default to 32 bits per pixel, but
|
||||
* we change this pixmap format later if we detect that the display
|
||||
|
@ -379,7 +384,7 @@ winCheckMount(void)
|
|||
#endif
|
||||
|
||||
#ifdef RELOCATE_PROJECTROOT
|
||||
static const char *
|
||||
const char *
|
||||
winGetBaseDir(void)
|
||||
{
|
||||
static BOOL inited = FALSE;
|
||||
|
|
|
@ -453,7 +453,7 @@ winIsFakeCtrl_L (UINT message, WPARAM wParam, LPARAM lParam)
|
|||
* Fake Ctrl_L presses will be followed by an Alt_R keypress
|
||||
* with the same timestamp as the Ctrl_L press.
|
||||
*/
|
||||
if (message == WM_KEYDOWN
|
||||
if ((message == WM_KEYDOWN || message == WM_SYSKEYDOWN)
|
||||
&& wParam == VK_CONTROL
|
||||
&& (HIWORD (lParam) & KF_EXTENDED) == 0)
|
||||
{
|
||||
|
@ -464,7 +464,7 @@ winIsFakeCtrl_L (UINT message, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
/* Look for fake Ctrl_L preceeding an Alt_R press. */
|
||||
fReturn = PeekMessage (&msgNext, NULL,
|
||||
WM_KEYDOWN, WM_KEYDOWN,
|
||||
WM_KEYDOWN, WM_SYSKEYDOWN,
|
||||
PM_NOREMOVE);
|
||||
|
||||
/*
|
||||
|
@ -478,9 +478,11 @@ winIsFakeCtrl_L (UINT message, WPARAM wParam, LPARAM lParam)
|
|||
|
||||
/* Look for fake Ctrl_L preceeding an Alt_R press. */
|
||||
fReturn = PeekMessage (&msgNext, NULL,
|
||||
WM_KEYDOWN, WM_KEYDOWN,
|
||||
WM_KEYDOWN, WM_SYSKEYDOWN,
|
||||
PM_NOREMOVE);
|
||||
}
|
||||
if (msgNext.message != WM_KEYDOWN && msgNext.message != WM_SYSKEYDOWN)
|
||||
fReturn = 0;
|
||||
|
||||
/* Is next press an Alt_R with the same timestamp? */
|
||||
if (fReturn && msgNext.wParam == VK_MENU
|
||||
|
@ -529,6 +531,9 @@ winIsFakeCtrl_L (UINT message, WPARAM wParam, LPARAM lParam)
|
|||
PM_NOREMOVE);
|
||||
}
|
||||
|
||||
if (msgNext.message != WM_KEYUP && msgNext.message != WM_SYSKEYUP)
|
||||
fReturn = 0;
|
||||
|
||||
/* Is next press an Alt_R with the same timestamp? */
|
||||
if (fReturn
|
||||
&& (msgNext.message == WM_KEYUP
|
||||
|
|
|
@ -720,16 +720,14 @@ winTopLevelWindowProc (HWND hwnd, UINT message,
|
|||
#endif
|
||||
|
||||
/* Pass the message to the root window */
|
||||
SendMessage (hwndScreen, message, wParam, lParam);
|
||||
return 0;
|
||||
return winWindowProc(hwndScreen, message, wParam, lParam);
|
||||
|
||||
case WM_SYSKEYUP:
|
||||
case WM_KEYUP:
|
||||
|
||||
|
||||
/* Pass the message to the root window */
|
||||
SendMessage (hwndScreen, message, wParam, lParam);
|
||||
return 0;
|
||||
return winWindowProc(hwndScreen, message, wParam, lParam);
|
||||
|
||||
case WM_HOTKEY:
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user