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