feat(gs/yeren): Swap caps+escape on built-in keyboard
This actually appears to be working this time! Change-Id: I3e10eb7e1621a050e024b8b53313f13d44a999ae Reviewed-on: https://cl.tvl.fyi/c/depot/+/2217 Reviewed-by: glittershark <grfn@gws.fyi> Tested-by: BuildkiteCI
This commit is contained in:
		
							parent
							
								
									6ecd36f425
								
							
						
					
					
						commit
						902bf5bdd9
					
				
					 1 changed files with 33 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -1,5 +1,9 @@
 | 
			
		|||
{ pkgs, lib, config, ... }:
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
  laptopKeyboardId = "5";
 | 
			
		||||
in
 | 
			
		||||
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ../platforms/linux.nix
 | 
			
		||||
| 
						 | 
				
			
			@ -14,4 +18,33 @@
 | 
			
		|||
    wirelessInterface = "wlp0s20f3";
 | 
			
		||||
    i3FontSize = 9;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    zoom-us
 | 
			
		||||
    slack
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  systemd.user.services.laptop-keyboard = {
 | 
			
		||||
    Unit = {
 | 
			
		||||
      Description = "Swap caps+escape and alt+super, but only on the built-in laptop keyboard";
 | 
			
		||||
      After = [ "graphical-session-pre.target" ];
 | 
			
		||||
      PartOf = [ "graphical-session.target" ];
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    Install = { WantedBy = [ "graphical-session.target" ]; };
 | 
			
		||||
 | 
			
		||||
    Service = {
 | 
			
		||||
      Type = "oneshot";
 | 
			
		||||
      RemainAfterExit = true;
 | 
			
		||||
      ExecStart = (
 | 
			
		||||
        "${pkgs.xorg.setxkbmap}/bin/setxkbmap "
 | 
			
		||||
          + "-device ${laptopKeyboardId} "
 | 
			
		||||
          + "-option caps:swapescape "
 | 
			
		||||
          + "-option compose:ralt "
 | 
			
		||||
          + "-option altwin:swap_alt_win"
 | 
			
		||||
      );
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  xsession.windowManager.i3.config.keybindings.F9 = "exec lock";
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue