From 9b095a9e16f01ed19c116f85b895f26ff24649e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Wed, 17 Jul 2024 20:09:48 +0200 Subject: [PATCH] New approach: If Alt is mapped to anything, don't have it open the menu. --- Windows/MainWindow.cpp | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/Windows/MainWindow.cpp b/Windows/MainWindow.cpp index e92305e5bd0b..f72abc7ed1a1 100644 --- a/Windows/MainWindow.cpp +++ b/Windows/MainWindow.cpp @@ -1092,29 +1092,28 @@ namespace MainWindow // Note that if there's a screensaver password, this simple method // doesn't work on Vista or higher. case WM_SYSCOMMAND: - { - // Disable Alt key for menu if "Ignore Windows Key" is on (likely related) - if (g_Config.bIgnoreWindowsKey && wParam == SC_KEYMENU && (lParam >> 16) <= 0) { + // Disable Alt key for menu if it's been mapped. + if (wParam == SC_KEYMENU && (lParam >> 16) <= 0) { + if (KeyMap::IsKeyMapped(DEVICE_ID_KEYBOARD, NKCODE_ALT_LEFT) || KeyMap::IsKeyMapped(DEVICE_ID_KEYBOARD, NKCODE_ALT_RIGHT)) { return 0; } - if (g_keepScreenBright) { - switch (wParam) { - case SC_SCREENSAVE: + } + if (g_keepScreenBright) { + switch (wParam) { + case SC_SCREENSAVE: + return 0; + case SC_MONITORPOWER: + if (lParam == 1 || lParam == 2) { return 0; - case SC_MONITORPOWER: - if (lParam == 1 || lParam == 2) { - return 0; - } else { - break; - } - default: - // fall down to DefWindowProc + } else { break; } + default: + // fall down to DefWindowProc + break; } - return DefWindowProc(hWnd, message, wParam, lParam); } - break; + return DefWindowProc(hWnd, message, wParam, lParam); case WM_SETTINGCHANGE: { if (g_darkModeSupported && IsColorSchemeChangeMessage(lParam))