[FarGroup/FarManager] master: Improve keyboard layouts detection (5739305e8)

0 views
Skip to first unread message

farg...@farmanager.com

unread,
Apr 7, 2026, 2:16:03 PM (9 days ago) Apr 7
to farco...@googlegroups.com
Repository : https://github.com/FarGroup/FarManager
On branch : master
Link : https://github.com/FarGroup/FarManager/commit/5739305e8c0dfef2cf4bd955daea0f997f93e8ee

>---------------------------------------------------------------

commit 5739305e8c0dfef2cf4bd955daea0f997f93e8ee
Author: Alex Alabuzhev <alab...@gmail.com>
Date: Tue Apr 7 19:00:03 2026 +0100

Improve keyboard layouts detection


>---------------------------------------------------------------

5739305e8c0dfef2cf4bd955daea0f997f93e8ee
far/platform.cpp | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/far/platform.cpp b/far/platform.cpp
index 8cdb64122..d1082b91f 100644
--- a/far/platform.cpp
+++ b/far/platform.cpp
@@ -920,11 +920,17 @@ std::vector<HKL> get_keyboard_layout_list()
{
auto Result = try_get_keyboard_list(get_keyboard_layout_list_registry_ctf);

- if (Result.empty())
- Result = try_get_keyboard_list(get_keyboard_layout_list_api);
+ for (const auto& i: try_get_keyboard_list(get_keyboard_layout_list_api))
+ {
+ if (std::ranges::find(Result, i) == Result.end())
+ Result.push_back(i);
+ }

- if (Result.empty())
- Result = try_get_keyboard_list(get_keyboard_layout_list_registry_base);
+ for (const auto& i: try_get_keyboard_list(get_keyboard_layout_list_registry_base))
+ {
+ if (std::ranges::find(Result, i) == Result.end())
+ Result.push_back(i);
+ }

// Only the CTF method returns layouts in the correct order.
// We want to prioritise the default layout, because InitKeysArray uses the first match strategy,


Reply all
Reply to author
Forward
0 new messages