diff --git a/dot_local/bin/executable_dotool b/dot_local/bin/executable_dotool index 5a1f9c4..94a94b7 100644 --- a/dot_local/bin/executable_dotool +++ b/dot_local/bin/executable_dotool @@ -1,2 +1,7 @@ #!/bin/sh -DOTOOL_XKB_LAYOUT=us DOTOOL_XKB_VARIANT=$(get_plasma_keyboard_layout) /usr/bin/dotool "$@" + +current_layer=$(timeout 0.1s keyd listen | grep -m 1 '^/' | sed 's/^\///') +if [ "$current_layer" = "qwerty" ]; then + current_layer="basic" +fi +DOTOOL_XKB_LAYOUT=us DOTOOL_XKB_VARIANT=$current_layer /usr/bin/dotool "$@" diff --git a/dot_local/bin/executable_get_plasma_keyboard_layout b/dot_local/bin/executable_get_plasma_keyboard_layout deleted file mode 100644 index da402b8..0000000 --- a/dot_local/bin/executable_get_plasma_keyboard_layout +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python3 - -import dbus - -def get_keyboard_info(): - bus = dbus.SessionBus() - keyboard = bus.get_object('org.kde.keyboard', '/Layouts') - keyboard_interface = dbus.Interface(keyboard, dbus_interface='org.kde.KeyboardLayouts') - - layouts_list = keyboard_interface.getLayoutsList() - current_layout_index = keyboard_interface.getLayout() - - return layouts_list, current_layout_index - -def set_keyboard_layout_env(layouts_list, current_layout_index): - current_layout = layouts_list[current_layout_index] - _, _, name = current_layout - - if "Dvorak" in name: - keyboard_layout = "dvorak" - elif "US" in name: - keyboard_layout = "basic" - else: - keyboard_layout = "unknown" - - return keyboard_layout - -if __name__ == "__main__": - layouts_list, current_layout_index = get_keyboard_info() - keyboard_layout = set_keyboard_layout_env(layouts_list, current_layout_index) - print(keyboard_layout)