diff options
author | Michele Guerini Rocco <rnhmjoj@users.noreply.github.com> | 2023-07-19 08:13:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-19 08:13:13 +0200 |
commit | dfcc258054145d563bae98ffd7f69cc9bb21c81e (patch) | |
tree | e282d53644cd6bb98b551dab612b847cdfbe85ab /nixos | |
parent | 93da236e055c2cde21d10226bdba6a510bec5f65 (diff) | |
parent | e4ab8a7d1e31616ba47f11265c03e4707299af24 (diff) | |
download | nixlib-dfcc258054145d563bae98ffd7f69cc9bb21c81e.tar nixlib-dfcc258054145d563bae98ffd7f69cc9bb21c81e.tar.gz nixlib-dfcc258054145d563bae98ffd7f69cc9bb21c81e.tar.bz2 nixlib-dfcc258054145d563bae98ffd7f69cc9bb21c81e.tar.lz nixlib-dfcc258054145d563bae98ffd7f69cc9bb21c81e.tar.xz nixlib-dfcc258054145d563bae98ffd7f69cc9bb21c81e.tar.zst nixlib-dfcc258054145d563bae98ffd7f69cc9bb21c81e.zip |
Merge pull request #244174 from rnhmjoj/pr-fix-extra-layouts
xorg.xkeyboardconfig_custom: update for 2.39
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/tests/keymap.nix | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/nixos/tests/keymap.nix b/nixos/tests/keymap.nix index 0bde21093b0a..cc45824667ed 100644 --- a/nixos/tests/keymap.nix +++ b/nixos/tests/keymap.nix @@ -29,10 +29,10 @@ let mkKeyboardTest = layout: { extraConfig ? {}, tests }: with pkgs.lib; makeTest { name = "keymap-${layout}"; - machine.console.keyMap = mkOverride 900 layout; - machine.services.xserver.desktopManager.xterm.enable = false; - machine.services.xserver.layout = mkOverride 900 layout; - machine.imports = [ ./common/x11.nix extraConfig ]; + nodes.machine.console.keyMap = mkOverride 900 layout; + nodes.machine.services.xserver.desktopManager.xterm.enable = false; + nodes.machine.services.xserver.layout = mkOverride 900 layout; + nodes.machine.imports = [ ./common/x11.nix extraConfig ]; testScript = '' import json @@ -201,4 +201,33 @@ in pkgs.lib.mapAttrs mkKeyboardTest { extraConfig.console.keyMap = "de"; extraConfig.services.xserver.layout = "de"; }; + + custom = { + tests = { + us.qwerty = [ "a" "b" "g" "d" "z" "shift-2" "shift-3" ]; + us.expect = [ "a" "b" "g" "d" "z" "@" "#" ]; + greek.qwerty = map (x: "alt_r-${x}") + [ "a" "b" "g" "d" "z" ]; + greek.expect = [ "α" "β" "γ" "δ" "ζ" ]; + }; + + extraConfig.console.useXkbConfig = true; + extraConfig.services.xserver.layout = "us-greek"; + extraConfig.services.xserver.extraLayouts.us-greek = + { description = "US layout with alt-gr greek"; + languages = [ "eng" ]; + symbolsFile = pkgs.writeText "us-greek" '' + xkb_symbols "us-greek" + { + include "us(basic)" + include "level3(ralt_switch)" + key <LatA> { [ a, A, Greek_alpha ] }; + key <LatB> { [ b, B, Greek_beta ] }; + key <LatG> { [ g, G, Greek_gamma ] }; + key <LatD> { [ d, D, Greek_delta ] }; + key <LatZ> { [ z, Z, Greek_zeta ] }; + }; + ''; + }; + }; } |