// Keyboard layouts for Czechia.

default partial alphanumeric_keys
xkb_symbols "basic" {

    // This layout conforms to a new Czech compromise standard
    // designed to satisfy most Unix, Windows and Mac users.
    // Originally by Kamil Toman <ktoman@email.cz>, 2001.

    include "latin"
    name[Group1]= "Czech";

    key <TLDE>	{[ semicolon, dead_abovering,    grave,   asciitilde ]};
    key <AE01>	{[      plus,          1,       exclam,   dead_tilde ]};
    key <AE02>	{[    ecaron,          2,           at,   dead_caron ]};
    key <AE03>	{[    scaron,          3,   numbersign, dead_circumflex ]};
    key <AE04>	{[    ccaron,          4,       dollar,   dead_breve ]};
    key <AE05>	{[    rcaron,          5,      percent, dead_abovering ]};
    key <AE06>	{[    zcaron,          6,  asciicircum,  dead_ogonek ]};
    key <AE07>	{[    yacute,          7,    ampersand,   dead_grave ]};
    key <AE08>	{[    aacute,          8,     asterisk, dead_abovedot]};
    key <AE09>	{[    iacute,          9,    braceleft,   dead_acute ]};
    key <AE10>	{[    eacute,          0,   braceright, dead_doubleacute ]};
    key <AE11>	{[     equal,    percent,     NoSymbol, dead_diaeresis ]};
    key <AE12>	{[dead_acute, dead_caron,  dead_macron, dead_cedilla ]};

    key <AD01>	{[         q,          Q,    backslash,     NoSymbol ]};
    key <AD02>	{[         w,          W,          bar,     NoSymbol ]};
    key <AD03>	{[         e,          E,     EuroSign,     NoSymbol ]};
    key <AD04>	{[         r,          R,     NoSymbol,     NoSymbol ]};
    key <AD05>	{[         t,          T,     NoSymbol,     NoSymbol ]};
    key <AD06>	{[         z,          Z,     NoSymbol,     NoSymbol ]};
    key <AD07>	{[         u,          U,     NoSymbol,     NoSymbol ]};
    key <AD08>	{[         i,          I,     NoSymbol,     NoSymbol ]};
    key <AD09>	{[         o,          O,     NoSymbol,     NoSymbol ]};
    key <AD10>	{[         p,          P,     NoSymbol,     NoSymbol ]};
    key <AD11>	{[    uacute,      slash,  bracketleft,     division ]};
    key <AD12>	{[parenright,  parenleft, bracketright,     multiply ]};

    key <AC01>	{[         a,          A,   asciitilde,     NoSymbol ]};
    key <AC02>	{[         s,          S,      dstroke,     NoSymbol ]};
    key <AC03>	{[         d,          D,      Dstroke,     NoSymbol ]};
    key <AC04>	{[         f,          F,  bracketleft,     NoSymbol ]};
    key <AC05>	{[         g,          G, bracketright,     NoSymbol ]};
    key <AC06>	{[         h,          H,        grave,     NoSymbol ]};
    key <AC07>	{[         j,          J,   apostrophe,     NoSymbol ]};
    key <AC08>	{[         k,          K,      lstroke,     NoSymbol ]};
    key <AC09>	{[         l,          L,      Lstroke,     NoSymbol ]};
    key <AC10>	{[     uring,   quotedbl,       dollar,     NoSymbol ]};
    key <AC11>	{[   section,     exclam,   apostrophe,       ssharp ]};
    key <BKSL>	{[dead_diaeresis, apostrophe, backslash,         bar ]};

    key <LSGT>	{[ backslash,        bar,        slash,     NoSymbol ]};
    key <AB01>	{[         y,          Y,       degree,     NoSymbol ]};
    key <AB02>	{[         x,          X,   numbersign,     NoSymbol ]};
    key <AB03>	{[         c,          C,    ampersand,     NoSymbol ]};
    key <AB04>	{[         v,          V,           at,     NoSymbol ]};
    key <AB05>	{[         b,          B,    braceleft,     NoSymbol ]};
    key <AB06>	{[         n,          N,   braceright,     NoSymbol ]};
    key <AB07>	{[         m,          M,  asciicircum,     NoSymbol ]};
    key <AB08>	{[     comma,   question,         less,     NoSymbol ]};
    key <AB09>	{[    period,      colon,      greater,     NoSymbol ]};
    key <AB10>	{[     minus, underscore,     asterisk,     NoSymbol ]};

    key <SPCE>	{[     space,      space,        space,       space  ]};

    include "level3(ralt_switch)"
};

