// 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 , 2001. 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. // Originally by Lukáš Mojžíš , 2011. 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 "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 , 2023. include "cz(basic)" name[Group1]= "Czech (QWERTZ, Windows)"; key {[ equal, percent, minus, underscore ]}; key {[ dead_acute, dead_caron, equal, plus ]}; key {[ uacute, slash, bracketleft, braceleft ]}; key {[ parenright, parenleft, bracketright, braceright ]}; key {[ uring, quotedbl, semicolon, colon ]}; key {[ section, exclam, apostrophe, quotedbl ]}; key {[ comma, question, less, comma ]}; key {[ period, colon, greater, period ]}; key {[ minus, underscore, slash, question ]}; }; partial alphanumeric_keys xkb_symbols "winkeys-qwerty" { include "cz(winkeys)" name[Group1]= "Czech (QWERTY, Windows)"; key {[ y, Y, any, any ]}; key {[ z, Z, degree, any ]}; }; 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 meant to be used as the second group: // it contains accented characters only, no 'latin' set. // Originally by Milan Vancura , 2008. 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" { // UCW extension for a US Colemak layout. // Originally by Marek Maskarinec , 2022. 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 with Russian letters on a Czech Qwerty keyboard. // Originally by Pavel Sorejs , 2015. 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)" }; // 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 // and Tomáš Hudec , 2019. 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" { // Typographic symbols on the third and fourth levels. // Originally by Viktor Grešák // and Tomáš Hudec , 2019. key {[ any, any, singlelowquotemark, leftsinglequotemark ]}; key {[ any, any, any, rightsinglequotemark ]}; key {[ any, any, underscore, U2212 ]}; key {[ any, any, permille, 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)" };