22 lines
		
	
	
	
		
			532 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			532 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
set -euo pipefail
 | 
						|
 | 
						|
LAST_LAYOUT=""
 | 
						|
 | 
						|
while sleep 1s; do
 | 
						|
    CURRENT_LAYOUT=$(swaymsg -t get_inputs | jq -r '.[]|.xkb_active_layout_name|select(.)' | head -n1)
 | 
						|
 | 
						|
    if test "$LAST_LAYOUT" = "$CURRENT_LAYOUT"; then
 | 
						|
        true
 | 
						|
    elif test "$CURRENT_LAYOUT" = "English (Colemak)"; then
 | 
						|
        echo "Setting layout to colemak"
 | 
						|
        setxkbmap us colemak
 | 
						|
    elif test "$CURRENT_LAYOUT" = "Portuguese (Brazil)"; then
 | 
						|
        echo "Setting layout to br"
 | 
						|
        setxkbmap br
 | 
						|
    fi
 | 
						|
 | 
						|
    LAST_LAYOUT="$CURRENT_LAYOUT"
 | 
						|
done
 | 
						|
 |