From 9b0efa4ee0c157fb366dfc139dfbf6a13a16af54 Mon Sep 17 00:00:00 2001 From: Hiep Tran Date: Tue, 11 Nov 2025 12:54:36 +0700 Subject: [PATCH] =?UTF-8?q?Fix=20"=C3=A1"=20and=20"hu=E1=BB=B5ch"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit 67ff251238d943b5b1472a369aa030423f4eff9b) --- Sources/OpenKey/engine/Engine.cpp | 10 +++++----- Sources/OpenKey/engine/Vietnamese.cpp | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Sources/OpenKey/engine/Engine.cpp b/Sources/OpenKey/engine/Engine.cpp index 2a895f4..de90833 100644 --- a/Sources/OpenKey/engine/Engine.cpp +++ b/Sources/OpenKey/engine/Engine.cpp @@ -1102,8 +1102,8 @@ void handleMainKey(const Uint16& data, const bool& isCaps) { //if is mark key if (IS_MARK_KEY(data)) { - for (i = 0; i < _vowelForMark.size(); i++) { - vector>& charset = _vowelForMark[i]; + for (auto& vowelEntry : _vowelForMark) { + vector>& charset = vowelEntry.second; isCorect = false; isChanged = false; k = _index; @@ -1112,7 +1112,7 @@ void handleMainKey(const Uint16& data, const bool& isCaps) { continue; isCorect = true; checkCorrectVowel(charset, l, k, data); - + if (isCorect) { isChanged = true; if (IS_KEY_S(data)) @@ -1133,11 +1133,11 @@ void handleMainKey(const Uint16& data, const bool& isCaps) { break; } } - + if (!isChanged) { insertKey(data, isCaps); } - + return; } diff --git a/Sources/OpenKey/engine/Vietnamese.cpp b/Sources/OpenKey/engine/Vietnamese.cpp index 73204be..66136cd 100644 --- a/Sources/OpenKey/engine/Vietnamese.cpp +++ b/Sources/OpenKey/engine/Vietnamese.cpp @@ -312,6 +312,7 @@ map>> _vowelForMark = { { KEY_U, KEY_Y, KEY_N}, { KEY_U, KEY_Y, KEY_T}, { KEY_U, KEY_Y, KEY_P}, + { KEY_U, KEY_Y, KEY_C, KEY_H}, {KEY_U, KEY_Y, KEY_K | END_CONSONANT_MASK}, { KEY_U, KEY_Y, KEY_N, KEY_H}, {KEY_U, KEY_Y, KEY_H | END_CONSONANT_MASK}, { KEY_U, KEY_T}, { KEY_U, KEY_U},