mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-04-28 14:40:42 +02:00
Fix problem with fake Control press on Alt-Gr
This commit is contained in:
parent
d2ca9f4c92
commit
8c86c463a0
3 changed files with 16 additions and 7 deletions
|
|
@ -1,3 +1,9 @@
|
|||
2005-07-05 Alexander Gottwald <ago at freedesktop dot org>
|
||||
|
||||
* winmultiwindowwndproc.c:
|
||||
* winkeybd.c:
|
||||
Fix problem with fake Control press on Alt-Gr
|
||||
|
||||
2005-06-08 Alexander Gottwald <ago at freedesktop dot org>
|
||||
|
||||
* winlayouts.h:
|
||||
|
|
|
|||
|
|
@ -448,7 +448,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)
|
||||
{
|
||||
|
|
@ -459,7 +459,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);
|
||||
|
||||
/*
|
||||
|
|
@ -473,9 +473,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
|
||||
|
|
@ -524,6 +526,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
|
||||
|
|
|
|||
|
|
@ -734,8 +734,7 @@ 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:
|
||||
|
|
@ -745,8 +744,7 @@ 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_HOTKEY:
|
||||
#if CYGMULTIWINDOW_DEBUG
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue