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},