From a0ffdeb58a91e64dd84fe6a213cdad2d0e6d0781 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20=C5=81ukasik?= Date: Fri, 20 May 2022 00:18:01 +0200 Subject: [PATCH] Keymap: Fix switching selected keymap Previously keymap did switching of the selected keymap twice when the command was executed. First set it to the first keymap on the list and later, if present, to the chosen one. Currently the switching to the first keymap on the list is done only when the selection is not present or it's not on the list of keymaps. --- Userland/Utilities/keymap.cpp | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/Userland/Utilities/keymap.cpp b/Userland/Utilities/keymap.cpp index c8d25be938..ac5107ee56 100644 --- a/Userland/Utilities/keymap.cpp +++ b/Userland/Utilities/keymap.cpp @@ -55,8 +55,6 @@ ErrorOr serenity_main(Main::Arguments arguments) auto mapper_config = TRY(Core::ConfigFile::open("/etc/Keyboard.ini", Core::ConfigFile::AllowWriting::Yes)); - int rc = 0; - if (!mappings.is_empty()) { auto mappings_vector = mappings.split(','); @@ -77,10 +75,6 @@ ErrorOr serenity_main(Main::Arguments arguments) auto keymaps = String::join(',', mappings_vector); mapper_config->write_entry("Mapping", "Keymaps", keymaps); TRY(mapper_config->sync()); - rc = set_keymap(mappings_vector.first()); - if (rc != 0) { - return rc; - } } auto keymaps = mapper_config->read_entry("Mapping", "Keymaps"); @@ -95,14 +89,13 @@ ErrorOr serenity_main(Main::Arguments arguments) } if (!keymaps_vector.find(mapping).is_end()) { - rc = set_keymap(mapping); - if (rc != 0) { + int rc = set_keymap(mapping); + if (rc == 0) return rc; - } } else { warnln("Keymap '{}' is not in list of configured keymaps ({})", mapping, keymaps); } } - return 0; + return set_keymap(keymaps_vector.first()); }