1 1.3 mrg default partial alphanumeric_keys 2 1.1 mrg xkb_symbols "basic" { 3 1.1 mrg 4 1.2 kamil // Visualisation and description: http://podziemie.net/xkb/pl 5 1.2 kamil // Contact: Micha Grny <zrchos+freedesktop (a] gmail.com> 6 1.2 kamil 7 1.2 kamil include "latin" 8 1.2 kamil 9 1.2 kamil name[Group1]="Polish"; 10 1.2 kamil 11 1.6 mrg key <TLDE> { [ grave, asciitilde, notsign, logicalor ] }; 12 1.2 kamil key <AE01> { [ 1, exclam, notequal, exclamdown ] }; 13 1.2 kamil key <AE02> { [ 2, at, twosuperior, questiondown ] }; 14 1.2 kamil key <AE04> { [ 4, dollar, cent, onequarter ] }; 15 1.2 kamil key <AE05> { [ 5, percent, EuroSign, U2030 ] }; 16 1.2 kamil key <AE06> { [ 6, asciicircum, onehalf, logicaland ] }; 17 1.2 kamil key <AE07> { [ 7, ampersand, section, U2248 ] }; 18 1.2 kamil key <AE08> { [ 8, asterisk, periodcentered, threequarters ] }; 19 1.2 kamil key <AE09> { [ 9, parenleft, guillemotleft, plusminus ] }; 20 1.2 kamil key <AE10> { [ 0, parenright, guillemotright, degree ] }; 21 1.2 kamil key <AE11> { [ minus, underscore, endash, emdash ] }; 22 1.2 kamil 23 1.2 kamil key <AD01> { [ q, Q, Greek_pi, Greek_OMEGA ] }; 24 1.2 kamil key <AD02> { [ w, W, oe, OE ] }; 25 1.2 kamil key <AD03> { [ e, E, eogonek, Eogonek ] }; 26 1.2 kamil key <AD04> { [ r, R, copyright, registered ] }; 27 1.2 kamil key <AD05> { [ t, T, ssharp, trademark ] }; 28 1.2 kamil key <AD08> { [ i, I, rightarrow, U2194 ] }; 29 1.2 kamil key <AD09> { [ o, O, oacute, Oacute ] }; 30 1.2 kamil 31 1.2 kamil key <AC01> { [ a, A, aogonek, Aogonek ] }; 32 1.2 kamil key <AC02> { [ s, S, sacute, Sacute ] }; 33 1.2 kamil key <AC04> { [ f, F, ae, AE ] }; 34 1.2 kamil key <AC06> { [ h, H, rightsinglequotemark, U2022 ] }; 35 1.2 kamil key <AC07> { [ j, J, schwa, SCHWA ] }; 36 1.2 kamil key <AC08> { [ k, K, ellipsis, dead_stroke ] }; 37 1.2 kamil 38 1.2 kamil key <AB01> { [ z, Z, zabovedot, Zabovedot ] }; 39 1.2 kamil key <AB02> { [ x, X, zacute, Zacute ] }; 40 1.2 kamil key <AB03> { [ c, C, cacute, Cacute ] }; 41 1.2 kamil key <AB04> { [ v, V, doublelowquotemark, leftsinglequotemark ] }; 42 1.2 kamil key <AB05> { [ b, B, rightdoublequotemark, leftdoublequotemark ] }; 43 1.2 kamil key <AB06> { [ n, N, nacute, Nacute ] }; 44 1.2 kamil key <AB07> { [ m, M, mu, infinity ] }; 45 1.2 kamil key <AB08> { [ comma, less, lessthanequal, multiply ] }; 46 1.2 kamil key <AB09> { [ period, greater, greaterthanequal, division ] }; 47 1.2 kamil 48 1.2 kamil key <SPCE> { [ space, space, nobreakspace, nobreakspace ] }; 49 1.2 kamil 50 1.2 kamil include "kpdl(comma)" 51 1.2 kamil 52 1.2 kamil include "level3(ralt_switch)" 53 1.2 kamil }; 54 1.2 kamil 55 1.2 kamil partial alphanumeric_keys 56 1.2 kamil xkb_symbols "legacy" { 57 1.2 kamil 58 1.1 mrg include "latin" 59 1.1 mrg 60 1.2 kamil name[Group1]="Polish (legacy)"; 61 1.1 mrg 62 1.1 mrg key <AD03> { [ e, E, eogonek, Eogonek ] }; 63 1.2 kamil key <AD07> { [ u, U, EuroSign, cent ] }; 64 1.1 mrg key <AD09> { [ o, O, oacute, Oacute ] }; 65 1.1 mrg 66 1.1 mrg key <AC01> { [ a, A, aogonek, Aogonek ] }; 67 1.1 mrg key <AC02> { [ s, S, sacute, Sacute ] }; 68 1.1 mrg 69 1.1 mrg key <AB01> { [ z, Z, zabovedot, Zabovedot ] }; 70 1.1 mrg key <AB02> { [ x, X, zacute, Zacute ] }; 71 1.1 mrg key <AB03> { [ c, C, cacute, Cacute ] }; 72 1.5 mrg key <AB04> { [ v, V, doublelowquotemark, leftsinglequotemark ] }; 73 1.5 mrg key <AB05> { [ b, B, rightdoublequotemark, leftdoublequotemark ] }; 74 1.1 mrg key <AB06> { [ n, N, nacute, Nacute ] }; 75 1.1 mrg 76 1.1 mrg include "kpdl(comma)" 77 1.1 mrg 78 1.1 mrg include "level3(ralt_switch)" 79 1.1 mrg }; 80 1.1 mrg 81 1.1 mrg partial alphanumeric_keys 82 1.5 mrg xkb_symbols "lefty" { 83 1.5 mrg // 2020 by Simon Zelazny. 84 1.5 mrg // Places , , and under the left typing hand. 85 1.5 mrg // For description and rationale, see: https://pzel.name/pl-lefty.html 86 1.5 mrg include "pl(basic)" 87 1.5 mrg 88 1.5 mrg name[Group1]="Polish (lefty)"; 89 1.5 mrg key <AD01> { [ q, Q, oacute, Oacute ] }; 90 1.5 mrg key <AD02> { [ w, W, lstroke, Lstroke ] }; 91 1.5 mrg key <AC03> { [ d, D, nacute, Nacute ] }; 92 1.5 mrg }; 93 1.5 mrg 94 1.5 mrg 95 1.5 mrg partial alphanumeric_keys 96 1.1 mrg xkb_symbols "qwertz" { 97 1.1 mrg 98 1.1 mrg include "latin(type3)" 99 1.1 mrg 100 1.2 kamil name[Group1]="Polish (QWERTZ)"; 101 1.1 mrg 102 1.6 mrg key <TLDE> { [ abovedot, dead_ogonek, notsign, notsign ] }; 103 1.1 mrg key <AE01> { [ 1, exclam, asciitilde, exclamdown ] }; 104 1.1 mrg key <AE02> { [ 2, quotedbl, dead_caron, oneeighth ] }; 105 1.1 mrg key <AE03> { [ 3, numbersign, dead_circumflex, sterling ] }; 106 1.1 mrg key <AE04> { [ 4, dollar, dead_breve, dollar ] }; 107 1.1 mrg key <AE05> { [ 5, percent, degree, threeeighths ] }; 108 1.1 mrg key <AE06> { [ 6, ampersand, dead_ogonek, fiveeighths ] }; 109 1.1 mrg key <AE07> { [ 7, slash, dead_grave, seveneighths ] }; 110 1.1 mrg key <AE08> { [ 8, parenleft, dead_abovedot, trademark ] }; 111 1.1 mrg key <AE09> { [ 9, parenright, dead_acute, plusminus ] }; 112 1.1 mrg key <AE10> { [ 0, equal, dead_doubleacute, degree ] }; 113 1.1 mrg key <AE11> { [ plus, question, dead_diaeresis, questiondown ] }; 114 1.1 mrg key <AE12> { [apostrophe, asterisk, dead_cedilla, dead_ogonek ] }; 115 1.1 mrg 116 1.1 mrg key <AD03> { [ e, E, EuroSign, cent ] }; 117 1.1 mrg key <AD11> { [ zabovedot, nacute, division, dead_abovering ] }; 118 1.1 mrg key <AD12> { [ sacute, cacute, multiply, dead_macron ] }; 119 1.1 mrg 120 1.1 mrg key <AC02> { [ s, S, dstroke, section ] }; 121 1.1 mrg key <AC03> { [ d, D, Dstroke, ETH ] }; 122 1.1 mrg key <AC08> { [ k, K, kra, ampersand ] }; 123 1.1 mrg key <AC09> { [ l, L, lstroke, Lstroke ] }; 124 1.1 mrg key <AC10> { [ lstroke, Lstroke, dollar, dead_doubleacute ] }; 125 1.1 mrg key <AC11> { [ aogonek, eogonek, ssharp, dead_caron ] }; 126 1.6 mrg key <BKSL> { [ oacute, zacute, dead_grave, dead_breve ] }; 127 1.1 mrg 128 1.1 mrg key <AB03> { [ c, C, cent, copyright ] }; 129 1.1 mrg key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] }; 130 1.1 mrg 131 1.1 mrg include "kpdl(comma)" 132 1.1 mrg 133 1.1 mrg include "level3(ralt_switch)" 134 1.1 mrg }; 135 1.1 mrg 136 1.1 mrg // Polish Dvorak keymaps 137 1.1 mrg // by Rafal Rzepecki <divide (a] users.sf.net> 138 1.1 mrg 139 1.1 mrg // The base keymap "pl" places Polish quotes on quotemark key and 140 1.1 mrg // moves the dead symbols from there to "1/!" key. If you are used to common 141 1.1 mrg // dead keys placement, you could use "pl_altquotes"; in this layout 142 1.1 mrg // dead keys remain in the old place, whereas Polish quotes are placed on the 143 1.1 mrg // "1/!" key. If you do not use Polish quotes at all, you can use "pl_basic" map. 144 1.1 mrg 145 1.1 mrg // Basic Polish keymap (without Polish quotes) 146 1.2 kamil partial alphanumeric_keys 147 1.1 mrg xkb_symbols "dvorak" { 148 1.1 mrg include "us(dvorak)" 149 1.2 kamil 150 1.2 kamil name[Group1] = "Polish (Dvorak)"; 151 1.1 mrg 152 1.1 mrg key <AD08> { [ c, C, cacute, Cacute ] }; 153 1.1 mrg key <AD10> { [ l, L, lstroke, Lstroke ] }; 154 1.1 mrg key <AC01> { [ a, A, aogonek, Aogonek ] }; 155 1.1 mrg key <AC02> { [ o, O, oacute, Oacute ] }; 156 1.1 mrg key <AC03> { [ e, E, eogonek, Eogonek ] }; 157 1.1 mrg key <AC09> { [ n, N, nacute, Nacute ] }; 158 1.1 mrg key <AC10> { [ s, S, sacute, Sacute ] }; 159 1.1 mrg key <AB09> { [ v, V, zacute, Zacute ] }; 160 1.1 mrg key <AB10> { [ z, Z, zabovedot, Zabovedot ] }; 161 1.2 kamil 162 1.1 mrg include "kpdl(comma)" 163 1.1 mrg 164 1.1 mrg include "level3(ralt_switch)" 165 1.1 mrg }; 166 1.1 mrg 167 1.1 mrg // Default Polish keymap with Polish quotes on quotemark key 168 1.1 mrg partial alphanumeric_keys 169 1.1 mrg xkb_symbols "dvorak_quotes" { 170 1.1 mrg include "pl(dvorak)" 171 1.2 kamil 172 1.2 kamil name[Group1] = "Polish (Dvorak, with Polish quotes on quotemark key)"; 173 1.1 mrg 174 1.1 mrg key <AD01> { [ apostrophe, quotedbl, doublelowquotemark, rightdoublequotemark ] }; 175 1.1 mrg 176 1.1 mrg // Dead symbols moved to this key 177 1.1 mrg key <AE01> { [ 1, exclam, dead_acute, dead_diaeresis ] }; 178 1.1 mrg }; 179 1.1 mrg 180 1.1 mrg // Polish keymap with Polish quotes on key "1/!" 181 1.1 mrg partial alphanumeric_keys 182 1.1 mrg xkb_symbols "dvorak_altquotes" { 183 1.1 mrg include "pl(dvorak)" 184 1.1 mrg 185 1.2 kamil name[Group1] = "Polish (Dvorak, with Polish quotes on key 1)"; 186 1.1 mrg 187 1.1 mrg key <AE01> { [ 1, exclam, doublelowquotemark, rightdoublequotemark ] }; 188 1.1 mrg }; 189 1.1 mrg 190 1.2 kamil // Polish programmer Dvorak keymap by Michal Nazarewicz <mina86 (a] mina86.com> 191 1.2 kamil // based on programmer Dvorak by Roland Kaufmann <rlndkfmn at gmail dot com> 192 1.2 kamil // and Polish Dvorak keymaps by Rafal Rzepecki <divide (a] users.sf.net 193 1.2 kamil // and latin(basic) 194 1.2 kamil // 195 1.2 kamil // * Numbers are in shift position (like French). 196 1.2 kamil // * Symbols have been placed in locations that give good 197 1.2 kamil // hand-alternation and finger rolling with symbols that usually 198 1.2 kamil // follows. 199 1.2 kamil // * Polish diacritics on AltGr+"acelnosxz" (same as in basic pl(basic)). 200 1.2 kamil // * Aditionaly, zacute on AltGr+"v" so that both zacute and zabovedot 201 1.2 kamil // next to each other same as in pl(basic). 202 1.2 kamil // * Polish open and close quotes on AltGr+& (same location as in 203 1.2 kamil // pl(dvp_altquotes)). 204 1.2 kamil // * English open quote on AltGr+k (same location as in latin(basic)) 205 1.2 kamil // * English/Polish close quote on AltGr+b (similar location as in 206 1.2 kamil // latin(basic) but moved right because AltGr+x is taken for zacute). 207 1.2 kamil // * Polish open and close quote on AltGr+j. 208 1.2 kamil // 209 1.2 kamil // Those rules overwrite only the following rules from us(dvp): 210 1.2 kamil // * ccedilla on AltGr+c 211 1.2 kamil // * aring on Alt+a 212 1.6 mrg // * oslash on Alt+o 213 1.2 kamil // * ae on Alt+e 214 1.2 kamil // * ntilde on Alt+n 215 1.2 kamil // 216 1.2 kamil partial alphanumeric_keys 217 1.2 kamil xkb_symbols "dvp" { 218 1.2 kamil include "us(dvp)" 219 1.2 kamil 220 1.2 kamil name[Group1] = "Polish (programmer Dvorak)"; 221 1.2 kamil 222 1.2 kamil // Unmodified Shift AltGr Shift+AltGr 223 1.2 kamil key <AE01> { [ ampersand, percent, doublelowquotemark, rightdoublequotemark ] }; 224 1.2 kamil 225 1.2 kamil // upper row, right side 226 1.2 kamil key <AD08> { [ c, C, cacute, Cacute ] }; 227 1.2 kamil key <AD10> { [ l, L, lstroke, Lstroke ] }; 228 1.2 kamil 229 1.2 kamil // home row, left side 230 1.6 mrg key <AC01> { [ a, A, aogonek, Aogonek ] }; 231 1.2 kamil key <AC02> { [ o, O, oacute, Oacute ] }; 232 1.2 kamil key <AC03> { [ e, E, eogonek, Eogonek ] }; 233 1.2 kamil 234 1.2 kamil // home row, right side 235 1.2 kamil key <AC09> { [ n, N, nacute, Nacute ] }; 236 1.2 kamil key <AC10> { [ s, S, sacute, Sacute ] }; 237 1.2 kamil 238 1.2 kamil // lower row, left side 239 1.2 kamil key <AB03> { [ j, J, doublelowquotemark, rightdoublequotemark ] }; 240 1.2 kamil key <AB04> { [ k, K, leftdoublequotemark, leftsinglequotemark ] }; 241 1.2 kamil key <AB05> { [ x, X, zacute, Zacute ] }; 242 1.2 kamil 243 1.2 kamil // lower row, right side 244 1.2 kamil key <AB06> { [ b, B, rightdoublequotemark, rightsinglequotemark ] }; 245 1.2 kamil key <AB09> { [ v, V, zacute, Zacute ] }; 246 1.2 kamil key <AB10> { [ z, Z, zabovedot, Zabovedot ] }; 247 1.2 kamil 248 1.2 kamil include "kpdl(comma)" 249 1.2 kamil 250 1.2 kamil include "level3(ralt_switch)" 251 1.2 kamil }; 252 1.2 kamil 253 1.6 mrg // Silesian letters on the third and fourth level, 254 1.6 mrg // by Grzegorz Kulik <poslunsku (a] gmail.com> and Przemysaw Buczkowski <przemub (a] yahoo.pl>. 255 1.6 mrg // 256 1.2 kamil partial alphanumeric_keys 257 1.2 kamil xkb_symbols "szl" { 258 1.2 kamil 259 1.2 kamil include "latin" 260 1.2 kamil 261 1.2 kamil name[Group1]="Silesian"; 262 1.2 kamil 263 1.6 mrg key <AD03> { [ e, E, atilde, Atilde ] }; 264 1.6 mrg key <AD09> { [ o, O, ocircumflex, Ocircumflex ] }; 265 1.6 mrg key <AD07> { [ u, U, omacron, Omacron ] }; 266 1.2 kamil key <AD10> { [ p, P, otilde, Otilde ] }; 267 1.2 kamil 268 1.6 mrg key <AC01> { [ a, A, U014F, U014E ] }; // 269 1.2 kamil key <AC02> { [ s, S, sacute, Sacute ] }; 270 1.2 kamil 271 1.2 kamil key <AB01> { [ z, Z, zabovedot, Zabovedot ] }; 272 1.2 kamil key <AB02> { [ x, X, zacute, Zacute ] }; 273 1.2 kamil key <AB03> { [ c, C, cacute, Cacute ] }; 274 1.6 mrg key <AB04> { [ v, V, doublelowquotemark, leftsinglequotemark ] }; 275 1.5 mrg key <AB05> { [ b, B, rightdoublequotemark, leftdoublequotemark ] }; 276 1.2 kamil key <AB06> { [ n, N, nacute, Nacute ] }; 277 1.2 kamil 278 1.2 kamil include "kpdl(comma)" 279 1.2 kamil 280 1.2 kamil include "level3(ralt_switch)" 281 1.2 kamil }; 282 1.2 kamil 283 1.6 mrg // Kashubian letters on the third and fourth level. 284 1.6 mrg // 285 1.1 mrg partial alphanumeric_keys 286 1.1 mrg xkb_symbols "csb" { 287 1.1 mrg 288 1.1 mrg include "latin" 289 1.1 mrg 290 1.2 kamil name[Group1]="Kashubian"; 291 1.1 mrg 292 1.6 mrg key <AD03> { [ e, E, eacute, Eacute ] }; 293 1.6 mrg key <AD04> { [ r, R, ediaeresis, Ediaeresis ] }; 294 1.6 mrg key <AD06> { [ y, Y, EuroSign, cent ] }; 295 1.6 mrg key <AD07> { [ u, U, ugrave, Ugrave ] }; 296 1.6 mrg key <AD08> { [ i, I, ograve, Ograve ] }; 297 1.1 mrg key <AD09> { [ o, O, oacute, Oacute ] }; 298 1.6 mrg key <AD10> { [ p, P, ocircumflex, Ocircumflex ] }; 299 1.1 mrg 300 1.1 mrg key <AC01> { [ a, A, aogonek, Aogonek ] }; 301 1.6 mrg key <AC02> { [ s, S, atilde, Atilde ] }; 302 1.6 mrg key <AC09> { [ l, L, lstroke, Lstroke ] }; 303 1.1 mrg 304 1.1 mrg key <AB01> { [ z, Z, zabovedot, Zabovedot ] }; 305 1.6 mrg key <AB04> { [ v, V, doublelowquotemark, leftsinglequotemark ] }; 306 1.5 mrg key <AB05> { [ b, B, rightdoublequotemark, leftdoublequotemark ] }; 307 1.1 mrg key <AB06> { [ n, N, nacute, Nacute ] }; 308 1.1 mrg 309 1.1 mrg include "kpdl(comma)" 310 1.1 mrg 311 1.1 mrg include "level3(ralt_switch)" 312 1.1 mrg }; 313 1.1 mrg 314 1.1 mrg // Russian Polish-phonetic Dvorak 315 1.1 mrg // by Adrian Dziubek <adrian.dziubek (a] gmail.com> 316 1.1 mrg // 317 1.1 mrg // This layout aims to enable Polish Dvorak users to type with Russian 318 1.1 mrg // Cyrillic alphabet by using the sound correspondence between Polish and 319 1.1 mrg // Russian languages. 320 1.1 mrg // 321 1.1 mrg // This keyboard should be intuitive. Please let me know, if my intuition 322 1.1 mrg // lets You down. 323 1.1 mrg // 324 1.1 mrg // The guidelines used: 325 1.1 mrg // - no Cyrillic symbols are placed on punctuation symbols, 326 1.1 mrg // - visual similarities are ignored if there is a sound correspondence: 327 1.1 mrg // no Cyrillic_es on c, no Cyrillic_er on p, no Cyrillic_ha on x etc., 328 1.1 mrg // - the Latin symbols that have close sound correspondence (as read in Polish) 329 1.1 mrg // to Cyrillic symbols (as read in Russian) are mapped respectively: 330 1.1 mrg // * j -> Cyrillic_shorti, 331 1.1 mrg // * k -> Cyrillic_ka, 332 1.1 mrg // * b -> Cyrillic_be, 333 1.1 mrg // * m -> Cyrillic_em, 334 1.1 mrg // * w -> Cyrillic_ve, 335 1.1 mrg // * z -> Cyrillic_ze 336 1.1 mrg // * a -> Cyrillic_a, 337 1.1 mrg // * o -> Cyrillic_o, 338 1.1 mrg // * u -> Cyrillic_u, 339 1.1 mrg // * i -> Cyrillic_i, 340 1.1 mrg // * d -> Cyrillic_de, 341 1.1 mrg // * h -> Cyrillic_ha, 342 1.1 mrg // * t -> Cyrillic_te, 343 1.1 mrg // * n -> Cyrillic_en, 344 1.1 mrg // * s -> Cyrillic_es, 345 1.1 mrg // * p -> Cyrillic_pe, 346 1.1 mrg // * y -> Cyrillic_yeru, 347 1.1 mrg // * f -> Cyrillic_ef, 348 1.1 mrg // * g -> Cyrillic_ghe, 349 1.1 mrg // * c -> Cyrillic_tse, 350 1.1 mrg // * r -> Cyrillic_er, 351 1.1 mrg // * l -> Cyrillic_el, 352 1.1 mrg // - ...and little more distant: 353 1.1 mrg // * AltGr + s (sacute) -> Cyrillic_sha, 354 1.1 mrg // * AltGr + z (zabovedot) -> Cyrillic_zhe, 355 1.1 mrg // * AltGr + c (cacute) -> Cyrillic_che, 356 1.1 mrg // - the soft versions of Russian vowels are accessible through AltGr + vowel: 357 1.1 mrg // * AltGr + a -> Cyrillic_ya, 358 1.1 mrg // * AltGr + o -> Cyrillic_io, 359 1.1 mrg // * AltGr + u -> Cyrillic_yu, 360 1.1 mrg // - ...except for Cyrillic_ie which is more frequently used than Cyrillic_e: 361 1.1 mrg // * AltGr + e -> Cyrillic_e, 362 1.1 mrg // * e -> Cyrillic_ie, 363 1.1 mrg // - q is also mapped to Cyrillic_ya, following the US phonetic keyboard 364 1.1 mrg // choice, as Cyrillic_ya and Cyrillic_a are both often used: 365 1.1 mrg // * q -> Cyrillic_ya, 366 1.1 mrg // - the soft and hard symbols that have no Polish counterparts are mapped 367 1.1 mrg // to rarely used in Polish x character: 368 1.1 mrg // * x -> Cyrillic_softsign 369 1.1 mrg // * AltGr + x -> Cyrillic_hardsign, 370 1.1 mrg // - the soft sign is additionally available as AltGr + consonant combination 371 1.1 mrg // for every consonant that can be softened or separated by soft sign: 372 1.1 mrg // * AltGr + l -> Cyrillic_softsign, 373 1.1 mrg // * AltGr + d -> Cyrillic_softsign, 374 1.1 mrg // * AltGr + n -> Cyrillic_softsign, 375 1.1 mrg // * AltGr + r -> Cyrillic_softsign, 376 1.1 mrg // * AltGr + t -> Cyrillic_softsign, 377 1.1 mrg // * AltGr + p -> Cyrillic_softsign, 378 1.1 mrg // - ...and also because of visual similarity under level3 b: 379 1.1 mrg // * AltGr + b -> Cyrillic_softsign, 380 1.1 mrg // * Shift + AltGr + b -> Cyrillic_hardsign, 381 1.1 mrg // - the Cyrillic_shcha symbol is placed under AltGr + w (visual similarity): 382 1.1 mrg // * AltGr + w -> Cyrillic_shcha 383 1.1 mrg // - v, also rarely unused in Polish is mapped like w: 384 1.1 mrg // * v -> Cyrillic_ve, 385 1.1 mrg // 386 1.1 mrg partial alphanumeric_keys 387 1.1 mrg xkb_symbols "ru_phonetic_dvorak" { 388 1.1 mrg include "us(dvorak)" 389 1.1 mrg 390 1.2 kamil name[Group1] = "Russian (Poland, phonetic Dvorak)"; 391 1.1 mrg 392 1.1 mrg // lower row 393 1.1 mrg key <AB02> { [ Cyrillic_ya, Cyrillic_YA ] }; 394 1.1 mrg key <AB03> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; 395 1.1 mrg key <AB04> { [ Cyrillic_ka, Cyrillic_KA ] }; 396 1.1 mrg key <AB05> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; 397 1.1 mrg key <AB06> { [ Cyrillic_be, Cyrillic_BE, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; 398 1.1 mrg key <AB07> { [ Cyrillic_em, Cyrillic_EM ] }; 399 1.1 mrg key <AB08> { [ Cyrillic_ve, Cyrillic_VE, Cyrillic_shcha, Cyrillic_SHCHA ] }; 400 1.1 mrg key <AB09> { [ Cyrillic_ve, Cyrillic_VE, Cyrillic_shcha, Cyrillic_SHCHA ] }; 401 1.1 mrg key <AB10> { [ Cyrillic_ze, Cyrillic_ZE, Cyrillic_zhe, Cyrillic_ZHE ] }; 402 1.1 mrg // home row 403 1.1 mrg key <AC01> { [ Cyrillic_a, Cyrillic_A, Cyrillic_ya, Cyrillic_YA ] }; 404 1.1 mrg key <AC02> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] }; 405 1.1 mrg key <AC03> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ] }; 406 1.1 mrg key <AC04> { [ Cyrillic_u, Cyrillic_U, Cyrillic_yu, Cyrillic_YU ] }; 407 1.1 mrg key <AC05> { [ Cyrillic_i, Cyrillic_I ] }; 408 1.1 mrg key <AC06> { [ Cyrillic_de, Cyrillic_DE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 409 1.1 mrg key <AC07> { [ Cyrillic_ha, Cyrillic_HA ] }; 410 1.1 mrg key <AC08> { [ Cyrillic_te, Cyrillic_TE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 411 1.1 mrg key <AC09> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 412 1.1 mrg key <AC10> { [ Cyrillic_es, Cyrillic_ES, Cyrillic_sha, Cyrillic_SHA ] }; 413 1.1 mrg // upper row 414 1.1 mrg key <AD04> { [ Cyrillic_pe, Cyrillic_PE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 415 1.1 mrg key <AD05> { [ Cyrillic_yeru, Cyrillic_YERU ] }; 416 1.1 mrg key <AD06> { [ Cyrillic_ef, Cyrillic_EF ] }; 417 1.1 mrg key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] }; 418 1.1 mrg key <AD08> { [ Cyrillic_tse, Cyrillic_TSE, Cyrillic_che, Cyrillic_CHE ] }; 419 1.1 mrg key <AD09> { [ Cyrillic_er, Cyrillic_ER, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 420 1.1 mrg key <AD10> { [ Cyrillic_el, Cyrillic_EL, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 421 1.1 mrg 422 1.1 mrg include "kpdl(comma)" 423 1.1 mrg 424 1.1 mrg include "level3(ralt_switch)" 425 1.1 mrg }; 426 1.2 kamil 427 1.2 kamil // EXTRAS: 428 1.2 kamil 429 1.2 kamil // A Polish keymap with a comprehensive set of quotes, dashes, and dead accents 430 1.2 kamil // 431 1.2 kamil // See http://marcinwolinski.pl/keyboard/ for a description. 432 1.2 kamil // 433 1.2 kamil // 434 1.2 kamil // 2 4 2 = Shift, 4 = Level3 + Shift 435 1.2 kamil // 1 3 1 = Normal, 3 = Level3 436 1.2 kamil // 437 1.2 kamil // 438 1.2 kamil // ~ ~ ! ' @ " # $ % ^ ^ & * ( ) _ + Back 439 1.2 kamil // ` ` 1 2 3 4 5 6 7 8 9 0 - = space 440 1.2 kamil // 441 1.2 kamil // Q W E R T Y U I O P { } Enter 442 1.2 kamil // Tab q w e r t y u i o p [ ] 443 1.2 kamil // 444 1.2 kamil // A S D F G H J K L : " | 445 1.2 kamil // Caps a s d f g h j k l ; ' \ 446 1.2 kamil // 447 1.2 kamil // Z X C V B N M < > ? 448 1.2 kamil // Shift z x c v b n m , . / Shift 449 1.2 kamil // 450 1.2 kamil // 451 1.2 kamil // Ctrl Meta Alt Space AltGr Menu Ctrl 452 1.2 kamil // 453 1.2 kamil 454 1.2 kamil partial alphanumeric_keys 455 1.2 kamil xkb_symbols "intl" { 456 1.2 kamil 457 1.2 kamil include "latin(intl)" 458 1.2 kamil 459 1.2 kamil name[Group1]="Polish (intl., with dead keys)"; 460 1.2 kamil 461 1.2 kamil key <AD03> { [ e, E, eogonek, Eogonek ] }; 462 1.2 kamil key <AD09> { [ o, O, oacute, Oacute ] }; 463 1.2 kamil 464 1.2 kamil key <AC01> { [ a, A, aogonek, Aogonek ] }; 465 1.2 kamil key <AC02> { [ s, S, sacute, Sacute ] }; 466 1.2 kamil key <AC09> { [ l, L, lstroke, Lstroke ] }; 467 1.2 kamil 468 1.2 kamil key <AB01> { [ z, Z, zabovedot, Zabovedot ] }; 469 1.2 kamil key <AB02> { [ x, X, zacute, Zacute ] }; 470 1.2 kamil key <AB03> { [ c, C, cacute, Cacute ] }; 471 1.2 kamil key <AB06> { [ n, N, nacute, Nacute ] }; 472 1.2 kamil 473 1.2 kamil include "kpdl(comma)" 474 1.2 kamil 475 1.2 kamil include "level3(ralt_switch)" 476 1.2 kamil }; 477 1.2 kamil 478 1.2 kamil // Polish Colemak 479 1.2 kamil // by Tomek Piotrowski <tomek.piotrowski (a] atteo.com> 480 1.2 kamil // 481 1.2 kamil partial alphanumeric_keys 482 1.2 kamil xkb_symbols "colemak" { 483 1.2 kamil include "us(colemak)" 484 1.2 kamil name[Group1]= "Polish (Colemak)"; 485 1.2 kamil 486 1.2 kamil key <AB01> { [ z, Z, zabovedot, Zabovedot ] }; 487 1.2 kamil key <AB02> { [ x, X, zacute, Zacute ] }; 488 1.2 kamil key <AB03> { [ c, C, cacute, Cacute ] }; 489 1.2 kamil key <AC01> { [ a, A, aogonek, Aogonek ] }; 490 1.2 kamil key <AC03> { [ s, S, sacute, Sacute ] }; 491 1.2 kamil key <AC07> { [ n, N, nacute, Nacute ] }; 492 1.2 kamil key <AC08> { [ e, E, eogonek, Eogonek ] }; 493 1.2 kamil key <AC10> { [ o, O, oacute, Oacute ] }; 494 1.3 mrg key <AD01> { [ q, Q, ae, AE ] }; 495 1.3 mrg key <AD02> { [ w, W, dead_circumflex, asciitilde ] }; 496 1.3 mrg key <AD03> { [ f, F, ssharp, 0x1001e9e ] }; 497 1.3 mrg key <AD07> { [ l, L, lstroke, Lstroke ] }; 498 1.3 mrg 499 1.3 mrg include "level3(ralt_switch)" 500 1.3 mrg }; 501 1.3 mrg 502 1.6 mrg // Colemak-DH (ANSI), Polish variant, https://colemakmods.github.io/mod-dh/ 503 1.3 mrg partial alphanumeric_keys 504 1.6 mrg xkb_symbols "colemak_dh_ansi" { 505 1.3 mrg include "us(colemak_dh)" 506 1.3 mrg name[Group1]= "Polish (Colemak-DH)"; 507 1.3 mrg 508 1.3 mrg key <AB01> { [ x, X, zacute, Zacute ] }; 509 1.3 mrg key <AB02> { [ c, C, cacute, Cacute ] }; 510 1.6 mrg key <AB05> { [ z, Z, zabovedot, Zabovedot ] }; 511 1.3 mrg key <AC01> { [ a, A, aogonek, Aogonek ] }; 512 1.3 mrg key <AC03> { [ s, S, sacute, Sacute ] }; 513 1.3 mrg key <AC07> { [ n, N, nacute, Nacute ] }; 514 1.3 mrg key <AC08> { [ e, E, eogonek, Eogonek ] }; 515 1.3 mrg key <AC10> { [ o, O, oacute, Oacute ] }; 516 1.3 mrg key <AD01> { [ q, Q, ae, AE ] }; 517 1.3 mrg key <AD02> { [ w, W, dead_circumflex, asciitilde ] }; 518 1.3 mrg key <AD03> { [ f, F, ssharp, 0x1001e9e ] }; 519 1.2 kamil key <AD07> { [ l, L, lstroke, Lstroke ] }; 520 1.2 kamil 521 1.2 kamil include "level3(ralt_switch)" 522 1.2 kamil }; 523 1.2 kamil 524 1.6 mrg // Colemak-DH (ISO), Polish variant, https://colemakmods.github.io/mod-dh/ 525 1.6 mrg partial alphanumeric_keys 526 1.6 mrg xkb_symbols "colemak_dh" { 527 1.6 mrg include "pl(colemak_dh_ansi)" 528 1.6 mrg name[Group1]= "Polish (Colemak-DH ISO)"; 529 1.6 mrg 530 1.6 mrg key <LSGT> { [ z, Z, zabovedot, Zabovedot ] }; 531 1.6 mrg key <AB05> { [ backslash, bar, asciitilde, brokenbar] }; 532 1.6 mrg 533 1.6 mrg include "level3(ralt_switch)" 534 1.6 mrg }; 535 1.6 mrg 536 1.2 kamil partial alphanumeric_keys 537 1.4 mrg xkb_symbols "sun_type6" { 538 1.2 kamil include "sun_vndr/pl(sun_type6)" 539 1.2 kamil }; 540 1.2 kamil 541 1.2 kamil //Glagolica 542 1.2 kamil partial alphanumeric_keys 543 1.2 kamil xkb_symbols "glagolica" 544 1.2 kamil { 545 1.2 kamil name[Group1] = "Polish (Glagolica)"; 546 1.2 kamil 547 1.2 kamil key <AD01> { [ U2C21, U2C23, any, any ] };//q/Q// 548 1.2 kamil key <AD02> { [ U2C02, U2C19, any, any ] };//w/W/// 549 1.2 kamil key <AD03> { [ U2C05, U2C27, U2C24, U2C25 ] };//e/E//// 550 1.2 kamil key <AD04> { [ U2C13, U2C13, any, any ] };//r/R// 551 1.2 kamil key <AD05> { [ U2C15, U2C15, any, any ] };//t/T// 552 1.2 kamil key <AD06> { [ U2C09, U2C0A, U2C20, any ] };//y/Y/// 553 1.2 kamil key <AD07> { [ U2C16, U2C16, any, any ] };//u/U// 554 1.2 kamil key <AD08> { [ U2C0B, U2C09, any, any ] };//i/I// 555 1.2 kamil key <AD09> { [ U2C11, U2C19, U2C41, any ] };//o/O/// 556 1.2 kamil key <AD10> { [ U2C12, U2C1A, any, any ] };//p/P// 557 1.2 kamil key <AD11> { [ U2C1E, U2C26, any, any ] };//[/{// 558 1.2 kamil key <AD12> { [ U2C1B, U2C29, any, any ] };//]/}// 559 1.2 kamil key <AC01> { [ U2C00, U2C00, U2C28, U2C29 ] };//a/A//// 560 1.2 kamil key <AC02> { [ U2C14, U2C1E, any, any ] };//[/{// 561 1.2 kamil key <AC03> { [ U2C04, U2C04, any, any ] };//d/D// 562 1.2 kamil key <AC04> { [ U2C17, U2C2A, any, any ] };//f/F// 563 1.2 kamil key <AC05> { [ U2C03, U2C03, any, any ] };//g/G// 564 1.2 kamil key <AC06> { [ U2C18, U2C18, any, any ] };//h/H// 565 1.2 kamil key <AC07> { [ U2C0A, U2C0A, any, any ] };//j/J// 566 1.2 kamil key <AC08> { [ U2C0D, U2C0D, any, any ] };//k/K// 567 1.2 kamil key <AC09> { [ U2C0E, U2C0E, any, any ] };//l/L// 568 1.2 kamil key <AC10> { [ U2C28, U2C24, any, any ] };//;/:// 569 1.2 kamil key <AC11> { [ U2C06, any, any, any ] };//'/"/ 570 1.6 mrg key <AC12> { [ U2C0C, any, any, any ] };//\/|/ 571 1.2 kamil key <AB01> { [ U2C08, U2C07, any, any ] };//z/Z// 572 1.2 kamil key <AB02> { [ U2C20, U2C1F, any, any ] };//x/X// 573 1.2 kamil key <AB03> { [ U2C1C, U2C1D, any, any] };//c/C// 574 1.2 kamil key <AB04> { [ U2C02, U2C2B, any, any ] };//v/V// 575 1.2 kamil key <AB05> { [ U2C01, U2C01, any, any ] };//b/B// 576 1.2 kamil key <AB06> { [ U2C10, U2C10, any, any ] };//n/N// 577 1.2 kamil key <AB07> { [ U2C0F, U2C0F, any, any ] };//m/M// 578 1.2 kamil 579 1.2 kamil include "kpdl(comma)" 580 1.2 kamil 581 1.2 kamil include "level3(ralt_switch)" 582 1.2 kamil }; 583