Fix trailing whitespaces in XKB files
[platform/upstream/libxkbcommon.git] / test / data / symbols / cz
1 default partial alphanumeric_keys
2 xkb_symbols "basic" {
3
4     // This layout conforms to a new Czech compromise standard
5     // designed to satisfy most Unix, Windows and Mac users.
6     // 2001 by Kamil Toman <ktoman@email.cz>
7
8     include "latin"
9     name[Group1]= "Czech";
10
11     key <TLDE>  { [ semicolon, dead_abovering,    grave,   asciitilde ] };
12     key <AE01>  { [      plus,          1,       exclam,   dead_tilde ] };
13     key <AE02>  { [    ecaron,          2,           at,   dead_caron ] };
14     key <AE03>  { [    scaron,          3,   numbersign, dead_circumflex ] };
15     key <AE04>  { [    ccaron,          4,       dollar,   dead_breve ] };
16     key <AE05>  { [    rcaron,          5,      percent, dead_abovering]};
17     key <AE06>  { [    zcaron,          6,  asciicircum,  dead_ogonek ] };
18     key <AE07>  { [    yacute,          7,    ampersand,   dead_grave ] };
19     key <AE08>  { [    aacute,          8,     asterisk, dead_abovedot] };
20     key <AE09>  { [    iacute,          9,    braceleft,   dead_acute ] };
21     key <AE10>  { [    eacute,          0,   braceright, dead_doubleacute ] };
22     key <AE11>  { [     equal,    percent,     NoSymbol, dead_diaeresis]};
23     key <AE12>  { [dead_acute, dead_caron,  dead_macron, dead_cedilla ] };
24
25     key <AD01>  { [         q,          Q,    backslash,     NoSymbol ] };
26     key <AD02>  { [         w,          W,          bar,     Nosymbol ] };
27     key <AD03>  { [         e,          E,     EuroSign,     NoSymbol ] };
28     key <AD04>  { [         r,          R,     NoSymbol,     NoSymbol ] };
29     key <AD05>  { [         t,          T,     NoSymbol,     NoSymbol ] };
30     key <AD06>  { [         z,          Z,     NoSymbol,     NoSymbol ] };
31     key <AD07>  { [         u,          U,     NoSymbol,     NoSymbol ] };
32     key <AD08>  { [         i,          I,     NoSymbol,     NoSymbol ] };
33     key <AD09>  { [         o,          O,     NoSymbol,     NoSymbol ] };
34     key <AD10>  { [         p,          P,     NoSymbol,     NoSymbol ] };
35
36     key <AD11>  { [    uacute,      slash,  bracketleft,     division ] };
37     key <AD12>  { [parenright,  parenleft, bracketright,     multiply ] };
38
39     key <AC01>  { [         a,          A,   asciitilde,     NoSymbol ] };
40     key <AC02>  { [         s,          S,      dstroke,     NoSymbol ] };
41     key <AC03>  { [         d,          D,      Dstroke,     NoSymbol ] };
42     key <AC04>  { [         f,          F,  bracketleft,     NoSymbol ] };
43     key <AC05>  { [         g,          G, bracketright,     NoSymbol ] };
44     key <AC06>  { [         h,          H,        grave,     NoSymbol ] };
45     key <AC07>  { [         j,          J,   apostrophe,     NoSymbol ] };
46     key <AC08>  { [         k,          K,      lstroke,     NoSymbol ] };
47     key <AC09>  { [         l,          L,      Lstroke,     NoSymbol ] };
48
49     key <AC10>  { [     uring,   quotedbl,       dollar,     NoSymbol ] };
50     key <AC11>  { [   section,     exclam,   apostrophe,       ssharp ] };
51     key <AC12>  { [  EuroSign, dead_diaeresis, NoSymbol,     NoSymbol ] };
52     key <BKSL>  { [dead_diaeresis, apostrophe, backslash,         bar ] };
53
54     key <LSGT>  { [ backslash,        bar,        slash,     NoSymbol ] };
55     key <AB01>  { [         y,          Y,       degree,     NoSymbol ] };
56     key <AB02>  { [         x,          X,   numbersign,     Nosymbol ] };
57     key <AB03>  { [         c,          C,    ampersand,     NoSymbol ] };
58     key <AB04>  { [         v,          V,           at,     NoSymbol ] };
59     key <AB05>  { [         b,          B,    braceleft,     NoSymbol ] };
60     key <AB06>  { [         n,          N,   braceright,     NoSymbol ] };
61     key <AB07>  { [         m,          M,  asciicircum,     NoSymbol ] };
62     key <AB08>  { [     comma,   question,         less,     NoSymbol ] };
63     key <AB09>  { [    period,      colon,      greater,     NoSymbol ] };
64     key <AB10>  { [     minus, underscore,     asterisk,     NoSymbol ] };
65
66     key <SPCE>  { [     space,      space,        space,       space  ] };
67
68     include "level3(ralt_switch)"
69 };
70
71 xkb_symbols "bksl" {
72
73     // Use <BKSL> instead of <LSGT> (useful for keyboards without <LSGT> key).
74
75     include "cz(basic)"
76     name[Group1]= "Czech (with <\|> key)";
77
78     key <BKSL>  { [ backslash,        bar,        slash,     NoSymbol ] };
79 };
80
81 partial alphanumeric_keys
82 xkb_symbols "qwerty" {
83
84     // This layout represents the actual Czech keyboards;
85     // it complies with the symbols printed on the keys.
86     // 2011 by Lukáš Mojžíš <lmojzis@grenames.cz>
87
88     include "cz(basic)"
89     name[Group1]= "Czech (QWERTY)";
90
91     key <AB01>  { [         z,          Z,       degree,         NoSymbol ] };
92     key <AC10>  { [     uring,   quotedbl,    semicolon,            colon ] };
93     key <AC11>  { [   section,     exclam,   apostrophe,           ssharp ] };
94     key <AD06>  { [         y,          Y,     NoSymbol,         NoSymbol ] };
95     key <AD11>  { [    uacute,      slash,  bracketleft,        braceleft ] };
96     key <AD12>  { [parenright,  parenleft, bracketright,       braceright ] };
97     key <AE09>  { [    iacute,          9,    parenleft,       dead_acute ] };
98     key <AE10>  { [    eacute,          0,   parenright, dead_doubleacute ] };
99 };
100
101 xkb_symbols "qwerty_bksl" {
102
103     // Use <BKSL> instead of <LSGT> (useful for keyboards without <LSGT> key).
104
105     include "cz(qwerty)"
106     name[Group1]= "Czech (QWERTY, extended backslash)";
107
108     key <BKSL>  { [ backslash,        bar,        slash,     NoSymbol ] };
109 };
110
111 partial alphanumeric_keys
112 xkb_symbols "qwerty-mac" {
113
114     // This layout corresponds to the Apple's Czech - QWERTY.
115     // 2018 by Jakub Jirutka <jakub@jirutka.cz>
116
117     include "latin"
118     name[Group1]= "Czech (QWERTY, Macintosh)";
119
120     key <TLDE>  { [      less,    greater, lessthanequal, greaterthanequal]};
121     key <AE01>  { [      plus,          1,        grave,      notsign ] };
122     key <AE02>  { [    ecaron,          2,           at, enfilledcircbullet]};
123     key <AE03>  { [    scaron,          3,   numbersign,     notequal ] };
124     key <AE04>  { [    ccaron,          4,       dollar,     sterling ] };
125     key <AE05>  { [    rcaron,          5,   asciitilde,        U25CA ] };
126     key <AE06>  { [    zcaron,          6,  asciicircum,       dagger ] };
127     key <AE07>  { [    yacute,          7,    ampersand,    paragraph ] };
128     key <AE08>  { [    aacute,          8,     asterisk,     division ] };
129     key <AE09>  { [    iacute,          9,    braceleft, guillemotleft] };
130     key <AE10>  { [    eacute,          0,   braceright, guillemotright]};
131     key <AE11>  { [     equal,    percent, dead_abovering, dead_cedilla]};
132     key <AE12>  { [dead_acute, dead_caron, dead_circumflex, dead_macron]};
133
134     key <AD01>  { [         q,          Q,     NoSymbol,     NoSymbol ] };
135     key <AD02>  { [         w,          W,    eabovedot,    Eabovedot ] };
136     key <AD03>  { [         e,          E,      eogonek,      Eogonek ] };
137     key <AD04>  { [         r,          R,     EuroSign,   registered ] };
138     key <AD05>  { [         t,          T,     NoSymbol,    trademark ] };
139     key <AD06>  { [         y,          Y,     NoSymbol,     NoSymbol ] };
140     key <AD07>  { [         u,          U,     NoSymbol,     NoSymbol ] };
141     key <AD08>  { [         i,          I,     NoSymbol,     NoSymbol ] };
142     key <AD09>  { [         o,          O,     NoSymbol,     NoSymbol ] };
143     key <AD10>  { [         p,          P,     NoSymbol,     NoSymbol ] };
144
145     key <AD11>  { [    uacute,      slash,  bracketleft,         less ] };
146     key <AD12>  { [parenright,  parenleft, bracketright,      greater ] };
147
148     key <AC01>  { [         a,          A,      aogonek,     Aogonekl ] };
149     key <AC02>  { [         s,          S,       ssharp,        U2211 ] };
150     key <AC03>  { [         d,          D, partialderivate,     U2206 ] };
151     key <AC04>  { [         f,          F,     NoSymbol,     NoSymbol ] };
152     key <AC05>  { [         g,          G,     NoSymbol,     NoSymbol ] };
153     key <AC06>  { [         h,          H, leftsinglequotemark, leftdoublequotemark]};
154     key <AC07>  { [         j,          J, rightsinglequotemark, rightdoublequotemark]};
155     key <AC08>  { [         k,          K,     NoSymbol,     NoSymbol ] };
156     key <AC09>  { [         l,          L,      lstroke,      Lstroke ] };
157
158     key <AC10>  { [     uring,   quotedbl,    semicolon,     ellipsis ] };
159     key <AC11>  { [   section,     exclam,   apostrophe,   dead_tilde ] };
160     key <BKSL>  { [dead_diaeresis, grave, dead_diaeresis, dead_doubleacute]};
161
162     key <LSGT>  { [ backslash,        bar,     NoSymbol,     NoSymbol ] };
163     key <AB01>  { [         z,          Z,    zabovedot,    Zabovedot ] };
164     key <AB02>  { [         x,          X,     NoSymbol,     NoSymbol ] };
165     key <AB03>  { [         c,          C,     NoSymbol,    copyright ] };
166     key <AB04>  { [         v,          V,     NoSymbol,   squareroot ] };
167     key <AB05>  { [         b,          B,     NoSymbol,     NoSymbol ] };
168     key <AB06>  { [         n,          N, singlelowquotemark, doublelowquotemark]};
169     key <AB07>  { [         m,          M,     NoSymbol,     NoSymbol ] };
170     key <AB08>  { [     comma,   question,         less, lessthanequal] };
171     key <AB09>  { [    period,      colon,      greater, greaterthanequal]};
172     key <AB10>  { [     minus, underscore,       endash,       emdash ] };
173
174     key <SPCE>  { [     space,      space, nobreakspace, nobreakspace ] };
175
176     include "level3(ralt_switch)"
177 };
178
179 partial alphanumeric_keys alternate_group
180 xkb_symbols "ucw" {
181
182     // This layout is usually used as the second group,
183     // it contains accented characters only, no 'latin' set.
184     // 2008 by Milan Vancura <mvancura@suse.cz>
185
186     name[Group1]= "Czech (UCW, only accented letters)";
187
188     key <AB01> { [zcaron,      Zcaron      ] };
189     key <AB02> { [ssharp,      U1E9E       ] };
190     key <AB03> { [ccaron,      Ccaron      ] };
191     key <AB04> { [ccedilla,    Ccedilla    ] };
192     key <AB05> { [ntilde,      Ntilde      ] };
193     key <AB06> { [ncaron,      Ncaron      ] };
194     key <AB07> { [lacute,      Lacute      ] };
195
196     key <AC01> { [aacute,      Aacute      ] };
197     key <AC02> { [scaron,      Scaron      ] };
198     key <AC03> { [dcaron,      Dcaron      ] };
199     key <AC04> { [ediaeresis,  Ediaeresis  ] };
200     key <AC05> { [racute,      Racute      ] };
201     key <AC06> { [uacute,      Uacute      ] };
202     key <AC07> { [udiaeresis,  Udiaeresis  ] };
203     key <AC08> { [ocircumflex, Ocircumflex ] };
204     key <AC09> { [lcaron,      Lcaron      ] };
205
206     key <AD01> { [adiaeresis,  Adiaeresis  ] };
207     key <AD02> { [ecaron,      Ecaron      ] };
208     key <AD03> { [eacute,      Eacute      ] };
209     key <AD04> { [rcaron,      Rcaron      ] };
210     key <AD05> { [tcaron,      Tcaron      ] };
211     key <AD06> { [yacute,      Yacute      ] };
212     key <AD07> { [uring,       Uring       ] };
213     key <AD08> { [iacute,      Iacute      ] };
214     key <AD09> { [oacute,      Oacute      ] };
215     key <AD10> { [odiaeresis,  Odiaeresis  ] };
216 };
217
218 partial alphanumeric_keys
219 xkb_symbols "dvorak-ucw" {
220
221     // US Dvorak layout extended with UCW,
222     // AltGr produces accented characters.
223
224     include "us(dvorak)"
225     name[Group1]= "Czech (US, Dvorak, UCW support)";
226
227     key <AB03> { [ j, J, eacute, Eacute ] };
228     key <AB04> { [ k, K, uacute, Uacute ] };
229     key <AB10> { [ z, Z, zcaron, Zcaron ] };
230
231     key <AC01> { [ a, A, aacute, Aacute ] };
232     key <AC02> { [ o, O, oacute, Oacute ] };
233     key <AC03> { [ e, E, ecaron, Ecaron ] };
234     key <AC04> { [ u, U, uring,  Uring  ] };
235     key <AC05> { [ i, I, iacute, Iacute ] };
236     key <AC06> { [ d, D, dcaron, Dcaron ] };
237     key <AC08> { [ t, T, tcaron, Tcaron ] };
238     key <AC09> { [ n, N, ncaron, Ncaron ] };
239     key <AC10> { [ s, S, scaron, Scaron ] };
240
241     key <AD05> { [ y, Y, yacute, Yacute ] };
242     key <AD08> { [ c, C, ccaron, Ccaron ] };
243     key <AD09> { [ r, R, rcaron, Rcaron ] };
244
245     include "level3(ralt_switch)"
246 };
247
248 // phonetic layout for Russian letters on an CZ (QWERTY) keyboard
249 // originaly created by Pavel Sorejs <sorejs@gmail.com>
250
251 partial alphanumeric_keys
252 xkb_symbols "rus" {
253
254     include "cz(qwerty)"
255     name[Group1]= "Russian (Czech, phonetic)";
256
257     key <AE01> { [              plus,         ampersand,            1 ,       1 ] };
258     key <AE02> { [ Cyrillic_hardsign,                 2,            2 ,       2 ] };
259     key <AE03> { [      Cyrillic_sha,      Cyrillic_SHA,            3 ,       3 ] };
260     key <AE04> { [      Cyrillic_che,      Cyrillic_CHE,            4 ,       4 ] };
261     key <AE05> { [    Cyrillic_shcha,    Cyrillic_SHCHA,            5 ,       5 ] };
262     key <AE06> { [      Cyrillic_zhe,      Cyrillic_ZHE,            6 ,       6 ] };
263     key <AE07> { [          quotedbl,                 4,            7 ,       7 ] };
264     key <AE08> { [           section,                 5,            8 ,       8 ] };
265     key <AE09> { [            dollar,                 6,            9 ,       9 ] };
266     key <AE10> { [             equal,                 7,            0 ,       0 ] };
267     key <AE11> { [           percent,                 8                         ] };
268     key <AE12> { [        apostrophe,                 9                         ] };
269
270     key <AB08> { [             comma,          question                         ] };
271     key <AB09> { [            period,            exclam                         ] };
272     key <AB10> { [             minus,             slash                         ] };
273
274     key <AC11> { [         semicolon,             colon                         ] };
275
276     key <LSGT> { [               bar,         brokenbar                         ] };
277
278     key <TLDE> { [       Cyrillic_io,       Cyrillic_IO                         ] };
279
280
281     key <AD01> { [        numerosign,                 1,            q,        Q ] };
282     key <AD02> { [       Cyrillic_yu,       Cyrillic_YU,            w,        W ] };
283     key <AD03> { [       Cyrillic_ie,       Cyrillic_IE,            e,        E ] };
284     key <AD04> { [       Cyrillic_er,       Cyrillic_ER,            r,        R ] };
285     key <AD05> { [       Cyrillic_te,       Cyrillic_TE,            t,        T ] };
286     key <AD06> { [     Cyrillic_yeru,     Cyrillic_YERU,            y,        Y ] };
287     key <AD07> { [        Cyrillic_u,        Cyrillic_U,            u,        U ] };
288     key <AD08> { [        Cyrillic_i,        Cyrillic_I,            i,        I ] };
289     key <AD09> { [        Cyrillic_o,        Cyrillic_O,            o,        O ] };
290     key <AD10> { [       Cyrillic_pe,       Cyrillic_PE,            p,        P ] };
291     key <AD11> { [        Cyrillic_e,        Cyrillic_E,  bracketleft, division ] };
292     key <AD12> { [        parenright,         parenleft, bracketright, multiply ] };
293
294     key <AC01> { [        Cyrillic_a,        Cyrillic_A,            a,        A ] };
295     key <AC02> { [       Cyrillic_es,       Cyrillic_ES,            s,        S ] };
296     key <AC03> { [       Cyrillic_de,       Cyrillic_DE,            d,        D ] };
297     key <AC04> { [       Cyrillic_ef,       Cyrillic_EF,            f,        F ] };
298     key <AC05> { [      Cyrillic_ghe,      Cyrillic_GHE,            g,        G ] };
299     key <AC06> { [       Cyrillic_ha,       Cyrillic_HA,            h,        H ] };
300     key <AC07> { [   Cyrillic_shorti,   Cyrillic_SHORTI,            j,        J ] };
301     key <AC08> { [       Cyrillic_ka,       Cyrillic_KA,            k,        K ] };
302     key <AC09> { [       Cyrillic_el,       Cyrillic_EL,            l,        L ] };
303     key <AC10> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN,         less,  greater ] };
304
305     key <AB01> { [       Cyrillic_ze,       Cyrillic_ZE,            z,        Z ] };
306     key <AB02> { [       Cyrillic_ya,       Cyrillic_YA,            x,        X ] };
307     key <AB03> { [      Cyrillic_tse,      Cyrillic_TSE,            c,        C ] };
308     key <AB04> { [       Cyrillic_ve,       Cyrillic_VE,            v,        V ] };
309     key <AB05> { [       Cyrillic_be,       Cyrillic_BE,            b,        B ] };
310     key <AB06> { [       Cyrillic_en,       Cyrillic_EN,            n,        N ] };
311     key <AB07> { [       Cyrillic_em,       Cyrillic_EM,            m,        M ] };
312
313     key <BKSL> { [         backslash,         brokenbar                         ] };
314
315    include "level3(ralt_switch)"
316 };
317
318 // EXTRAS:
319
320 partial alphanumeric_keys
321         xkb_symbols "sun_type6" {
322         include "sun_vndr/cz(sun_type6)"
323 };
324
325 xkb_symbols "prog" {
326     // cz-prog 1.0 2019-05-15 by Viktor Grešák <vgresak@gmail.com> and Tomáš Hudec <Tommy.Hudec@gmail.com>
327     //
328     // Programmer keyboard. Based on the US layout with accented Czech letters and dead keys.
329     // Using AltGr and a key from the 1st row generates original level 2 US key as level 3 except TLDE and AE12.
330     // Using AltGr+Shift on accented letters generates its uppercase variant.
331     // Using AltGr or AltGr+Shift on letters which have accent in Czech but are not on the 1st row directly accessible generate accented letters,
332     // i.e. [d, D], [t, T], [n, N], [o, O] generate with AltGr and AltGr+Shift: [dcaron, Dcaron], [tcaron, Tcaron], [ncaron, Ncaron], [oacute, Oacute].
333     // Other Czech letters besides alphanumeric keys (like uacute, uring) are generated using AltGr.
334
335     name[Group1]="Czech (programming)";
336
337     key <AB01> { [ z,   Z ] };
338     key <AB02> { [ x,   X ] };
339     key <AB03> { [ c,   C ] };
340     key <AB04> { [ v,   V ] };
341     key <AB05> { [ b,   B ] };
342     key <AB06> { [ n,   N,      ncaron, Ncaron ] };
343     key <AB07> { [ m,   M ] };
344     key <AB08> { [ comma,       less,   multiply ] };
345     key <AB09> { [ period,      greater,        division ] };
346     key <AB10> { [ slash,       question,       dead_abovedot ] };
347     key <AC01> { [ a,   A ] };
348     key <AC02> { [ s,   S ] };
349     key <AC03> { [ d,   D,      dcaron, Dcaron ] };
350     key <AC04> { [ f,   F ] };
351     key <AC05> { [ g,   G ] };
352     key <AC06> { [ h,   H ] };
353     key <AC07> { [ j,   J ] };
354     key <AC08> { [ k,   K ] };
355     key <AC09> { [ l,   L ] };
356     key <AC10> { [ semicolon,   colon,  uring,  Uring ] };
357     key <AC11> { [ apostrophe,  quotedbl,       section ] };
358     key <AD01> { [ q,   Q ] };
359     key <AD02> { [ w,   W ] };
360     key <AD03> { [ e,   E ] };
361     key <AD04> { [ r,   R ] };
362     key <AD05> { [ t,   T,      tcaron, Tcaron ] };
363     key <AD06> { [ y,   Y ] };
364     key <AD07> { [ u,   U ] };
365     key <AD08> { [ i,   I ] };
366     key <AD09> { [ o,   O,      oacute, Oacute ] };
367     key <AD10> { [ p,   P ] };
368     key <AD11> { [ bracketleft, braceleft,      uacute, Uacute ] };
369     key <AD12> { [ bracketright,        braceright ] };
370     key <AE01> { [ plus,        1,      exclam, NoSymbol ] };
371     key <AE02> { [ ecaron,      2,      at,     Ecaron ] };
372     key <AE03> { [ scaron,      3,      numbersign,     Scaron ] };
373     key <AE04> { [ ccaron,      4,      dollar, Ccaron ] };
374     key <AE05> { [ rcaron,      5,      percent,        Rcaron ] };
375     key <AE06> { [ zcaron,      6,      asciicircum,    Zcaron ] };
376     key <AE07> { [ yacute,      7,      ampersand,      Yacute ] };
377     key <AE08> { [ aacute,      8,      asterisk,       Aacute ] };
378     key <AE09> { [ iacute,      9,      parenleft,      Iacute ] };
379     key <AE10> { [ eacute,      0,      parenright,     Eacute ] };
380     key <AE11> { [ equal,       minus,  underscore,     U2212 ] };
381     key <AE12> { [ dead_acute,  dead_caron,     plusminus,      notequal ] };
382     key <BKSL> { [ backslash,   bar,    dead_diaeresis ] };
383     key <BKSP> { [ BackSpace,   BackSpace ] };
384     key <CAPS> { [ Caps_Lock ] };
385     key <COMP> { [ Menu,        Multi_key ] };
386     key <LALT> { [ Alt_L,       Meta_L ] };
387     key <LCTL> { [ Control_L ] };
388     key <LFSH> { [ Shift_L ] };
389     key <LWIN> { [ Super_L ] };
390     key <RALT> { [ ISO_Level3_Shift ] };
391     key <RCTL> { [ Control_R ] };
392     key <RTRN> { [ Return ] };
393     key <RTSH> { [ Shift_R ] };
394     key <RWIN> { [ Super_R ] };
395     key <SPCE> { [ space ] };
396     key <TAB> { [ Tab,  ISO_Left_Tab ] };
397     key <TLDE> { [ grave,       asciitilde ] };
398
399     include "level3(ralt_switch)"
400 };
401
402 xkb_symbols "typo" {
403     // cz-typo 1.0 2019-05-15 by Viktor Grešák <vgresak@gmail.com> and Tomáš Hudec <Tommy.Hudec@gmail.com>
404     //
405     // Contains typographic symbols in third and fourth level.
406     // It is intended to be used in conjuction with other existing layout, e.g. setxkbmap -symbols "pc+cz(basic)+cz(typo)+inet(evdev)"
407
408     name[Group1]="Czech (typographic)";
409
410     key <AB01> { [ NoSymbol,    NoSymbol,       degree, U2300 ] };
411     key <AB02> { [ NoSymbol,    NoSymbol,       multiply,       U22C5 ] };
412     key <AB03> { [ NoSymbol,    NoSymbol,       ampersand,      copyright ] };
413     key <AB04> { [ NoSymbol,    NoSymbol,       at,     ordfeminine ] };
414     key <AB05> { [ NoSymbol,    NoSymbol,       enfilledcircbullet,     enopencircbullet ] };
415     key <AB07> { [ NoSymbol,    NoSymbol,       U203A,  U2039 ] };
416     key <AB08> { [ NoSymbol,    NoSymbol,       doublelowquotemark,     leftdoublequotemark ] };
417     key <AB09> { [ NoSymbol,    NoSymbol,       ellipsis,       rightdoublequotemark ] };
418     key <AB10> { [ NoSymbol,    NoSymbol,       endash, emdash ] };
419     key <AC04> { [ NoSymbol,    NoSymbol,       UFB00,  UFB05 ] };
420     key <AC06> { [ NoSymbol,    NoSymbol,       U2010,  U2011 ] };
421     key <AC07> { [ NoSymbol,    NoSymbol,       guillemotright, guillemotleft ] };
422     key <AC08> { [ NoSymbol,    NoSymbol,       dagger, doubledagger ] };
423     key <AC09> { [ NoSymbol,    NoSymbol,       UFB02,  UFB04 ] };
424     key <AC11> { [ NoSymbol,    NoSymbol,       NoSymbol,       UFB03 ] };
425     key <AD04> { [ NoSymbol,    NoSymbol,       U2030,  registered ] };
426     key <AD06> { [ NoSymbol,    NoSymbol,       leftarrow ] };
427     key <AD07> { [ NoSymbol,    NoSymbol,       downarrow,      uparrow ] };
428     key <AD08> { [ NoSymbol,    NoSymbol,       rightarrow,     UFB01 ] };
429     key <AD10> { [ NoSymbol,    NoSymbol,       minutes,        seconds ] };
430     key <AE01> { [ NoSymbol,    NoSymbol,       NoSymbol,       rightsinglequotemark ] };
431     key <AE11> { [ NoSymbol,    NoSymbol,       underscore,     U2212 ] };
432     key <SPCE> { [ space,       space,  space,  nobreakspace ] };
433     key <TLDE> { [ NoSymbol,    NoSymbol,       singlelowquotemark,     leftsinglequotemark ] };
434 };
435
436 xkb_symbols "coder" {
437
438     // US layout with Czech chars under AltGr
439     // for touch-typing programmers who need to write Czech occasionally
440     // https://github.com/michalkahle/czech-coder-xkb
441
442     include "us"
443     name[Group1]= "Czech (coder)";
444
445     key <TLDE>{[     grave,  asciitilde,     semicolon, dead_abovering ]};
446     key <AE02>{[         2,          at,        ecaron,     Ecaron ]};
447     key <AE03>{[         3,  numbersign,        scaron,     Scaron ]};
448     key <AE04>{[         4,      dollar,        ccaron,     Ccaron ]};
449     key <AE05>{[         5,     percent,        rcaron,     Rcaron ]};
450     key <AE06>{[         6, asciicircum,        zcaron,     Zcaron ]};
451     key <AE07>{[         7,   ampersand,        yacute,     Yacute ]};
452     key <AE08>{[         8,    asterisk,        aacute,     Aacute ]};
453     key <AE09>{[         9,   parenleft,        iacute,     Iacute ]};
454     key <AE10>{[         0,  parenright,        eacute,     Eacute ]};
455     key <AE12>{[     equal,        plus,    dead_acute, dead_caron ]};
456
457     key <AD03>{[         e,           E,             e,   EuroSign ]};
458     key <AD11>{[ bracketleft, braceleft,        uacute,     Uacute ]};
459
460     key <AC10>{[ semicolon,      colon,          uring,      Uring ]};
461     key <AC11>{[ apostrophe,  quotedbl,        section,   quotedbl ]};
462     key <BKSL>{[ backslash,        bar, dead_diaeresis, apostrophe ]};
463
464     include "level3(ralt_switch)"
465 };
466
467 xkb_symbols "prog_typo" {
468     // cz-prog-typo 1.0 2019-06-17 by Viktor Grešák <vgresak@gmail.com> and Tomáš Hudec <Tommy.Hudec@gmail.com>
469     //
470     // Programmer + Typographic keyboard. Based on the US layout with accented Czech letters and dead keys.
471     // Using AltGr and a key from the 1st row generates original level 2 US key as level 3 except TLDE and AE12.
472     // Using AltGr+Shift on accented letters generates its uppercase variant.
473     // Using AltGr or AltGr+Shift on letters which have accent in Czech but are not on the 1st row directly accessible generate accented letters,
474     // i.e. [d, D], [t, T], [n, N], [o, O] generate with AltGr and AltGr+Shift: [dcaron, Dcaron], [tcaron, Tcaron], [ncaron, Ncaron], [oacute, Oacute].
475     // Other Czech letters besides alphanumeric keys (like uacute, uring) are generated using AltGr.
476     //
477     // Contains typographic symbols in third and fourth level.
478
479     name[Group1]="Czech (programming, typographic)";
480
481     include "cz(prog)"
482     include "cz(typo)"
483 };