about summary refs log tree commit diff stats
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/locale/default.nix8
-rw-r--r--sys/locale/keymaps/us_modified.xkb14
2 files changed, 22 insertions, 0 deletions
diff --git a/sys/locale/default.nix b/sys/locale/default.nix
index 1e7786cc..d4a44b6b 100644
--- a/sys/locale/default.nix
+++ b/sys/locale/default.nix
@@ -32,5 +32,13 @@ in {
     console = {
       inherit (cfg) keyMap;
     };
+
+    services.xserver.extraLayouts = {
+      "us-modified" = {
+        description = "standard us with german and swedish extra chars.";
+        languages = ["eng" "swe" "deu"];
+        symbolsFile = ./keymaps/us_modified.xkb;
+      };
+    };
   };
 }
diff --git a/sys/locale/keymaps/us_modified.xkb b/sys/locale/keymaps/us_modified.xkb
new file mode 100644
index 00000000..711f0d0e
--- /dev/null
+++ b/sys/locale/keymaps/us_modified.xkb
@@ -0,0 +1,14 @@
+partial alphanumeric_keys
+xkb_symbols "us-modified" {
+    name[Group1]= "US English with additional keys";
+
+    key <AD09>  {[  o,  O,  ö,  Ö]};
+    key <AD07>  {[  u,  U,  ü,  Ü]};
+    key <AC01>  {[  a,  A,  ä,  Ä,  å,  Å]};
+
+
+    include "us(basic)"
+    include "level3(caps_switch)"
+    include "level5(ralt_switch)"
+}
+// vim: ft=xkb