xkb_symbols "bksl" {

    // Put backslash on BKSL key (for when LSGT key is missing).

    include "cz(basic)"
    name[Group1]= "Czech (extra backslash)";

    key <BKSL>	{[ backslash,        bar,        slash,     NoSymbol ]};
};

partial alphanumeric_keys
xkb_symbols "qwerty" {

    // This layout represents the actual Czech keyboards;
    // it complies with the symbols printed on the keys.
    // Originally by Lukáš Mojžíš <lmojzis@grenames.cz>, 2011.

    include "cz(basic)"
    name[Group1]= "Czech (QWERTY)";

    key <AE09>	{[     iacute,         9,    parenleft,       dead_acute ]};
    key <AE10>	{[     eacute,         0,   parenright, dead_doubleacute ]};
    key <AD06>	{[          y,         Y,     NoSymbol,         NoSymbol ]};
    key <AD11>	{[     uacute,     slash,  bracketleft,        braceleft ]};
    key <AD12>	{[ parenright, parenleft, bracketright,       braceright ]};
    key <AC10>	{[      uring,  quotedbl,    semicolon,            colon ]};
    key <AC11>	{[    section,    exclam,   apostrophe,           ssharp ]};
    key <AB01>	{[          z,         Z,       degree,         NoSymbol ]};
};

xkb_symbols "qwerty_bksl" {

    include "cz(qwerty)"
    name[Group1]= "Czech (QWERTY, extra backslash)";

    key <BKSL>	{[  backslash,       bar,        slash,         NoSymbol ]};
};

partial alphanumeric_keys
xkb_symbols "winkeys" {

    // This layout conforms (mostly) to the one in Windows, which differs
    // slightly from the standard ČSN 36 9050, but it is printed on every
    // physical keyboard currently on the market.
    //
    // Originally by Milos Kozák <milos.kozak@lejmr.com>, 2023.

    include "cz(basic)"

    name[Group1]= "Czech (QWERTZ, Windows)";

    key <AE11>	{[      equal,    percent,        minus, underscore ]};
    key <AE12>	{[ dead_acute, dead_caron,        equal,       plus ]};

    key <AD11>	{[     uacute,      slash,  bracketleft,  braceleft ]};
    key <AD12>	{[ parenright,  parenleft, bracketright, braceright ]};

    key <AC10>	{[      uring,   quotedbl,    semicolon,      colon ]};
    key <AC11>	{[    section,     exclam,   apostrophe,   quotedbl ]};

    key <AB08>	{[      comma,   question,         less,      comma ]};
    key <AB09>	{[     period,      colon,      greater,     period ]};
    key <AB10>	{[      minus, underscore,        slash,   question ]};
};

partial alphanumeric_keys
xkb_symbols "winkeys-qwerty" {

    include "cz(winkeys)"

    name[Group1]= "Czech (QWERTY, Windows)";

    key <AD06>	{[          y,          Y,          any,        any ]};
    key <AB01>	{[          z,          Z,       degree,        any ]};
};

