summary refs log tree commit diff stats
path: root/files/neoqwertz.xkb
diff options
context:
space:
mode:
authorsils <sils@sils.li>2022-12-17 16:29:41 +0100
committersils <sils@sils.li>2022-12-17 16:29:41 +0100
commitfb50c670b45393c80192c05072eaeadaa637215d (patch)
tree328df5be182669676790a11e193c1915e5354839 /files/neoqwertz.xkb
parentnew restic cache dir (diff)
downloadnix-config-fb50c670b45393c80192c05072eaeadaa637215d.tar.gz
nix-config-fb50c670b45393c80192c05072eaeadaa637215d.zip
keyboard layout
Diffstat (limited to 'files/neoqwertz.xkb')
-rw-r--r--files/neoqwertz.xkb91
1 files changed, 91 insertions, 0 deletions
diff --git a/files/neoqwertz.xkb b/files/neoqwertz.xkb
new file mode 100644
index 0000000..40de951
--- /dev/null
+++ b/files/neoqwertz.xkb
@@ -0,0 +1,91 @@
+// NEOQWERTZ keyboard layout
+//
+// (c) 2016 by Andreas Hofmann <mail@andreas-hofmann.org>
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+xkb_keymap {
+  xkb_keycodes  { include "evdev+aliases(qwertz)" };
+  xkb_types     { include "complete" };
+  xkb_compat    { include "complete" };
+  partial alphanumeric_keys modifier_keys keypad_keys
+  xkb_symbols   {
+    include "inet(evdev)"
+    include "pc"
+
+    include "de(neo_base)"
+    name[Group1]="German (eliminate dead keys with advanced NEO layers)";
+
+    key <TLDE> { [ asciicircum,            degree          ] };
+    key <AE01> { [ 1,                      exclam          ] };
+    key <AE02> { [ 2,                      quotedbl        ] };
+    key <AE03> { [ 3,                      section         ] };
+    key <AE04> { [ 4,                      dollar          ] };
+    key <AE05> { [ 5,                      percent         ] };
+    key <AE06> { [ 6,                      ampersand       ] };
+    key <AE07> { [ 7,                      slash           ],           [ braceleft    ] };
+    key <AE08> { [ 8,                      parenleft       ],           [ bracketleft  ] };
+    key <AE09> { [ 9,                      parenright      ],           [ bracketright ] };
+    key <AE10> { [ 0,                      equal           ],           [ braceright   ] };
+    key <AE11> { [ ssharp,                 question        ],           [ backslash    ] };
+    key <AE12> { [ acute,                  grave           ] };
+
+    key <AD01> { [ q,                      Q               ],           [ at           ] };
+    key <AD02> { [ w,                      W               ],           [ NoSymbol     ] };
+    key <AD03> { [ e,                      E               ],           [ EuroSign     ] };
+    key <AD04> { [ r,                      R               ],           [ NoSymbol     ] };
+    key <AD05> { [ t,                      T               ] };
+    key <AD06> { [ z,                      Z               ] };
+    key <AD07> { [ u,                      U               ] };
+    key <AD08> { [ i,                      I               ] };
+    key <AD09> { [ o,                      O               ] };
+    key <AD10> { [ p,                      P               ] };
+    key <AD11> { [ udiaeresis,             Udiaeresis      ] };
+    key <AC01> { [ a,                      A               ] };
+    key <AC02> { [ s,                      S               ] };
+    key <AC03> { [ d,                      D               ] };
+    key <AC04> { [ f,                      F               ] };
+    key <AC05> { [ g,                      G               ] };
+    key <AC06> { [ h,                      H               ] };
+    key <AC07> { [ j,                      J               ] };
+    key <AC08> { [ k,                      K               ] };
+    key <AC09> { [ l,                      L               ] };
+    key <AC10> { [ odiaeresis,             Odiaeresis      ] };
+    key <AC11> { [ adiaeresis,             Adiaeresis      ] };
+    key <AB01> { [ y,                      Y               ] };
+    key <AB02> { [ x,                      X               ] };
+    key <AB03> { [ c,                      C               ] };
+    key <AB04> { [ v,                      V               ] };
+    key <AB05> { [ b,                      B               ] };
+    key <AB06> { [ n,                      N               ] };
+    key <AB07> { [ m,                      M               ] };
+
+    key <AB08> { [ comma,                  semicolon       ] };
+    key <AB09> { [ period,                 colon           ] };
+    key <AB10> { [ minus,                  underscore      ] };
+    key <AD12> { [ plus,                   asterisk        ],           [ asciitilde   ] };
+
+    include "shift(both_capslock)"
+    include "level3(caps_switch)"
+    include "level3(bksl_switch)"
+    include "level5(lsgt_switch)"
+    include "level5(ralt_switch)"
+
+    modifier_map Control{ Control_L };
+
+    key.type = "ONE_LEVEL";
+    key <RCTL> { [ ISO_Group_Latch ] };
+  };
+  xkb_geometry  { include "pc(pc105)" };
+};