From 8ff612389371ffdd8f8074bb2a4216703cb5cb8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrg=20Hallenbarter?= Date: Tue, 10 Feb 2026 09:23:11 +0000 Subject: [PATCH] added mod + space for toggeling keyboard layouts --- scripts/keyboard-setup.sh | 8 +++----- scripts/layout-toggle.sh | 16 ++++------------ 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/scripts/keyboard-setup.sh b/scripts/keyboard-setup.sh index c04c95c..4814bd6 100755 --- a/scripts/keyboard-setup.sh +++ b/scripts/keyboard-setup.sh @@ -1,10 +1,8 @@ #!/bin/bash if [ -n "$SWAYSOCK" ]; then - # Sway - swaymsg input "*" xkb_layout "ch" - swaymsg input "*" xkb_variant "de" + swaymsg input type:keyboard xkb_layout "us,ch" + swaymsg input type:keyboard xkb_variant "workman,de" else - # i3 - setxkbmap -layout ch -variant de + setxkbmap -layout us,ch -variant workman,de fi \ No newline at end of file diff --git a/scripts/layout-toggle.sh b/scripts/layout-toggle.sh index baca734..7ff6aaa 100755 --- a/scripts/layout-toggle.sh +++ b/scripts/layout-toggle.sh @@ -1,19 +1,11 @@ #!/bin/bash -# Toggle between CH and US layouts +# layout-toggle.sh + if [ -n "$SWAYSOCK" ]; then - # Sway: get current layout and toggle - current=$(swaymsg -t get_inputs | jq -r '.[] | select(.type=="keyboard") | .xkb_active_layout_name' | head -1) - if [ "$current" = "Swiss" ] || [ "$current" = "ch" ]; then - swaymsg input "*" xkb_layout "us" - swaymsg input "*" xkb_variant "workman" - else - swaymsg input "*" xkb_layout "ch" - swaymsg input "*" xkb_variant "de" - fi + swaymsg input type:keyboard xkb_switch_layout next else - # i3: get current layout and toggle - current=$(setxkbmap -query | grep layout | awk '{print $2}') + current=$(setxkbmap -query | awk '/layout/{print $2}') if [ "$current" = "ch" ]; then setxkbmap -layout us -variant workman else