From bea88f76639cd981615827ca4147cf9c189c0542 Mon Sep 17 00:00:00 2001 From: Shmuel Zeigerman Date: Tue, 21 Feb 2023 13:25:21 +0200 Subject: [PATCH] Macros like AltQ were not called if the layout was Russian --- far2l/src/macro/macro.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/far2l/src/macro/macro.cpp b/far2l/src/macro/macro.cpp index 84a202400..ab056c67e 100644 --- a/far2l/src/macro/macro.cpp +++ b/far2l/src/macro/macro.cpp @@ -3574,7 +3574,7 @@ bool KeyMacro::ProcessKey(DWORD dwKey) { auto key = dwKey; if ((key&0x00FFFFFF) > 0x7F && (key&0x00FFFFFF) < 0xFFFF) - key=KeyToKeyLayout(key); + key = KeyToKeyLayout(key&0x0000FFFF) | (key&(~0x0000FFFF)); if (key<0xFFFF) key=Upper(static_cast(key)); @@ -3918,7 +3918,7 @@ LONG_PTR WINAPI KeyMacro::AssignMacroDlgProc(HANDLE hDlg,int Msg,int Param1,LONG // M1: if ((Param2&0x00FFFFFF) > 0x7F && (Param2&0x00FFFFFF) < 0xFFFF) - Param2=KeyToKeyLayout(Param2); + Param2 = KeyToKeyLayout(Param2&0x0000FFFF) | (Param2&(~0x0000FFFF)); //косметика if (Param2<0xFFFF)