diff options
| author | JaKooLit <jimmielovejay@gmail.com> | 2023-12-07 10:58:39 +0900 |
|---|---|---|
| committer | JaKooLit <jimmielovejay@gmail.com> | 2023-12-07 10:58:39 +0900 |
| commit | 86ccfafed6083d36a38714867202545ed83ae8b2 (patch) | |
| tree | 650a6cc50674aad3e90a544d998ae9f2cc30fbfc /config/hypr/scripts | |
| parent | fefd56f435d8885f30982c3d5ad09a91495d83a8 (diff) | |
added custom-keyboad waybar module
Diffstat (limited to 'config/hypr/scripts')
| -rwxr-xr-x | config/hypr/scripts/SwitchKeyboardLayout.sh | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/config/hypr/scripts/SwitchKeyboardLayout.sh b/config/hypr/scripts/SwitchKeyboardLayout.sh new file mode 100755 index 00000000..40b212f0 --- /dev/null +++ b/config/hypr/scripts/SwitchKeyboardLayout.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +layout_f="/tmp/kb_layout" +current_layout=$(cat "$layout_f") + +# Read keyboard layout settings from Settings.conf +settings_file="$HOME/.config/hypr/configs/Settings.conf" + +if [ -f "$settings_file" ]; then + # Extract the value of kb_layout from Settings.conf + kb_layout_line=$(grep 'kb_layout=' "$settings_file" | cut -d '=' -f 2) + IFS=',' read -ra layout_mapping <<< "$kb_layout_line" +fi + +layout_count=${#layout_mapping[@]} + +# Find the index of the current layout in the mapping +for ((i = 0; i < layout_count; i++)); do + if [ "$current_layout" == "${layout_mapping[i]}" ]; then + current_index=$i + break + fi +done + +# Calculate the index of the next layout +next_index=$(( (current_index + 1) % layout_count )) +new_layout="${layout_mapping[next_index]}" + +# Update the keyboard layout +hyprctl keyword input:kb_layout "$new_layout" +echo "$new_layout" > "$layout_f" |
