1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-15 06:04:49 +01:00

add new .ini setting to force release alt key on alt+tab

This commit is contained in:
FunkyFr3sh 2021-09-16 01:57:44 +02:00
parent 098bf6a248
commit 58a86abfc8
3 changed files with 20 additions and 15 deletions

View File

@ -135,6 +135,7 @@ typedef struct CNCDDRAW
BOOL cnchack;
int maxgameticks;
BOOL alt_key_down;
BOOL releasealt;
BOOL bnet_active;
BOOL bnet_was_fullscreen;
BOOL bnet_was_upscaled;

View File

@ -64,6 +64,7 @@ void cfg_load()
g_ddraw->fixwndprochook = cfg_get_bool("fixwndprochook", FALSE);
g_ddraw->fixmousehook = cfg_get_bool("fixmousehook", FALSE);
g_ddraw->fixnotresponding = cfg_get_bool("fixnotresponding", FALSE);
g_ddraw->releasealt = cfg_get_bool("releasealt", FALSE);
g_ddraw->d3d9linear = cfg_get_bool("d3d9linear", TRUE);
g_ddraw->gdilinear = cfg_get_bool("gdilinear", FALSE);
g_ddraw->resolutions = cfg_get_int("resolutions", RESLIST_NORMAL);
@ -725,16 +726,19 @@ static void cfg_create_ini()
"[ja2]\n"
"fixmousehook=true\n"
"noactivateapp=true\n"
"releasealt=true\n"
"\n"
"; Jagged Alliance 2: Wildfire\n"
"[WF6]\n"
"fixmousehook=true\n"
"noactivateapp=true\n"
"releasealt=true\n"
"\n"
"; Jagged Alliance 2 - UC mod\n"
"[JA2_UC]\n"
"fixmousehook=true\n"
"noactivateapp=true\n"
"releasealt=true\n"
"\n"
"; Kings Quest 8\n"
"[Mask]\n"
@ -920,7 +924,8 @@ static void cfg_create_ini()
"[Wiz8]\n"
"fixmousehook=true\n"
"noactivateapp=true\n"
"\n"
"releasealt=true\n"
"\n"
"; Worms Armageddon\n"
"[WA]\n"
"adjmouse=true\n"

View File

@ -528,6 +528,17 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
}
}
if (wParam && g_ddraw->releasealt)
{
INPUT ip;
memset(&ip, 0, sizeof(ip));
ip.type = INPUT_KEYBOARD;
ip.ki.wVk = VK_MENU;
ip.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &ip, sizeof(ip));
}
if (g_ddraw->windowed || g_ddraw->noactivateapp)
{
/* let it pass through once (tiberian sun) */
@ -538,21 +549,9 @@ LRESULT CALLBACK fake_WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam
one_time = TRUE;
break;
}
/* jagged alliance 2 */
if (wParam)
{
INPUT ip;
memset(&ip, 0, sizeof(ip));
ip.type = INPUT_KEYBOARD;
ip.ki.wVk = VK_MENU;
ip.ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, &ip, sizeof(ip));
}
//if (wParam && g_ddraw->alt_key_down)
// PostMessageA(g_ddraw->hwnd, WM_SYSKEYUP, VK_MENU, 0);
if (wParam && g_ddraw->alt_key_down && !g_ddraw->releasealt)
PostMessageA(g_ddraw->hwnd, WM_SYSKEYUP, VK_MENU, 0);
return 0;
}