summary refs log tree commit diff stats
path: root/files/neoqwertz.xkb
blob: 40de951c5099315743b2b7e0a7751bcf7c48c247 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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)" };
};