// 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. // 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 {[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" { // Put backslash on BKSL key (for when LSGT key is missing). include "cz(basic)" name[Group1]= "Czech (extra backslash)"; 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 {[ iacute, 9, parenleft, dead_acute ] }; key {[ eacute, 0, parenright, dead_doubleacute ] }; key {[ y, Y, NoSymbol, NoSymbol ] }; key {[ uacute, slash, bracketleft, braceleft ] }; key {[parenright, parenleft, bracketright, braceright ] }; key {[ uring, quotedbl, semicolon, colon ] }; key {[ section, exclam, apostrophe, ssharp ] }; key {[ z, Z, degree, NoSymbol ] }; }; xkb_symbols "qwerty_bksl" { include "cz(qwerty)" name[Group1]= "Czech (QWERTY, extra 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 {[ 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 ]}; 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 {[ zcaron, Zcaron ]}; key {[ ssharp, U1E9E ]}; key {[ ccaron, Ccaron ]}; key {[ ccedilla, Ccedilla ]}; key {[ ntilde, Ntilde ]}; key {[ ncaron, Ncaron ]}; key {[ lacute, Lacute ]}; }; partial alphanumeric_keys alternate_group xkb_symbols "colemak-ucw" { // US Colemak layout extended with UCW // 2022 by Marek Maskarinec name[Group1]= "Czech (US, Colemak, UCW support)"; key {[ yacute, Yacute ]}; key {[ uring, Uring ]}; key {[ aacute, Aacute ]}; key {[ rcaron, Rcaron ]}; key {[ scaron, Scaron ]}; key {[ tcaron, Tcaron ]}; key {[ dcaron, Dcaron ]}; key {[ uacute, Uacute ]}; key {[ ncaron, Ncaron ]}; key {[ ecaron, Ecaron ]}; key {[ iacute, Iacute ]}; key {[ oacute, Oacute ]}; key {[ zcaron, Zcaron ]}; key {[ ccaron, Ccaron ]}; key {[ 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 {[ y, Y, yacute, Yacute ]}; key {[ c, C, ccaron, Ccaron ]}; key {[ r, R, rcaron, Rcaron ]}; 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 {[ j, J, eacute, Eacute ]}; key {[ k, K, uacute, Uacute ]}; key {[ z, Z, zcaron, Zcaron ]}; 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 (Czechia, phonetic)"; key {[ Cyrillic_io, Cyrillic_IO ] }; 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 {[ 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 {[ semicolon, colon ] }; key {[ backslash, brokenbar ] }; key {[ bar, brokenbar ] }; 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 {[ comma, question ] }; key {[ period, exclam ] }; key {[ minus, slash ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "winkeys" { // This layout conforms to the Windows defintion that is slightly different // to standard ČSN 36 9050, but is printed on every physical keyboard on // the market. This layout is just conventient for all the people who must // work on Windows PC at work, and work on Linux at home. // // 2023 by Milos Kozák include "latin" name[Group1]= "Czech (QWERTZ, Windows flavour)"; 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, minus, underscore]}; key {[dead_acute, dead_caron, equal, plus ] }; 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, braceleft ] }; key {[parenright, parenleft, bracketright, braceright ] }; 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, semicolon, colon ] }; key {[ section, exclam, apostrophe, quotedbl ] }; 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, comma ] }; key {[ period, colon, greater, period ] }; key {[ minus, underscore, slash, question ] }; key {[ space, space, space, space ] }; include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "winkeys-qwerty" { // This layout conforms to the Windows defintion that is slightly different // to standard ČSN 36 9050, but is printed on every physical keyboard on // the market. This layout is just conventient for all the people who must // work on Windows PC at work, and work on Linux at home. // // 2023 by Milos Kozák include "cz(winkeys)" name[Group1]= "Czech (QWERTY, Windows flavour)"; key {[ y, Y, NoSymbol, NoSymbol ] }; key {[ z, Z, degree, NoSymbol ] }; }; // 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 plus a key from the first row (except TLDE and AE12) gives the original level 2 US symbol. // Using AltGr+Shift on an accented letter on this first row gives its uppercase variant. // Using AltGr or AltGr+Shift on other letters which have an accent in Czech give the corresponding // accented letters; that is, [d, D], [t, T], [n, N], [o, O] give [ď, Ď], [ť, Ť], [ň, Ň], [ó, Ó]. // Two other Czech letters (ú, ů) are accessed via AltGr together with their usual key. name[Group1]="Czech (programming)"; key {[ grave, asciitilde ]}; key {[ plus, 1, exclam, none ]}; 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 {[ 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 {[ 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 {[ backslash, bar, dead_diaeresis ]}; 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 {[ Menu, Multi_key ]}; include "level3(ralt_switch)" }; hidden xkb_symbols "typo" { // cz-typo 1.0 2019-05-15 by Viktor Grešák and Tomáš Hudec // // Contains typographic symbols on the third and fourth levels. // It is intended to be used in conjuction with another layout, e.g. setxkbmap "cz(basic)+cz(typo)" key {[ any, any, singlelowquotemark, leftsinglequotemark ]}; key {[ any, any, any, rightsinglequotemark ]}; key {[ any, any, underscore, U2212 ]}; key {[ any, any, U2030, registered ]}; key {[ any, any, leftarrow ]}; key {[ any, any, downarrow, uparrow ]}; key {[ any, any, rightarrow, UFB01 ]}; key {[ any, any, minutes, seconds ]}; key {[ any, any, UFB00, UFB05 ]}; key {[ any, any, U2010, U2011 ]}; key {[ any, any, guillemotright, guillemotleft ]}; key {[ any, any, dagger, doubledagger ]}; key {[ any, any, UFB02, UFB04 ]}; key {[ any, any, any, UFB03 ]}; key {[ any, any, degree, U2300 ]}; key {[ any, any, multiply, U22C5 ]}; key {[ any, any, ampersand, copyright ]}; key {[ any, any, at, ordfeminine ]}; key {[ any, any, enfilledcircbullet, enopencircbullet ]}; key {[ any, any, U203A, U2039 ]}; key {[ any, any, doublelowquotemark, leftdoublequotemark ]}; key {[ any, any, ellipsis, rightdoublequotemark ]}; key {[ any, any, endash, emdash ]}; key {[ 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 {[ 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)" };