From 9e577d862c5995b03951b9090ff8fa0b5fbbbbdb Mon Sep 17 00:00:00 2001 From: unxed Date: Sat, 14 Dec 2019 03:13:33 +0300 Subject: [PATCH] - Refactored keyboard processing code, added more modifiers - Fixed hangs on multiple continious copy-to-clipboard attempts - Slightly more error proof code - Preliminary work on notifications support - Fresh binary --- .gitignore | 4 +- terminal.c | 119 ++++++++++++++++++++++++++++++++++++++++------ terminal.h | 1 + windows/putty.exe | Bin 891392 -> 891392 bytes windows/window.c | 75 +++++++++++++---------------- 5 files changed, 141 insertions(+), 58 deletions(-) diff --git a/.gitignore b/.gitignore index 09c8eb4..910ae38 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ *.o -windows/putty.map \ No newline at end of file +windows/putty.map +windows/make__quickrun.sh +windows/putty.log diff --git a/terminal.c b/terminal.c index 634656a..ad9f348 100644 --- a/terminal.c +++ b/terminal.c @@ -1677,6 +1677,7 @@ Terminal *term_init(Conf *myconf, struct unicode_data *ucsdata, TermWin *win) term->far2l_ext = 0; term->is_apc = 0; term->clip_allowed = -1; + term->clip_empty_pending = 0; term->win = win; term->ucsdata = ucsdata; @@ -2821,6 +2822,72 @@ static void do_osc(Terminal *term) // next from the end byte is command switch (d_out[d_count-2]) { + case 'n':; + + /* // not ready yet + + // todo: generate some reply + // todo: show notification only if window is out of focus + // todo: remove icon after notification timeout or by mouse click + + // title length, source, utf8, no zero-terminate, bytes + DWORD len1; + memcpy(&len1, d_out+d_count-6, sizeof(len1)); + + // text length, source, utf8, no zero-terminate, bytes + DWORD len2; + memcpy(&len2, d_out+d_count-6-4-len1, sizeof(len2)); + + // destination (wide char) + LPWSTR text_wc, title_wc; + int textsz_wc, titlesz_wc; + + // notification may contain file names in non-latin + // or may have localized title + // so we can not assume ascii here and should do + // full utf8->multibyte conversion + + titlesz_wc = MultiByteToWideChar(CP_UTF8, 0, (LPCCH)(d_out+len2+4), len1, 0, 0); + textsz_wc = MultiByteToWideChar(CP_UTF8, 0, (LPCCH)d_out, len2, 0, 0); + + if (titlesz_wc && textsz_wc) { + title_wc = malloc((titlesz_wc+1)*sizeof(wchar_t)); + MultiByteToWideChar(CP_UTF8, 0, (LPCCH)(d_out+len2+4), len1, title_wc, titlesz_wc); + text_wc = malloc((textsz_wc+1)*sizeof(wchar_t)); + MultiByteToWideChar(CP_UTF8, 0, (LPCCH)d_out, len2, text_wc, textsz_wc); + + title_wc[titlesz_wc] = 0; + text_wc[textsz_wc] = 0; + + NOTIFYICONDATAW pnid; + + // todo: do this on window focus also + pnid.cbSize = sizeof(pnid); + pnid.hWnd = hwnd; + pnid.hIcon = LoadIcon(0, IDI_APPLICATION); + pnid.uID = 200; + Shell_NotifyIconW(NIM_DELETE, &pnid); + + // todo: use putty icon + pnid.cbSize = sizeof(pnid); + pnid.hWnd = hwnd; + pnid.hIcon = LoadIcon(0, IDI_APPLICATION); + pnid.uID = 200; + pnid.uFlags = NIF_ICON | NIF_INFO | NIF_MESSAGE; + pnid.uCallbackMessage = (WM_USER + 200); + pnid.dwInfoFlags = NIIF_INFO | NIIF_NOSOUND; + memcpy(pnid.szInfoTitle, title_wc, (titlesz_wc+1)*sizeof(wchar_t)); + memcpy(pnid.szInfo, text_wc, (textsz_wc+1)*sizeof(wchar_t)); + Shell_NotifyIconW(NIM_ADD, &pnid); + + free(text_wc); + free(title_wc); + } + + */ + + break; + case 'w': // get largest console window size @@ -2868,18 +2935,29 @@ static void do_osc(Terminal *term) case 'e':; - OpenClipboard(hwnd); - char ec_status = EmptyClipboard() ? 1 : 0; - CloseClipboard(); + char ec_status; + /* + // EmptyClipboard() behaves VERY strange if called from here + // (test case: many continious Ctrl+Ins presses + // with selected text string of 174 characters in size), + // but works well if called just before SetClipboardData(). + // So deferreing a call to it. + if (term->clip_allowed == -1) { + OpenClipboard(hwnd); + ec_status = EmptyClipboard() ? 1 : 0; + CloseClipboard(); + } + */ + term->clip_empty_pending = 1; + ec_status = 1; // simulate "ok" reply_size = 2; reply = malloc(reply_size); - memcpy(reply, &ec_status, sizeof(char)); + reply[0] = ec_status; break; - case 'a':; DWORD a_fmt = (DWORD)d_out[d_count-7]; @@ -2960,19 +3038,27 @@ static void do_osc(Terminal *term) memcpy(GData,buffer,BufferSize); GlobalUnlock(hData); - OpenClipboard(hwnd); + if (OpenClipboard(hwnd)) { + + if (term->clip_empty_pending) { + EmptyClipboard(); // todo: check errors + term->clip_empty_pending = 0; + } + + if (!SetClipboardData(fmt, (HANDLE)hData)) { - if (SetClipboardData(fmt, (HANDLE)hData)) { + GlobalFree(hData); + } CloseClipboard(); - } else { + } else { GlobalFree(hData); } - } - else - { + + } else { + GlobalFree(hData); } } @@ -3004,11 +3090,13 @@ static void do_osc(Terminal *term) // clipboard stuff itself - wchar_t *ClipText=NULL; + wchar_t *ClipText = NULL; + HANDLE hClipData = NULL; - OpenClipboard(hwnd); - HANDLE hClipData=GetClipboardData(gfmt); - CloseClipboard(); + if (OpenClipboard(hwnd)) { + hClipData = GetClipboardData(gfmt); + CloseClipboard(); + } if (hClipData) { @@ -3025,6 +3113,7 @@ static void do_osc(Terminal *term) GlobalUnlock(hClipData); } + } else { // todo: process errors } diff --git a/terminal.h b/terminal.h index c0f30ea..a655c2b 100644 --- a/terminal.h +++ b/terminal.h @@ -191,6 +191,7 @@ struct terminal_tag { int far2l_ext; bool is_apc; int clip_allowed; + bool clip_empty_pending; char id_string[1024]; diff --git a/windows/putty.exe b/windows/putty.exe index e51dbe30ac1bb31ae07aea114f9df1df949b81b9..1eef29c348d95201b5fe3ce641f30d33a4d404fe 100755 GIT binary patch delta 66014 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 Bu&Dq5 delta 65775 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 diff --git a/windows/window.c b/windows/window.c index 7beb00d..e1cf7cb 100644 --- a/windows/window.c +++ b/windows/window.c @@ -3217,19 +3217,6 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, /* far2l */ if (term->far2l_ext) { - // out base64 library splits long strings with \n - // do we actuall need this behavour? - - // get unicode char - BYTE kb[256]; - GetKeyboardState(kb); - WCHAR uc[5] = {}; - - ToUnicode(wParam, MapVirtualKey(wParam, MAPVK_VK_TO_VSC), kb, uc, 4, 0); - - // todo: check result - //int result = ToUnicode(wParam, MapVirtualKey(wParam, MAPVK_VK_TO_VSC), kb, uc, 4, 0); - // far2l_ext keyboard input event structure DWORD repeat; // 4 WORD vkc; // 2 @@ -3243,38 +3230,35 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, vkc = LOWORD(wParam); vsc = HIWORD(lParam) & 0xFF; + // set control keys state ctrl = 0; - - if (GetAsyncKeyState(VK_CONTROL)) { - ctrl |= LEFT_CTRL_PRESSED; - } - if (GetAsyncKeyState(VK_RCONTROL)) { - ctrl |= RIGHT_CTRL_PRESSED; - } - if (GetAsyncKeyState(VK_MENU)) { - ctrl |= LEFT_ALT_PRESSED; - } - if (GetAsyncKeyState(VK_SHIFT)) { - ctrl |= SHIFT_PRESSED; - } - - if ((lParam & ( 1 << 24 )) >> 24) { - ctrl |= ENHANCED_KEY; - } - - if ((((u_short)GetKeyState(VK_NUMLOCK)) & 0xffff) != 0) { - ctrl |= NUMLOCK_ON; - } - - if ((((u_short)GetKeyState(VK_SCROLL)) & 0xffff) != 0) { - ctrl |= SCROLLLOCK_ON; - } - - if ((((u_short)GetKeyState(VK_CAPITAL)) & 0xffff) != 0) { - ctrl |= CAPSLOCK_ON; - } + if (GetAsyncKeyState(VK_LCONTROL)) { ctrl |= LEFT_CTRL_PRESSED; } + if (GetAsyncKeyState(VK_RCONTROL)) { ctrl |= RIGHT_CTRL_PRESSED; } + if (GetAsyncKeyState(VK_LMENU)) { ctrl |= LEFT_ALT_PRESSED; } + if (GetAsyncKeyState(VK_RMENU)) { ctrl |= RIGHT_ALT_PRESSED; } + if (GetAsyncKeyState(VK_SHIFT)) { ctrl |= SHIFT_PRESSED; } + // begin: reserved for future usage + // Console WinAPI does not allow us to distinguish between left and right + // shift keys. But PuTTY is not a console app, so why not to send + // all information about control keys state that we actually have here? + // Using bits not used by any other status for backward compatibility. + #define RIGHT_SHIFT_PRESSED 0x1000 + #define LEFT_SHIFT_PRESSED 0x2000 + if (GetAsyncKeyState(VK_LSHIFT)) { ctrl |= RIGHT_SHIFT_PRESSED; } + if (GetAsyncKeyState(VK_RSHIFT)) { ctrl |= LEFT_SHIFT_PRESSED; } + // end + if ((lParam & ( 1 << 24 )) >> 24) { ctrl |= ENHANCED_KEY; } + if ((((u_short)GetKeyState(VK_NUMLOCK)) & 0xffff) != 0) { ctrl |= NUMLOCK_ON; } + if ((((u_short)GetKeyState(VK_SCROLL)) & 0xffff) != 0) { ctrl |= SCROLLLOCK_ON; } + if ((((u_short)GetKeyState(VK_CAPITAL)) & 0xffff) != 0) { ctrl |= CAPSLOCK_ON; } // set unicode character + BYTE kb[256]; + GetKeyboardState(kb); + WCHAR uc[5] = {}; + ToUnicode(wParam, MapVirtualKey(wParam, MAPVK_VK_TO_VSC), kb, uc, 4, 0); + // todo: check result + //int result = ToUnicode(wParam, MapVirtualKey(wParam, MAPVK_VK_TO_VSC), kb, uc, 4, 0); uchar = uc[0]; // set event type @@ -3292,6 +3276,13 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, memcpy(kev + 12, &uchar, sizeof(uchar)); memcpy(kev + 16, &type, sizeof(type)); + /* + FILE *f; f = fopen("putty.log", "a"); + fprintf(f, "r: %ld, vkc: %c, vsc: %c, ctrl: %ld, uchar: %ld, type: %lc\n", + repeat, vkc, vsc, ctrl, uchar, type); + fclose(f); + */ + // base64-encode kev // result in null-terminated char* out base64_encodestate _state;