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. // 2001 by Kamil Toman include "latin" name[Group1]= "Czech"; key { [ semicolon, dead_abovering, grave, asciitilde ] }; key { [ plus, 1, exclam, dead_tilde ] }; key { [ ecaron, 2, at, dead_caron ] }; key { [ scaron, 3, numbersign, dead_circumflex ] }; key { [ ccaron, 4, dollar, dead_breve ] }; key { [ rcaron, 5, percent, dead_abovering]}; key { [ zcaron, 6, asciicircum, dead_ogonek ] }; key { [ yacute, 7, ampersand, dead_grave ] }; key { [ aacute, 8, asterisk, dead_abovedot] }; key { [ iacute, 9, braceleft, dead_acute ] }; key { [ eacute, 0, braceright, dead_doubleacute ] }; key { [ equal, percent, NoSymbol, dead_diaeresis]}; key { [dead_acute, dead_caron, dead_macron, dead_cedilla ] }; key { [ q, Q, backslash, NoSymbol ] }; key { [ w, W, bar, Nosymbol ] }; key { [ e, E, EuroSign, NoSymbol ] }; key { [ r, R, NoSymbol, NoSymbol ] }; key { [ t, T, NoSymbol, NoSymbol ] }; key { [ z, Z, NoSymbol, NoSymbol ] }; key { [ u, U, NoSymbol, NoSymbol ] }; key { [ i, I, NoSymbol, NoSymbol ] }; key { [ o, O, NoSymbol, NoSymbol ] }; key { [ p, P, NoSymbol, NoSymbol ] }; key { [ uacute, slash, bracketleft, division ] }; key { [parenright, parenleft, bracketright, multiply ] }; key { [ a, A, asciitilde, NoSymbol ] }; key { [ s, S, dstroke, NoSymbol ] }; key { [ d, D, Dstroke, NoSymbol ] }; key { [ f, F, bracketleft, NoSymbol ] }; key { [ g, G, bracketright, NoSymbol ] }; key { [ h, H, grave, NoSymbol ] }; key { [ j, J, apostrophe, NoSymbol ] }; key { [ k, K, lstroke, NoSymbol ] }; key { [ l, L, Lstroke, NoSymbol ] }; key { [ uring, quotedbl, dollar, NoSymbol ] }; key { [ section, exclam, apostrophe, ssharp ] }; key { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] }; key { [dead_diaeresis, apostrophe, backslash, bar ] }; key { [ backslash, bar, slash, NoSymbol ] }; key { [ y, Y, degree, NoSymbol ] }; key { [ x, X, numbersign, Nosymbol ] }; key { [ c, C, ampersand, NoSymbol ] }; key { [ v, V, at, NoSymbol ] }; key { [ b, B, braceleft, NoSymbol ] }; key { [ n, N, braceright, NoSymbol ] }; key { [ m, M, asciicircum, NoSymbol ] }; key { [ comma, question, less, NoSymbol ] }; key { [ period, colon, greater, NoSymbol ] }; key { [ minus, underscore, asterisk, NoSymbol ] }; key { [ space, space, space, space ] }; include "level3(ralt_switch)" }; xkb_symbols "bksl" { // Use instead of (useful for keyboards without key). include "cz(basic)" name[Group1]= "Czech (with <\|> key)"; key { [ 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. // 2011 by Lukáš Mojžíš include "cz(basic)" name[Group1]= "Czech (QWERTY)"; key { [ z, Z, degree, NoSymbol ] }; key { [ uring, quotedbl, semicolon, colon ] }; key { [ section, exclam, apostrophe, ssharp ] }; key { [ y, Y, NoSymbol, NoSymbol ] }; key { [ uacute, slash, bracketleft, braceleft ] }; key { [parenright, parenleft, bracketright, braceright ] }; key { [ iacute, 9, parenleft, dead_acute ] }; key { [ eacute, 0, parenright, dead_doubleacute ] }; }; xkb_symbols "qwerty_bksl" { // Use instead of (useful for keyboards without key). include "cz(qwerty)" name[Group1]= "Czech (QWERTY, extended backslash)"; key { [ backslash, bar, slash, NoSymbol ] }; }; partial alphanumeric_keys xkb_symbols "qwerty-mac" { // This layout corresponds to the Apple's Czech - QWERTY. // 2018 by Jakub Jirutka include "latin" name[Group1]= "Czech (QWERTY, Macintosh)"; key { [ less, greater, lessthanequal, greaterthanequal]}; key { [ plus, 1, grave, notsign ] }; key { [ ecaron, 2, at, enfilledcircbullet]}; key { [ scaron, 3, numbersign, notequal ] }; key { [ ccaron, 4, dollar, sterling ] }; key { [ rcaron, 5, asciitilde, U25CA ] }; key { [ zcaron, 6, asciicircum, dagger ] }; key { [ yacute, 7, ampersand, paragraph ] }; key { [ aacute, 8, asterisk, division ] }; key { [ iacute, 9, braceleft, guillemotleft] }; key { [ eacute, 0, braceright, guillemotright]}; key { [ equal, percent, dead_abovering, dead_cedilla]}; key { [dead_acute, dead_caron, dead_circumflex, dead_macron]}; key { [ q, Q, NoSymbol, NoSymbol ] }; key { [ w, W, eabovedot, Eabovedot ] }; key { [ e, E, eogonek, Eogonek ] }; key { [ r, R, EuroSign, registered ] }; key { [ t, T, NoSymbol, trademark ] }; key { [ y, Y, NoSymbol, NoSymbol ] }; key { [ u, U, NoSymbol, NoSymbol ] }; key { [ i, I, NoSymbol, NoSymbol ] }; key { [ o, O, NoSymbol, NoSymbol ] }; key { [ p, P, NoSymbol, NoSymbol ] }; key { [ uacute, slash, bracketleft, less ] }; key { [parenright, parenleft, bracketright, greater ] }; key { [ a, A, aogonek, Aogonek ] }; key { [ s, S, ssharp, U2211 ] }; key { [ d, D, partialderivative, U2206 ] }; key { [ f, F, NoSymbol, NoSymbol ] }; key { [ g, G, NoSymbol, NoSymbol ] }; key { [ h, H, leftsinglequotemark, leftdoublequotemark]}; key { [ j, J, rightsinglequotemark, rightdoublequotemark]}; key { [ k, K, NoSymbol, NoSymbol ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ uring, quotedbl, semicolon, ellipsis ] }; key { [ section, exclam, apostrophe, dead_tilde ] }; key { [dead_diaeresis, grave, dead_diaeresis, dead_doubleacute]}; key { [ backslash, bar, NoSymbol, NoSymbol ] }; key { [ z, Z, zabovedot, Zabovedot ] }; key { [ x, X, NoSymbol, NoSymbol ] }; key { [ c, C, NoSymbol, copyright ] }; key { [ v, V, NoSymbol, squareroot ] }; key { [ b, B, NoSymbol, NoSymbol ] }; key { [ n, N, singlelowquotemark, doublelowquotemark]}; key { [ m, M, NoSymbol, NoSymbol ] }; key { [ comma, question, less, lessthanequal] }; key { [ period, colon, greater, greaterthanequal]}; key { [ minus, underscore, endash, emdash ] }; key { [ space, space, nobreakspace, nobreakspace ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys alternate_group xkb_symbols "ucw" { // This layout is usually used as the second group, // it contains accented characters only, no 'latin' set. // 2008 by Milan Vancura name[Group1]= "Czech (UCW, only accented letters)"; key { [zcaron, Zcaron ] }; key { [ssharp, U1E9E ] }; key { [ccaron, Ccaron ] }; key { [ccedilla, Ccedilla ] }; key { [ntilde, Ntilde ] }; key { [ncaron, Ncaron ] }; key { [lacute, Lacute ] }; key { [aacute, Aacute ] }; key { [scaron, Scaron ] }; key { [dcaron, Dcaron ] }; key { [ediaeresis, Ediaeresis ] }; key { [racute, Racute ] }; key { [uacute, Uacute ] }; key { [udiaeresis, Udiaeresis ] }; key { [ocircumflex, Ocircumflex ] }; key { [lcaron, Lcaron ] }; key { [adiaeresis, Adiaeresis ] }; key { [ecaron, Ecaron ] }; key { [eacute, Eacute ] }; key { [rcaron, Rcaron ] }; key { [tcaron, Tcaron ] }; key { [yacute, Yacute ] }; key { [uring, Uring ] }; key { [iacute, Iacute ] }; key { [oacute, Oacute ] }; key { [odiaeresis, Odiaeresis ] }; }; 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 { [ j, J, eacute, Eacute ] }; key { [ k, K, uacute, Uacute ] }; key { [ z, Z, zcaron, Zcaron ] }; key { [ a, A, aacute, Aacute ] }; key { [ o, O, oacute, Oacute ] }; key { [ e, E, ecaron, Ecaron ] }; key { [ u, U, uring, Uring ] }; key { [ i, I, iacute, Iacute ] }; key { [ d, D, dcaron, Dcaron ] }; key { [ t, T, tcaron, Tcaron ] }; key { [ n, N, ncaron, Ncaron ] }; key { [ s, S, scaron, Scaron ] }; key { [ y, Y, yacute, Yacute ] }; key { [ c, C, ccaron, Ccaron ] }; key { [ r, R, rcaron, Rcaron ] }; include "level3(ralt_switch)" }; // phonetic layout for Russian letters on an CZ (QWERTY) keyboard // originaly created by Pavel Sorejs partial alphanumeric_keys xkb_symbols "rus" { include "cz(qwerty)" name[Group1]= "Russian (Czech, phonetic)"; key { [ plus, ampersand, 1 , 1 ] }; key { [ Cyrillic_hardsign, 2, 2 , 2 ] }; key { [ Cyrillic_sha, Cyrillic_SHA, 3 , 3 ] }; key { [ Cyrillic_che, Cyrillic_CHE, 4 , 4 ] }; key { [ Cyrillic_shcha, Cyrillic_SHCHA, 5 , 5 ] }; key { [ Cyrillic_zhe, Cyrillic_ZHE, 6 , 6 ] }; key { [ quotedbl, 4, 7 , 7 ] }; key { [ section, 5, 8 , 8 ] }; key { [ dollar, 6, 9 , 9 ] }; key { [ equal, 7, 0 , 0 ] }; key { [ percent, 8 ] }; key { [ apostrophe, 9 ] }; key { [ comma, question ] }; key { [ period, exclam ] }; key { [ minus, slash ] }; key { [ semicolon, colon ] }; key { [ bar, brokenbar ] }; key { [ Cyrillic_io, Cyrillic_IO ] }; key { [ numerosign, 1, q, Q ] }; key { [ Cyrillic_yu, Cyrillic_YU, w, W ] }; key { [ Cyrillic_ie, Cyrillic_IE, e, E ] }; key { [ Cyrillic_er, Cyrillic_ER, r, R ] }; key { [ Cyrillic_te, Cyrillic_TE, t, T ] }; key { [ Cyrillic_yeru, Cyrillic_YERU, y, Y ] }; key { [ Cyrillic_u, Cyrillic_U, u, U ] }; key { [ Cyrillic_i, Cyrillic_I, i, I ] }; key { [ Cyrillic_o, Cyrillic_O, o, O ] }; key { [ Cyrillic_pe, Cyrillic_PE, p, P ] }; key { [ Cyrillic_e, Cyrillic_E, bracketleft, division ] }; key { [ parenright, parenleft, bracketright, multiply ] }; key { [ Cyrillic_a, Cyrillic_A, a, A ] }; key { [ Cyrillic_es, Cyrillic_ES, s, S ] }; key { [ Cyrillic_de, Cyrillic_DE, d, D ] }; key { [ Cyrillic_ef, Cyrillic_EF, f, F ] }; key { [ Cyrillic_ghe, Cyrillic_GHE, g, G ] }; key { [ Cyrillic_ha, Cyrillic_HA, h, H ] }; key { [ Cyrillic_shorti, Cyrillic_SHORTI, j, J ] }; key { [ Cyrillic_ka, Cyrillic_KA, k, K ] }; key { [ Cyrillic_el, Cyrillic_EL, l, L ] }; key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, less, greater ] }; key { [ Cyrillic_ze, Cyrillic_ZE, z, Z ] }; key { [ Cyrillic_ya, Cyrillic_YA, x, X ] }; key { [ Cyrillic_tse, Cyrillic_TSE, c, C ] }; key { [ Cyrillic_ve, Cyrillic_VE, v, V ] }; key { [ Cyrillic_be, Cyrillic_BE, b, B ] }; key { [ Cyrillic_en, Cyrillic_EN, n, N ] }; key { [ Cyrillic_em, Cyrillic_EM, m, M ] }; key { [ backslash, brokenbar ] }; include "level3(ralt_switch)" }; // EXTRAS: partial alphanumeric_keys xkb_symbols "sun_type6" { include "sun_vndr/cz(sun_type6)" }; xkb_symbols "prog" { // cz-prog 1.0 2019-05-15 by Viktor Grešák and Tomáš Hudec // // Programmer keyboard. Based on the US layout with accented Czech letters and dead keys. // Using AltGr and a key from the 1st row generates original level 2 US key as level 3 except TLDE and AE12. // Using AltGr+Shift on accented letters generates its uppercase variant. // Using AltGr or AltGr+Shift on letters which have accent in Czech but are not on the 1st row directly accessible generate accented letters, // i.e. [d, D], [t, T], [n, N], [o, O] generate with AltGr and AltGr+Shift: [dcaron, Dcaron], [tcaron, Tcaron], [ncaron, Ncaron], [oacute, Oacute]. // Other Czech letters besides alphanumeric keys (like uacute, uring) are generated using AltGr. name[Group1]="Czech (programming)"; key { [ z, Z ] }; key { [ x, X ] }; key { [ c, C ] }; key { [ v, V ] }; key { [ b, B ] }; key { [ n, N, ncaron, Ncaron ] }; key { [ m, M ] }; key { [ comma, less, multiply ] }; key { [ period, greater, division ] }; key { [ slash, question, dead_abovedot ] }; key { [ a, A ] }; key { [ s, S ] }; key { [ d, D, dcaron, Dcaron ] }; key { [ f, F ] }; key { [ g, G ] }; key { [ h, H ] }; key { [ j, J ] }; key { [ k, K ] }; key { [ l, L ] }; key { [ semicolon, colon, uring, Uring ] }; key { [ apostrophe, quotedbl, section ] }; key { [ q, Q ] }; key { [ w, W ] }; key { [ e, E ] }; key { [ r, R ] }; key { [ t, T, tcaron, Tcaron ] }; key { [ y, Y ] }; key { [ u, U ] }; key { [ i, I ] }; key { [ o, O, oacute, Oacute ] }; key { [ p, P ] }; key { [ bracketleft, braceleft, uacute, Uacute ] }; key { [ bracketright, braceright ] }; key { [ plus, 1, exclam, NoSymbol ] }; key { [ ecaron, 2, at, Ecaron ] }; key { [ scaron, 3, numbersign, Scaron ] }; key { [ ccaron, 4, dollar, Ccaron ] }; key { [ rcaron, 5, percent, Rcaron ] }; key { [ zcaron, 6, asciicircum, Zcaron ] }; key { [ yacute, 7, ampersand, Yacute ] }; key { [ aacute, 8, asterisk, Aacute ] }; key { [ iacute, 9, parenleft, Iacute ] }; key { [ eacute, 0, parenright, Eacute ] }; key { [ equal, minus, underscore, U2212 ] }; key { [ dead_acute, dead_caron, plusminus, notequal ] }; key { [ backslash, bar, dead_diaeresis ] }; key { [ BackSpace, BackSpace ] }; key { [ Caps_Lock ] }; key { [ Menu, Multi_key ] }; key { [ Alt_L, Meta_L ] }; key { [ Control_L ] }; key { [ Shift_L ] }; key { [ Super_L ] }; key { [ ISO_Level3_Shift ] }; key { [ Control_R ] }; key { [ Return ] }; key { [ Shift_R ] }; key { [ Super_R ] }; key { [ space ] }; key { [ Tab, ISO_Left_Tab ] }; key { [ grave, asciitilde ] }; include "level3(ralt_switch)" }; xkb_symbols "typo" { // cz-typo 1.0 2019-05-15 by Viktor Grešák and Tomáš Hudec // // Contains typographic symbols in third and fourth level. // It is intended to be used in conjuction with other existing layout, e.g. setxkbmap -symbols "pc+cz(basic)+cz(typo)+inet(evdev)" name[Group1]="Czech (typographic)"; key { [ NoSymbol, NoSymbol, degree, U2300 ] }; key { [ NoSymbol, NoSymbol, multiply, U22C5 ] }; key { [ NoSymbol, NoSymbol, ampersand, copyright ] }; key { [ NoSymbol, NoSymbol, at, ordfeminine ] }; key { [ NoSymbol, NoSymbol, enfilledcircbullet, enopencircbullet ] }; key { [ NoSymbol, NoSymbol, U203A, U2039 ] }; key { [ NoSymbol, NoSymbol, doublelowquotemark, leftdoublequotemark ] }; key { [ NoSymbol, NoSymbol, ellipsis, rightdoublequotemark ] }; key { [ NoSymbol, NoSymbol, endash, emdash ] }; key { [ NoSymbol, NoSymbol, UFB00, UFB05 ] }; key { [ NoSymbol, NoSymbol, U2010, U2011 ] }; key { [ NoSymbol, NoSymbol, guillemotright, guillemotleft ] }; key { [ NoSymbol, NoSymbol, dagger, doubledagger ] }; key { [ NoSymbol, NoSymbol, UFB02, UFB04 ] }; key { [ NoSymbol, NoSymbol, NoSymbol, UFB03 ] }; key { [ NoSymbol, NoSymbol, U2030, registered ] }; key { [ NoSymbol, NoSymbol, leftarrow ] }; key { [ NoSymbol, NoSymbol, downarrow, uparrow ] }; key { [ NoSymbol, NoSymbol, rightarrow, UFB01 ] }; key { [ NoSymbol, NoSymbol, minutes, seconds ] }; key { [ NoSymbol, NoSymbol, NoSymbol, rightsinglequotemark ] }; key { [ NoSymbol, NoSymbol, underscore, U2212 ] }; key { [ space, space, space, nobreakspace ] }; key { [ NoSymbol, NoSymbol, singlelowquotemark, leftsinglequotemark ] }; }; xkb_symbols "coder" { // US layout with Czech chars 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 {[ grave, asciitilde, semicolon, dead_abovering ]}; key {[ 2, at, ecaron, Ecaron ]}; key {[ 3, numbersign, scaron, Scaron ]}; key {[ 4, dollar, ccaron, Ccaron ]}; key {[ 5, percent, rcaron, Rcaron ]}; key {[ 6, asciicircum, zcaron, Zcaron ]}; key {[ 7, ampersand, yacute, Yacute ]}; key {[ 8, asterisk, aacute, Aacute ]}; key {[ 9, parenleft, iacute, Iacute ]}; key {[ 0, parenright, eacute, Eacute ]}; key {[ equal, plus, dead_acute, dead_caron ]}; key {[ e, E, e, EuroSign ]}; key {[ bracketleft, braceleft, uacute, Uacute ]}; key {[ semicolon, colon, uring, Uring ]}; key {[ apostrophe, quotedbl, section, quotedbl ]}; key {[ backslash, bar, dead_diaeresis, apostrophe ]}; include "level3(ralt_switch)" }; xkb_symbols "prog_typo" { // cz-prog-typo 1.0 2019-06-17 by Viktor Grešák and Tomáš Hudec // // Programmer + Typographic keyboard. Based on the US layout with accented Czech letters and dead keys. // Using AltGr and a key from the 1st row generates original level 2 US key as level 3 except TLDE and AE12. // Using AltGr+Shift on accented letters generates its uppercase variant. // Using AltGr or AltGr+Shift on letters which have accent in Czech but are not on the 1st row directly accessible generate accented letters, // i.e. [d, D], [t, T], [n, N], [o, O] generate with AltGr and AltGr+Shift: [dcaron, Dcaron], [tcaron, Tcaron], [ncaron, Ncaron], [oacute, Oacute]. // Other Czech letters besides alphanumeric keys (like uacute, uring) are generated using AltGr. // // Contains typographic symbols in third and fourth level. include "cz(prog)" include "cz(typo)" name[Group1]="Czech (programming, typographic)"; };