summaryrefslogtreecommitdiff
path: root/Userland/Services/WindowServer/KeymapSwitcher.cpp
diff options
context:
space:
mode:
authorTimur Sultanov <SultanovTS@yandex.ru>2022-01-19 14:44:56 +0300
committerAndreas Kling <kling@serenityos.org>2022-02-03 00:47:22 +0100
commitb9c558f6c6e4adb3e10d9bc94dcdbec793f5bc23 (patch)
tree67fdf26d250f5a6bce4339ff03ba5c706f6d5311 /Userland/Services/WindowServer/KeymapSwitcher.cpp
parent68a01f0e273675ba225e29c1522d997a5d898e61 (diff)
downloadserenity-b9c558f6c6e4adb3e10d9bc94dcdbec793f5bc23.zip
WindowServer+Keymap+LibGUI: Add widget to display current keymap
Diffstat (limited to 'Userland/Services/WindowServer/KeymapSwitcher.cpp')
-rw-r--r--Userland/Services/WindowServer/KeymapSwitcher.cpp16
1 files changed, 3 insertions, 13 deletions
diff --git a/Userland/Services/WindowServer/KeymapSwitcher.cpp b/Userland/Services/WindowServer/KeymapSwitcher.cpp
index e34fdb3e0c..f35543d8f7 100644
--- a/Userland/Services/WindowServer/KeymapSwitcher.cpp
+++ b/Userland/Services/WindowServer/KeymapSwitcher.cpp
@@ -12,17 +12,8 @@
namespace WindowServer {
-static KeymapSwitcher* s_the;
-
-KeymapSwitcher& KeymapSwitcher::the()
-{
- VERIFY(s_the);
- return *s_the;
-}
-
KeymapSwitcher::KeymapSwitcher()
{
- s_the = this;
}
KeymapSwitcher::~KeymapSwitcher()
@@ -80,10 +71,7 @@ String KeymapSwitcher::get_current_keymap() const
auto json = JsonValue::from_string(proc_keymap->read_all()).release_value_but_fixme_should_propagate_errors();
auto const& keymap_object = json.as_object();
VERIFY(keymap_object.has("keymap"));
- auto keymap = keymap_object.get("keymap").to_string();
- dbgln("Current keymap is: {}", keymap);
-
- return keymap;
+ return keymap_object.get("keymap").to_string();
}
void KeymapSwitcher::setkeymap(const AK::String& keymap)
@@ -94,6 +82,8 @@ void KeymapSwitcher::setkeymap(const AK::String& keymap)
perror("posix_spawn");
dbgln("Failed to call /bin/keymap, error: {} ({})", errno, strerror(errno));
}
+ if (on_keymap_change)
+ on_keymap_change(keymap);
}
}