partial alphanumeric_keys
xkb_symbols "qwerty-mac" {

    // This layout corresponds to the Apple's Czech - QWERTY.
    // 2018 by Jakub Jirutka <jakub@jirutka.cz>

    include "latin"
    name[Group1]= "Czech (QWERTY, Macintosh)";

    key <TLDE>	{[      less,    greater, lessthanequal, greaterthanequal]};
    key <AE01>	{[      plus,          1,        grave,      notsign ]};
    key <AE02>	{[    ecaron,          2,           at, enfilledcircbullet]};
    key <AE03>	{[    scaron,          3,   numbersign,     notequal ]};
    key <AE04>	{[    ccaron,          4,       dollar,     sterling ]};
    key <AE05>	{[    rcaron,          5,   asciitilde,        U25CA ]};
    key <AE06>	{[    zcaron,          6,  asciicircum,       dagger ]};
    key <AE07>	{[    yacute,          7,    ampersand,    paragraph ]};
    key <AE08>	{[    aacute,          8,     asterisk,     division ]};
    key <AE09>	{[    iacute,          9,    braceleft, guillemotleft]};
    key <AE10>	{[    eacute,          0,   braceright, guillemotright]};
    key <AE11>	{[     equal,    percent, dead_abovering, dead_cedilla]};
    key <AE12>	{[dead_acute, dead_caron, dead_circumflex, dead_macron]};

    key <AD01>	{[         q,          Q,     NoSymbol,     NoSymbol ]};
    key <AD02>	{[         w,          W,    eabovedot,    Eabovedot ]};
    key <AD03>	{[         e,          E,      eogonek,      Eogonek ]};
    key <AD04>	{[         r,          R,     EuroSign,   registered ]};
    key <AD05>	{[         t,          T,     NoSymbol,    trademark ]};
    key <AD06>	{[         y,          Y,     NoSymbol,     NoSymbol ]};
    key <AD07>	{[         u,          U,     NoSymbol,     NoSymbol ]};
    key <AD08>	{[         i,          I,     NoSymbol,     NoSymbol ]};
    key <AD09>	{[         o,          O,     NoSymbol,     NoSymbol ]};
    key <AD10>	{[         p,          P,     NoSymbol,     NoSymbol ]};
    key <AD11>	{[    uacute,      slash,  bracketleft,         less ]};
    key <AD12>	{[parenright,  parenleft, bracketright,      greater ]};

    key <AC01>	{[         a,          A,      aogonek,      Aogonek ]};
    key <AC02>	{[         s,          S,       ssharp,        U2211 ]};
    key <AC03>	{[         d,          D, partialderivative,   U2206 ]};
    key <AC04>	{[         f,          F,     NoSymbol,     NoSymbol ]};
    key <AC05>	{[         g,          G,     NoSymbol,     NoSymbol ]};
    key <AC06>	{[         h,          H, leftsinglequotemark, leftdoublequotemark]};
    key <AC07>	{[         j,          J, rightsinglequotemark, rightdoublequotemark]};
    key <AC08>	{[         k,          K,     NoSymbol,     NoSymbol ]};
    key <AC09>	{[         l,          L,      lstroke,      Lstroke ]};
    key <AC10>	{[     uring,   quotedbl,    semicolon,     ellipsis ]};
    key <AC11>	{[   section,     exclam,   apostrophe,   dead_tilde ]};
    key <BKSL>	{[dead_diaeresis, grave, dead_diaeresis, dead_doubleacute]};

    key <LSGT>	{[ backslash,        bar,     NoSymbol,     NoSymbol ]};
    key <AB01>	{[         z,          Z,    zabovedot,    Zabovedot ]};
    key <AB02>	{[         x,          X,     NoSymbol,     NoSymbol ]};
    key <AB03>	{[         c,          C,     NoSymbol,    copyright ]};
    key <AB04>	{[         v,          V,     NoSymbol,   squareroot ]};
    key <AB05>	{[         b,          B,     NoSymbol,     NoSymbol ]};
    key <AB06>	{[         n,          N, singlelowquotemark, doublelowquotemark]};
    key <AB07>	{[         m,          M,     NoSymbol,     NoSymbol ]};
    key <AB08>	{[     comma,   question,         less, lessthanequal]};
    key <AB09>	{[    period,      colon,      greater, greaterthanequal]};
    key <AB10>	{[     minus, underscore,       endash,       emdash ]};

    key <SPCE>	{[     space,      space, nobreakspace, nobreakspace ]};

    include "level3(ralt_switch)"
};

