aboutsummaryrefslogtreecommitdiff
path: root/RadTerminal.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'RadTerminal.cpp')
-rw-r--r--RadTerminal.cpp9
1 files changed, 4 insertions, 5 deletions
diff --git a/RadTerminal.cpp b/RadTerminal.cpp
index b009d48..591e87f 100644
--- a/RadTerminal.cpp
+++ b/RadTerminal.cpp
@@ -1029,9 +1029,11 @@ void RadTerminalWindowSendKey(HWND hWnd, UINT vk, UINT scan, bool extended)
//case VK_: keysym = XKB_KEY_R15; break;
}
- tsm_screen_selection_reset(data->screen);
if (vk != VK_SHIFT && vk != VK_CONTROL && vk != VK_MENU)
+ {
+ tsm_screen_selection_reset(data->screen);
tsm_screen_sb_reset(data->screen);
+ }
if (keysym != XKB_KEY_NoSymbol)
tsm_vte_handle_keyboard(data->vte, keysym, ascii, mods, unicode);
InvalidateRect(hWnd, nullptr, TRUE);
@@ -1041,14 +1043,12 @@ void RadTerminalWindowOnKeyDown(HWND hWnd, UINT vk, BOOL fDown, int cRepeat, UIN
{
FORWARD_WM_KEYDOWN(hWnd, vk, cRepeat, flags, MyDefWindowProc);
- BYTE KeyState[256];
- GetKeyboardState(KeyState);
-
bool bPassOn = true;
switch (vk)
{
case VK_ESCAPE: bPassOn = ActionClearSelection(hWnd) < 0; break;
case VK_RETURN: bPassOn = ActionCopyToClipboard(hWnd) < 0; break;
+ case 'C': if (GetKeyState(VK_CONTROL) & 0x80) bPassOn = ActionCopyToClipboard(hWnd) < 0; break;
}
if (bPassOn)
@@ -1252,7 +1252,6 @@ void RadTerminalWindowOnCommand(HWND hWnd, int id, HWND hWndCtl, UINT codeNotify
{
switch (id)
{
- case ID_EDIT_COPY: ActionCopyToClipboard(hWnd); break;
case ID_EDIT_PASTE: ActionPasteFromClipboard(hWnd); break;
case ID_VIEW_SCROLL_UP: ActionScrollbackUp(hWnd); break;
case ID_VIEW_SCROLL_DOWN: ActionScrollbackDown(hWnd); break;