switch back to plasma handling keyboard layout
This commit is contained in:
parent
28fd1bd233
commit
6b22272eb1
@ -1,7 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
current_layer=$(timeout 0.1s keyd listen | grep -m 1 '^/' | sed 's/^\///')
|
||||
if [ "$current_layer" = "qwerty" ]; then
|
||||
current_layer="basic"
|
||||
fi
|
||||
current_layer=$(get_plasma_keyboard_layout)
|
||||
#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 "$@"
|
||||
|
31
dot_local/bin/executable_get_plasma_keyboard_layout
Normal file
31
dot_local/bin/executable_get_plasma_keyboard_layout
Normal file
@ -0,0 +1,31 @@
|
||||
#!/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)
|
Loading…
Reference in New Issue
Block a user