partial alphanumeric_keys alternate_group
xkb_symbols "ucw" {

    // This layout is meant to be used as the second group:
    // it contains accented characters only, no 'latin' set.
    // Originally by Milan Vancura <mvancura@suse.cz>, 2008.

    name[Group1]= "Czech (UCW, only accented letters)";

    key <AD01>	{[ adiaeresis,	Adiaeresis  ]};
    key <AD02>	{[ ecaron,	Ecaron      ]};
    key <AD03>	{[ eacute,	Eacute      ]};
    key <AD04>	{[ rcaron,	Rcaron      ]};
    key <AD05>	{[ tcaron,	Tcaron      ]};
    key <AD06>	{[ yacute,	Yacute      ]};
    key <AD07>	{[ uring,	Uring       ]};
    key <AD08>	{[ iacute,	Iacute      ]};
    key <AD09>	{[ oacute,	Oacute      ]};
    key <AD10>	{[ odiaeresis,	Odiaeresis  ]};

    key <AC01>	{[ aacute,	Aacute      ]};
    key <AC02>	{[ scaron,	Scaron      ]};
    key <AC03>	{[ dcaron,	Dcaron      ]};
    key <AC04>	{[ ediaeresis,	Ediaeresis  ]};
    key <AC05>	{[ racute,	Racute      ]};
    key <AC06>	{[ uacute,	Uacute      ]};
    key <AC07>	{[ udiaeresis,	Udiaeresis  ]};
    key <AC08>	{[ ocircumflex,	Ocircumflex ]};
    key <AC09>	{[ lcaron,	Lcaron      ]};

    key <AB01>	{[ zcaron,	Zcaron      ]};
    key <AB02>	{[ ssharp,	U1E9E       ]};
    key <AB03>	{[ ccaron,	Ccaron      ]};
    key <AB04>	{[ ccedilla,	Ccedilla    ]};
    key <AB05>	{[ ntilde,	Ntilde      ]};
    key <AB06>	{[ ncaron,	Ncaron      ]};
    key <AB07>	{[ lacute,	Lacute      ]};
};

partial alphanumeric_keys alternate_group
xkb_symbols "colemak-ucw" {

    // UCW extension for a US Colemak layout.
    // Originally by Marek Maskarinec <marek@mrms.cz>, 2022.

    name[Group1]= "Czech (US, Colemak, UCW support)";

    key <AD09>	{[ yacute,	Yacute ]};
    key <AD08>	{[  uring,	 Uring ]};

    key <AC01>	{[ aacute,	Aacute ]};
    key <AC02>	{[ rcaron,	Rcaron ]};
    key <AC03>	{[ scaron,	Scaron ]};
    key <AC04>	{[ tcaron,	Tcaron ]};
    key <AC05>	{[ dcaron,	Dcaron ]};
    key <AC06>	{[ uacute,	Uacute ]};
    key <AC07>	{[ ncaron,	Ncaron ]};
    key <AC08>	{[ ecaron,	Ecaron ]};
    key <AC09>	{[ iacute,	Iacute ]};
    key <AC10>	{[ oacute,	Oacute ]};

    key <AB01>	{[ zcaron,	Zcaron ]};
    key <AB03>	{[ ccaron,	Ccaron ]};
    key <AB07>	{[ eacute,	Eacute ]};
};

partial alphanumeric_keys
xkb_symbols "dvorak-ucw" {

    // US Dvorak layout extended with UCW,
    // AltGr produces accented characters.

    include "us(dvorak)"
    name[Group1]= "Czech (US, Dvorak, UCW support)";

    key <AD05>	{[ y, Y, yacute, Yacute ]};
    key <AD08>	{[ c, C, ccaron, Ccaron ]};
    key <AD09>	{[ r, R, rcaron, Rcaron ]};

    key <AC01>	{[ a, A, aacute, Aacute ]};
    key <AC02>	{[ o, O, oacute, Oacute ]};
    key <AC03>	{[ e, E, ecaron, Ecaron ]};
    key <AC04>	{[ u, U, uring,  Uring  ]};
    key <AC05>	{[ i, I, iacute, Iacute ]};
    key <AC06>	{[ d, D, dcaron, Dcaron ]};
    key <AC08>	{[ t, T, tcaron, Tcaron ]};
    key <AC09>	{[ n, N, ncaron, Ncaron ]};
    key <AC10>	{[ s, S, scaron, Scaron ]};

    key <AB03>	{[ j, J, eacute, Eacute ]};
    key <AB04>	{[ k, K, uacute, Uacute ]};
    key <AB10>	{[ z, Z, zcaron, Zcaron ]};

    include "level3(ralt_switch)"
};

