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>
|
2005-07-05 Alexander Gottwald <ago at freedesktop dot org>
|
||||||
|
|
||||||
* winwindow.h:
|
* winwindow.h:
|
||||||
|
|
|
@ -129,6 +129,11 @@ winLogVersionInfo (void);
|
||||||
Bool
|
Bool
|
||||||
winValidateArgs (void);
|
winValidateArgs (void);
|
||||||
|
|
||||||
|
#ifdef RELOCATE_PROJECTROOT
|
||||||
|
const char *
|
||||||
|
winGetBaseDir(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* For the depth 24 pixmap we default to 32 bits per pixel, but
|
* 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
|
* we change this pixmap format later if we detect that the display
|
||||||
|
@ -379,7 +384,7 @@ winCheckMount(void)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef RELOCATE_PROJECTROOT
|
#ifdef RELOCATE_PROJECTROOT
|
||||||
static const char *
|
const char *
|
||||||
winGetBaseDir(void)
|
winGetBaseDir(void)
|
||||||
{
|
{
|
||||||
static BOOL inited = FALSE;
|
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
|
* Fake Ctrl_L presses will be followed by an Alt_R keypress
|
||||||
* with the same timestamp as the Ctrl_L press.
|
* with the same timestamp as the Ctrl_L press.
|
||||||
*/
|
*/
|
||||||
if (message == WM_KEYDOWN
|
if ((message == WM_KEYDOWN || message == WM_SYSKEYDOWN)
|
||||||
&& wParam == VK_CONTROL
|
&& wParam == VK_CONTROL
|
||||||
&& (HIWORD (lParam) & KF_EXTENDED) == 0)
|
&& (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. */
|
/* Look for fake Ctrl_L preceeding an Alt_R press. */
|
||||||
fReturn = PeekMessage (&msgNext, NULL,
|
fReturn = PeekMessage (&msgNext, NULL,
|
||||||
WM_KEYDOWN, WM_KEYDOWN,
|
WM_KEYDOWN, WM_SYSKEYDOWN,
|
||||||
PM_NOREMOVE);
|
PM_NOREMOVE);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -478,9 +478,11 @@ winIsFakeCtrl_L (UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
|
|
||||||
/* Look for fake Ctrl_L preceeding an Alt_R press. */
|
/* Look for fake Ctrl_L preceeding an Alt_R press. */
|
||||||
fReturn = PeekMessage (&msgNext, NULL,
|
fReturn = PeekMessage (&msgNext, NULL,
|
||||||
WM_KEYDOWN, WM_KEYDOWN,
|
WM_KEYDOWN, WM_SYSKEYDOWN,
|
||||||
PM_NOREMOVE);
|
PM_NOREMOVE);
|
||||||
}
|
}
|
||||||
|
if (msgNext.message != WM_KEYDOWN && msgNext.message != WM_SYSKEYDOWN)
|
||||||
|
fReturn = 0;
|
||||||
|
|
||||||
/* Is next press an Alt_R with the same timestamp? */
|
/* Is next press an Alt_R with the same timestamp? */
|
||||||
if (fReturn && msgNext.wParam == VK_MENU
|
if (fReturn && msgNext.wParam == VK_MENU
|
||||||
|
@ -529,6 +531,9 @@ winIsFakeCtrl_L (UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
PM_NOREMOVE);
|
PM_NOREMOVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (msgNext.message != WM_KEYUP && msgNext.message != WM_SYSKEYUP)
|
||||||
|
fReturn = 0;
|
||||||
|
|
||||||
/* Is next press an Alt_R with the same timestamp? */
|
/* Is next press an Alt_R with the same timestamp? */
|
||||||
if (fReturn
|
if (fReturn
|
||||||
&& (msgNext.message == WM_KEYUP
|
&& (msgNext.message == WM_KEYUP
|
||||||
|
|
|
@ -720,16 +720,14 @@ winTopLevelWindowProc (HWND hwnd, UINT message,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Pass the message to the root window */
|
/* Pass the message to the root window */
|
||||||
SendMessage (hwndScreen, message, wParam, lParam);
|
return winWindowProc(hwndScreen, message, wParam, lParam);
|
||||||
return 0;
|
|
||||||
|
|
||||||
case WM_SYSKEYUP:
|
case WM_SYSKEYUP:
|
||||||
case WM_KEYUP:
|
case WM_KEYUP:
|
||||||
|
|
||||||
|
|
||||||
/* Pass the message to the root window */
|
/* Pass the message to the root window */
|
||||||
SendMessage (hwndScreen, message, wParam, lParam);
|
return winWindowProc(hwndScreen, message, wParam, lParam);
|
||||||
return 0;
|
|
||||||
|
|
||||||
case WM_HOTKEY:
|
case WM_HOTKEY:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue