Index: InitOutput.c =================================================================== RCS file: /cvsroot/xoncygwin/xc/programs/Xserver/hw/xwin/InitOutput.c,v retrieving revision 1.5 diff -u -r1.5 InitOutput.c --- InitOutput.c 8 Nov 2003 20:18:59 -0000 1.5 +++ InitOutput.c 19 Nov 2003 16:31:16 -0000 @@ -1237,6 +1237,15 @@ return 1; } + /* + * Look for the '-kb' argument + */ + if (IS_OPTION ("-kb")) + { + g_cmdline.noXkbExtension = TRUE; + return 0; /* Let DIX parse this again */ + } + return 0; } Index: winwndproc.c =================================================================== RCS file: /cvsroot/xoncygwin/xc/programs/Xserver/hw/xwin/winwndproc.c,v retrieving revision 1.4 diff -u -r1.4 winwndproc.c --- winwndproc.c 8 Nov 2003 20:18:59 -0000 1.4 +++ winwndproc.c 19 Nov 2003 16:31:17 -0000 @@ -905,9 +905,15 @@ if (wParam == VK_LWIN || wParam == VK_RWIN) break; - /* Discard presses generated from Windows auto-repeat */ - if (lParam & (1<<30)) - return 0; + /* + * Discard presses generated from Windows auto-repeat + * ago: Only discard them if XKB is not disabled + */ + if (!g_winInfo.xkb.disable) + { + if (lParam & (1<<30)) + return 0; + } /* Discard fake Ctrl_L presses that precede AltGR on non-US keyboards */ if (winIsFakeCtrl_L (message, wParam, lParam))