From 973c00e544298d568eeebba635077d7de977d2f0 Mon Sep 17 00:00:00 2001 From: Evgeny Date: Sat, 25 Apr 2026 19:22:00 +0300 Subject: [PATCH] add etcpmon keyboard navigation: Tab between Server/Port, Enter=Connect, Esc=Disconnect --- tools/etcpmon/etcpmon_gui.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tools/etcpmon/etcpmon_gui.c b/tools/etcpmon/etcpmon_gui.c index d53a4d0b..c549f8f4 100644 --- a/tools/etcpmon/etcpmon_gui.c +++ b/tools/etcpmon/etcpmon_gui.c @@ -972,6 +972,31 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM l return 0; } break; + case WM_KEYDOWN: + if (app) { + switch (wParam) { + case VK_TAB: { + HWND hFocus = GetFocus(); + if (hFocus == app->hEditAddr) { + SetFocus(app->hEditPort); + int len = GetWindowTextLengthA(app->hEditPort); + SendMessageA(app->hEditPort, EM_SETSEL, len, len); + } else if (hFocus == app->hEditPort) { + SetFocus(app->hEditAddr); + int len = GetWindowTextLengthA(app->hEditAddr); + SendMessageA(app->hEditAddr, EM_SETSEL, len, len); + } + return 0; + } + case VK_RETURN: + if (!app->isConnected) OnConnect(app); + return 0; + case VK_ESCAPE: + if (app->isConnected) OnDisconnect(app); + return 0; + } + } + break; case WM_DESTROY: PostQuitMessage(0);