cz 24 KB

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