copy&paste enhancement

patch by "brbak"
(see bug 749)

svn path=/trunk/; revision=17830
This commit is contained in:
Royce Mitchell III 2005-09-13 14:34:48 +00:00
parent 03d6ef4607
commit 0dbbd80237

View file

@ -516,7 +516,7 @@ KeyboardThreadMain(PVOID StartContext)
ModifierState |= fsModifiers; ModifierState |= fsModifiers;
if (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 /* First send out special notifications
* (For alt, the message that turns on accelerator * (For alt, the message that turns on accelerator
@ -637,7 +637,29 @@ KeyboardThreadMain(PVOID StartContext)
else else
msg.message = WM_SYSKEYUP; msg.message = WM_SYSKEYUP;
} }
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 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)) if (!(KeyInput.Flags & KEY_BREAK))
msg.message = WM_KEYDOWN; msg.message = WM_KEYDOWN;