--- trunk/reactos/subsys/win32k/ntuser/input.c 2005-09-13 11:57:50 UTC (rev 17829)
+++ trunk/reactos/subsys/win32k/ntuser/input.c 2005-09-13 14:34:48 UTC (rev 17830)
@@ -516,7 +516,7 @@
ModifierState |= fsModifiers;
if (ModifierState == fsModifiers &&
- (fsModifiers == MOD_ALT || fsModifiers == MOD_WIN))
+ (fsModifiers == MOD_ALT || fsModifiers == MOD_WIN || fsModifiers == MOD_CONTROL))
{
/* First send out special notifications
* (For alt, the message that turns on accelerator
@@ -637,7 +637,29 @@
else
msg.message = WM_SYSKEYUP;
}
- else
+ else if (ModifierState & MOD_CONTROL)
+ {
+ if(NextKeyInput.MakeCode == 0x2E)/* Ctrl-C */
+ {
+ DPRINT1("Ctrl-C pressed\n");
+ co_MsqPostKeyboardMessage(WM_COPY,0,0);
+ continue;
+ }
+ else if(NextKeyInput.MakeCode == 0x2F) /* Ctrl-V */
+ {
+ DPRINT1("Ctrl-V pressed\n");
+ co_MsqPostKeyboardMessage(WM_PASTE,0,0);
+ continue;
+ }
+ else
+ {
+ DPRINT1("Ctrl with unknown combination %04x\n",NextKeyInput.MakeCode);
+ if (!(KeyInput.Flags & KEY_BREAK))
+ msg.message = WM_KEYDOWN;
+ else
+ msg.message = WM_KEYUP;
+ }
+ }else
{
if (!(KeyInput.Flags & KEY_BREAK))
msg.message = WM_KEYDOWN;