// Phonetic layout with Russian letters on a Czech Qwerty keyboard.
// Originally by Pavel Sorejs <sorejs@gmail.com>, 2015.
partial alphanumeric_keys
xkb_symbols "rus" {

    include "cz(qwerty)"
    name[Group1]= "Russian (Czechia, phonetic)";

    key <TLDE> {[       Cyrillic_io,       Cyrillic_IO                         ]};
    key <AE01> {[              plus,         ampersand,            1,        1 ]};
    key <AE02> {[ Cyrillic_hardsign,                 2,            2,        2 ]};
    key <AE03> {[      Cyrillic_sha,      Cyrillic_SHA,            3,        3 ]};
    key <AE04> {[      Cyrillic_che,      Cyrillic_CHE,            4,        4 ]};
    key <AE05> {[    Cyrillic_shcha,    Cyrillic_SHCHA,            5,        5 ]};
    key <AE06> {[      Cyrillic_zhe,      Cyrillic_ZHE,            6,        6 ]};
    key <AE07> {[          quotedbl,                 4,            7,        7 ]};
    key <AE08> {[           section,                 5,            8,        8 ]};
    key <AE09> {[            dollar,                 6,            9,        9 ]};
    key <AE10> {[             equal,                 7,            0,        0 ]};
    key <AE11> {[           percent,                 8                         ]};
    key <AE12> {[        apostrophe,                 9                         ]};

    key <AD01> {[        numerosign,                 1,            q,        Q ]};
    key <AD02> {[       Cyrillic_yu,       Cyrillic_YU,            w,        W ]};
    key <AD03> {[       Cyrillic_ie,       Cyrillic_IE,            e,        E ]};
    key <AD04> {[       Cyrillic_er,       Cyrillic_ER,            r,        R ]};
    key <AD05> {[       Cyrillic_te,       Cyrillic_TE,            t,        T ]};
    key <AD06> {[     Cyrillic_yeru,     Cyrillic_YERU,            y,        Y ]};
    key <AD07> {[        Cyrillic_u,        Cyrillic_U,            u,        U ]};
    key <AD08> {[        Cyrillic_i,        Cyrillic_I,            i,        I ]};
    key <AD09> {[        Cyrillic_o,        Cyrillic_O,            o,        O ]};
    key <AD10> {[       Cyrillic_pe,       Cyrillic_PE,            p,        P ]};
    key <AD11> {[        Cyrillic_e,        Cyrillic_E,  bracketleft, division ]};
    key <AD12> {[        parenright,         parenleft, bracketright, multiply ]};

    key <AC01> {[        Cyrillic_a,        Cyrillic_A,            a,        A ]};
    key <AC02> {[       Cyrillic_es,       Cyrillic_ES,            s,        S ]};
    key <AC03> {[       Cyrillic_de,       Cyrillic_DE,            d,        D ]};
    key <AC04> {[       Cyrillic_ef,       Cyrillic_EF,            f,        F ]};
    key <AC05> {[      Cyrillic_ghe,      Cyrillic_GHE,            g,        G ]};
    key <AC06> {[       Cyrillic_ha,       Cyrillic_HA,            h,        H ]};
    key <AC07> {[   Cyrillic_shorti,   Cyrillic_SHORTI,            j,        J ]};
    key <AC08> {[       Cyrillic_ka,       Cyrillic_KA,            k,        K ]};
    key <AC09> {[       Cyrillic_el,       Cyrillic_EL,            l,        L ]};
    key <AC10> {[ Cyrillic_softsign, Cyrillic_SOFTSIGN,         less,  greater ]};
    key <AC11> {[         semicolon,             colon                         ]};
    key <BKSL> {[         backslash,         brokenbar                         ]};

    key <LSGT> {[               bar,         brokenbar                         ]};
    key <AB01> {[       Cyrillic_ze,       Cyrillic_ZE,            z,        Z ]};
    key <AB02> {[       Cyrillic_ya,       Cyrillic_YA,            x,        X ]};
    key <AB03> {[      Cyrillic_tse,      Cyrillic_TSE,            c,        C ]};
    key <AB04> {[       Cyrillic_ve,       Cyrillic_VE,            v,        V ]};
    key <AB05> {[       Cyrillic_be,       Cyrillic_BE,            b,        B ]};
    key <AB06> {[       Cyrillic_en,       Cyrillic_EN,            n,        N ]};
    key <AB07> {[       Cyrillic_em,       Cyrillic_EM,            m,        M ]};
    key <AB08> {[             comma,          question                         ]};
    key <AB09> {[            period,            exclam                         ]};
    key <AB10> {[             minus,             slash                         ]};

   include "level3(ralt_switch)"
};


