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