sway: sync Xwayland keyboard layout
This commit is contained in:
		
							parent
							
								
									28850abd5b
								
							
						
					
					
						commit
						481af4f88c
					
				
					 4 changed files with 54 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -138,6 +138,10 @@
 | 
			
		|||
      libinput
 | 
			
		||||
      libratbag
 | 
			
		||||
    ];
 | 
			
		||||
    sway-sync-xkbmap = [
 | 
			
		||||
      xorg.setxkbmap
 | 
			
		||||
      jq
 | 
			
		||||
    ];
 | 
			
		||||
    print-battery-icon = [ ];
 | 
			
		||||
    controller-battery = [ print-battery-icon ];
 | 
			
		||||
    mouse-battery = [ print-battery-icon ];
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										22
									
								
								scripts/sway-sync-xkbmap
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								scripts/sway-sync-xkbmap
									
										
									
									
									
										Executable file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
#!/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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue