From 53b2a792f44aa5e3f2d16be493fab9244678e6c8 Mon Sep 17 00:00:00 2001 From: Keyman Build Agent Date: Wed, 10 Dec 2025 12:01:21 -0600 Subject: [PATCH 1/2] auto: increment master version to 19.0.175 Test-bot: skip Build-bot: skip --- HISTORY.md | 4 ++++ VERSION.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index 58aa8ca338..856c60b57f 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,9 @@ # Keyman Version History +## 19.0.174 alpha 2025-12-10 + +* chore(windows): simple bisect utility for checking setup-redist.exe file size (#15322) + ## 19.0.173 alpha 2025-12-09 * docs(developer): Clarify keystrokes in Step-1 of tutorial (#15326) diff --git a/VERSION.md b/VERSION.md index 76d3c69330..4861c29373 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -19.0.174 \ No newline at end of file +19.0.175 \ No newline at end of file From 612a0173db4a97f59053471aa7728eaef6393dbb Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Fri, 12 Dec 2025 06:11:33 +1100 Subject: [PATCH 2/2] fix(windows): use Thai Kedmanee instead of Arabic 101 in RightAltEmulationCheck.tests.cpp Fixes: #15345 Test-bot: skip --- .../keyman32/RightAltEmulationCheck.cpp | 13 +++++++----- .../tests/RightAltEmulationCheck.tests.cpp | 21 ++++++++++++++----- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/windows/src/engine/keyman32/RightAltEmulationCheck.cpp b/windows/src/engine/keyman32/RightAltEmulationCheck.cpp index 7c1caed8aa..ef10d88aa0 100644 --- a/windows/src/engine/keyman32/RightAltEmulationCheck.cpp +++ b/windows/src/engine/keyman32/RightAltEmulationCheck.cpp @@ -65,7 +65,7 @@ typedef PKBDTABLES_WOW64 (WINAPI *PKBDLAYERDESCRIPTORWOW64FUNC)(VOID); #endif HMODULE LoadKbdLibrary(const char* keyboardLayoutName); -BOOL ReadAltGrFlagFromKbdDll(const char *keyboardLayoutName); +BOOL ReadAltGrFlagFromKbdDll(const char *keyboardLayoutName, BOOL& result); typedef PKBDTABLES (WINAPI *PKBDLAYERDESCRIPTORFUNC)(VOID); @@ -92,14 +92,15 @@ BOOL KeyboardGivesCtrlRAltForRAlt() { char keyboardLayoutName[KL_NAMELENGTH+1]; GetKeyboardLayoutName(keyboardLayoutName); - altGrFlag = ReadAltGrFlagFromKbdDll(keyboardLayoutName); + ReadAltGrFlagFromKbdDll(keyboardLayoutName, altGrFlag); } return altGrFlag; } -BOOL ReadAltGrFlagFromKbdDll(const char *keyboardLayoutName) { - BOOL result = FALSE; +BOOL ReadAltGrFlagFromKbdDll(const char *keyboardLayoutName, BOOL& result) { + BOOL success = FALSE; + result = FALSE; HMODULE hKbdLibrary = LoadKbdLibrary(keyboardLayoutName); if(!hKbdLibrary) { @@ -118,6 +119,7 @@ BOOL ReadAltGrFlagFromKbdDll(const char *keyboardLayoutName) { PKBDTABLES_WOW64 KbdTables = (*KbdLayerDescriptorFunc)(); if(KbdTables) { result = (KbdTables->fLocaleFlags & KLLF_ALTGR) ? TRUE : FALSE; + success = TRUE; } } } else { @@ -130,13 +132,14 @@ BOOL ReadAltGrFlagFromKbdDll(const char *keyboardLayoutName) { PKBDTABLES KbdTables = (*KbdLayerDescriptorFunc)(); if(KbdTables) { result = (KbdTables->fLocaleFlags & KLLF_ALTGR) ? TRUE : FALSE; + success = TRUE; } } } FreeLibrary(hKbdLibrary); - return result; + return success; } HMODULE LoadKbdLibrary(const char* keyboardLayoutName) { diff --git a/windows/src/engine/keyman32/tests/RightAltEmulationCheck.tests.cpp b/windows/src/engine/keyman32/tests/RightAltEmulationCheck.tests.cpp index 7cede5bc9a..abee7c5c10 100644 --- a/windows/src/engine/keyman32/tests/RightAltEmulationCheck.tests.cpp +++ b/windows/src/engine/keyman32/tests/RightAltEmulationCheck.tests.cpp @@ -1,6 +1,6 @@ #include "pch.h" -extern BOOL ReadAltGrFlagFromKbdDll(const char *keyboardLayoutName); +extern BOOL ReadAltGrFlagFromKbdDll(const char *keyboardLayoutName, BOOL& result); TEST(RightAltEmulationCheck, ReadAltGrFlagFromKbdDll) { @@ -9,12 +9,23 @@ TEST(RightAltEmulationCheck, ReadAltGrFlagFromKbdDll) { // a known keyboard layout // These keyboards do not use AltGr + BOOL result = FALSE; - EXPECT_EQ(ReadAltGrFlagFromKbdDll("00000409"), FALSE); // kbdus.dll - English (US) - EXPECT_EQ(ReadAltGrFlagFromKbdDll("00000401"), FALSE); // kbda1.dll - Arabic 101 + // kbdus.dll - English (US) + EXPECT_EQ(ReadAltGrFlagFromKbdDll("00000409", result), TRUE); + EXPECT_EQ(result, FALSE); + + // kbda1.dll - Thai Kedmanee + EXPECT_EQ(ReadAltGrFlagFromKbdDll("0000041e", result), TRUE); + EXPECT_EQ(result, FALSE); // These keyboards use AltGr - EXPECT_EQ(ReadAltGrFlagFromKbdDll("0000040C"), TRUE); // kbdfr.dll - French AZERTY (Legacy) - EXPECT_EQ(ReadAltGrFlagFromKbdDll("00000405"), TRUE); // kbdcz.dll - Czech + // kbdfr.dll - French AZERTY (Legacy) + EXPECT_EQ(ReadAltGrFlagFromKbdDll("0000040C", result), TRUE); + EXPECT_EQ(result, TRUE); + + // kbdcz.dll - Czech + EXPECT_EQ(ReadAltGrFlagFromKbdDll("00000405", result), TRUE); + EXPECT_EQ(result, TRUE); }