// EXTRAS:

partial alphanumeric_keys
	xkb_symbols "sun_type6" {
	include "sun_vndr/cz(sun_type6)"
};

xkb_symbols "prog" {
    // Programmer keyboard -- a mix between the basic Czech and the basic US layout.
    // The accented Czech letters are on the top row and on the upper levels of the
    // corresponding letter.  Punctuation is located like on a basic US layout.
    //
    // Originally by Viktor Grešák <vgresak@gmail.com>
    // and Tomáš Hudec <Tommy.Hudec@gmail.com>, 2019.

    name[Group1]="Czech (programming)";

    key <TLDE> {[ grave,	asciitilde ]};
    key <AE01> {[ plus,		1,	exclam,		none   ]};
    key <AE02> {[ ecaron,	2,	at,		Ecaron ]};
    key <AE03> {[ scaron,	3,	numbersign,	Scaron ]};
    key <AE04> {[ ccaron,	4,	dollar,		Ccaron ]};
    key <AE05> {[ rcaron,	5,	percent,	Rcaron ]};
    key <AE06> {[ zcaron,	6,	asciicircum,	Zcaron ]};
    key <AE07> {[ yacute,	7,	ampersand,	Yacute ]};
    key <AE08> {[ aacute,	8,	asterisk,	Aacute ]};
    key <AE09> {[ iacute,	9,	parenleft,	Iacute ]};
    key <AE10> {[ eacute,	0,	parenright,	Eacute ]};
    key <AE11> {[ equal,	minus,	underscore,	U2212  ]};
    key <AE12> {[ dead_acute, dead_caron, plusminus,  notequal ]};

    key <AD01> {[ q,	Q ]};
    key <AD02> {[ w,	W ]};
    key <AD03> {[ e,	E ]};
    key <AD04> {[ r,	R ]};
    key <AD05> {[ t,	T,			tcaron,	Tcaron ]};
    key <AD06> {[ y,	Y ]};
    key <AD07> {[ u,	U ]};
    key <AD08> {[ i,	I ]};
    key <AD09> {[ o,	O,			oacute,	Oacute ]};
    key <AD10> {[ p,	P ]};
    key <AD11> {[ bracketleft,	braceleft,	uacute,	Uacute ]};
    key <AD12> {[ bracketright,	braceright ]};

    key <AC01> {[ a,	A ]};
    key <AC02> {[ s,	S ]};
    key <AC03> {[ d,	D,			dcaron,	Dcaron ]};
    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> {[ semicolon,	colon,		uring,	Uring  ]};
    key <AC11> {[ apostrophe,	quotedbl,	section        ]};
    key <BKSL> {[ backslash,	bar,		dead_diaeresis ]};

    key <AB01> {[ z,	Z ]};
    key <AB02> {[ x,	X ]};
    key <AB03> {[ c,	C ]};
    key <AB04> {[ v,	V ]};
    key <AB05> {[ b,	B ]};
    key <AB06> {[ n,	N,			ncaron,	Ncaron ]};
    key <AB07> {[ m,	M ]};
    key <AB08> {[ comma,	less,		multiply       ]};
    key <AB09> {[ period,	greater,	division       ]};
    key <AB10> {[ slash,	question,	dead_abovedot  ]};

    key <COMP> {[ Menu,	Multi_key ]};

    include "level3(ralt_switch)"
};

hidden
xkb_symbols "typo" {
    // Typographic symbols on the third and fourth levels.
    // Originally by Viktor Grešák <vgresak@gmail.com>
    // and Tomáš Hudec <Tommy.Hudec@gmail.com>, 2019.

    key <TLDE> {[  any,  any, singlelowquotemark, leftsinglequotemark ]};
    key <AE01> {[  any,  any,	any,		  rightsinglequotemark ]};
    key <AE11> {[  any,  any,	underscore,	  U2212		]};

    key <AD04> {[  any,  any,	permille,	  registered	]};
    key <AD06> {[  any,  any,	leftarrow			]};
    key <AD07> {[  any,  any,	downarrow,	  uparrow	]};
    key <AD08> {[  any,  any,	rightarrow,	  UFB01		]};
    key <AD10> {[  any,  any,	minutes,	  seconds	]};

    key <AC04> {[  any,  any,	UFB00,		  UFB05		]};
    key <AC06> {[  any,  any,	U2010,		  U2011		]};
    key <AC07> {[  any,  any,	guillemotright,	  guillemotleft	]};
    key <AC08> {[  any,  any,	dagger,		  doubledagger	]};
    key <AC09> {[  any,  any,	UFB02,		  UFB04		]};
    key <AC11> {[  any,  any,	any,		  UFB03		]};

    key <AB01> {[  any,  any,	degree,		  U2300		]};
    key <AB02> {[  any,  any,	multiply,	  U22C5		]};
    key <AB03> {[  any,  any,	ampersand,	  copyright	]};
    key <AB04> {[  any,  any,	at,		  ordfeminine	]};
    key <AB05> {[  any,  any, enfilledcircbullet, enopencircbullet ]};
    key <AB07> {[  any,  any,	U203A,		  U2039		]};
    key <AB08> {[  any,  any, doublelowquotemark, leftdoublequotemark ]};
    key <AB09> {[  any,  any,	ellipsis,	  rightdoublequotemark ]};
    key <AB10> {[  any,  any,	endash,		  emdash	]};

    key <SPCE> {[ space, space,	space,		  nobreakspace	]};
};

xkb_symbols "prog_typo" {

    // The Programmer and Typographic layouts combined.

    include "cz(prog)"
    include "cz(typo)"

    name[Group1]="Czech (programming, typographic)";
};

xkb_symbols "coder" {

    // A US layout with Czech characters under AltGr,
    // for touch-typing programmers who need to write Czech occasionally.
    // https://github.com/michalkahle/czech-coder-xkb

    include "us"
    name[Group1]= "Czech (coder)";

    key <TLDE>	{[     grave,  asciitilde,     semicolon, dead_abovering ]};
    key <AE02>	{[         2,          at,        ecaron,     Ecaron ]};
    key <AE03>	{[         3,  numbersign,        scaron,     Scaron ]};
    key <AE04>	{[         4,      dollar,        ccaron,     Ccaron ]};
    key <AE05>	{[         5,     percent,        rcaron,     Rcaron ]};
    key <AE06>	{[         6, asciicircum,        zcaron,     Zcaron ]};
    key <AE07>	{[         7,   ampersand,        yacute,     Yacute ]};
    key <AE08>	{[         8,    asterisk,        aacute,     Aacute ]};
    key <AE09>	{[         9,   parenleft,        iacute,     Iacute ]};
    key <AE10>	{[         0,  parenright,        eacute,     Eacute ]};
    key <AE12>	{[     equal,        plus,    dead_acute, dead_caron ]};

    key <AD03>	{[         e,           E,             e,   EuroSign ]};
    key <AD11>	{[ bracketleft, braceleft,        uacute,     Uacute ]};

    key <AC10>	{[ semicolon,      colon,          uring,      Uring ]};
    key <AC11>	{[ apostrophe,  quotedbl,        section,   quotedbl ]};
    key <BKSL>	{[ backslash,        bar, dead_diaeresis, apostrophe ]};

    include "level3(ralt_switch)"
};
