pl revision bfd7cbc1
1// based on a keyboard map from an 'xkb/symbols/pl' file 2 3partial default alphanumeric_keys 4xkb_symbols "basic" { 5 6 include "latin" 7 8 name[Group1]="Polish"; 9 10 key <AD01> { [ q, Q ] }; 11 key <AD02> { [ w, W ] }; 12 key <AD03> { [ e, E, eogonek, Eogonek ] }; 13 key <AD09> { [ o, O, oacute, Oacute ] }; 14 15 key <AC01> { [ a, A, aogonek, Aogonek ] }; 16 key <AC02> { [ s, S, sacute, Sacute ] }; 17 key <AC04> { [ f, F ] }; 18 19 key <AB01> { [ z, Z, zabovedot, Zabovedot ] }; 20 key <AB02> { [ x, X, zacute, Zacute ] }; 21 key <AB03> { [ c, C, cacute, Cacute ] }; 22 key <AB06> { [ n, N, nacute, Nacute ] }; 23 24 include "kpdl(comma)" 25 26 include "level3(ralt_switch)" 27}; 28 29partial alphanumeric_keys 30xkb_symbols "qwertz" { 31 32 // Describes the differences between a very simple en_US 33 // keyboard and a very simple QWERTZ Polish keybaord 34 35 include "latin(type3)" 36 37 name[Group1]="Polish (qwertz)"; 38 39 key <AE01> { [ 1, exclam, asciitilde, exclamdown ] }; 40 key <AE02> { [ 2, quotedbl, dead_caron, oneeighth ] }; 41 key <AE03> { [ 3, numbersign, dead_circumflex, sterling ] }; 42 key <AE04> { [ 4, dollar, dead_breve, dollar ] }; 43 key <AE05> { [ 5, percent, degree, threeeighths ] }; 44 key <AE06> { [ 6, ampersand, dead_ogonek, fiveeighths ] }; 45 key <AE07> { [ 7, slash, dead_grave, seveneighths ] }; 46 key <AE08> { [ 8, parenleft, dead_abovedot, trademark ] }; 47 key <AE09> { [ 9, parenright, dead_acute, plusminus ] }; 48 key <AE10> { [ 0, equal, dead_doubleacute, degree ] }; 49 key <AE11> { [ plus, question, dead_diaeresis, questiondown ] }; 50 key <AE12> { [apostrophe, asterisk, dead_cedilla, dead_ogonek ] }; 51 52 key <AD01> { [ q, Q ] }; 53 key <AD02> { [ w, W ] }; 54 key <AD03> { [ e, E, EuroSign, cent ] }; 55 key <AD11> { [ zabovedot, nacute, division, dead_abovering ] }; 56 key <AD12> { [ sacute, cacute, multiply, dead_macron ] }; 57 58 key <AC02> { [ s, S, dstroke, section ] }; 59 key <AC03> { [ d, D, Dstroke, ETH ] }; 60 key <AC04> { [ f, F ] }; 61 key <AC08> { [ k, K, kra, ampersand ] }; 62 key <AC09> { [ l, L, lstroke, Lstroke ] }; 63 key <AC10> { [ lstroke, Lstroke, dollar, dead_doubleacute ] }; 64 key <AC11> { [ aogonek, eogonek, ssharp, dead_caron ] }; 65 key <TLDE> { [ abovedot, dead_ogonek, notsign, notsign ] }; 66 67 key <BKSL> { [ oacute, zacute, dead_grave, dead_breve ] }; 68 key <AB03> { [ c, C, cent, copyright ] }; 69 key <AB10> { [ minus, underscore, dead_belowdot, dead_abovedot ] }; 70 71 include "kpdl(comma)" 72 73 include "level3(ralt_switch)" 74}; 75 76// A Polish keymap with a comprehensive set of quotes, dashes, and dead accents 77// 78// See http://marcinwolinski.pl/keyboard/ for a description. 79// 80// ┌────┐ 81// │ 2 4│ 2 = Shift, 4 = Level3 + Shift 82// │ 1 3│ 1 = Normal, 3 = Level3 83// └────┘ 84// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ 85// │ ~ ~ │ ! ' │ @ " │ # ˝ │ $ ¸ │ % ˇ │ ^ ^ │ & ˘ │ * ˙ │ ( ̣ │ ) ° │ _ ¯ │ + ˛ ┃ ⌫ Back ┃ 86// │ ` ` │ 1 ¡ │ 2 © │ 3 • │ 4 § │ 5 € │ 6 ¢ │ 7 − │ 8 × │ 9 ÷ │ 0 ° │ - – │ = — ┃ space ┃ 87// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ 88// ┃ ┃ Q │ W │ E Ę │ R │ T │ Y │ U │ I │ O Ó │ P │ { « │ } » ┃ Enter ┃ 89// ┃Tab ↹ ┃ q │ w │ e ę │ r │ t │ y │ u │ i │ o ó │ p │ [ ‹ │ ] › ┃ ⏎ ┃ 90// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ 91// ┃ ┃ A Ą │ S Ś │ D │ F │ G │ H │ J │ K │ L Ł │ : “ │ " ” │ | ¶ ┃ ┃ 92// ┃Caps ⇬ ┃ a ą │ s ś │ d │ f │ g │ h │ j │ k │ l ł │ ; ‘ │ ' ’ │ \ ┃ ┃ 93// ┣━━━━━━━━┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ 94// ┃ │ Z Ż │ X Ź │ C Ć │ V │ B │ N Ń │ M │ < „ │ > · │ ? ¿ ┃ ┃ 95// ┃Shift ⇧ │ z ż │ x ź │ c ć │ v │ b │ n ń │ m │ , ‚ │ . … │ / ⁄ ┃Shift ⇧ ┃ 96// ┣━━━━━━━┳━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ 97// ┃ ┃ ┃ ┃ ␣ ⍽ ┃ ┃ ┃ ┃ 98// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Space ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ 99// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ 100 101partial alphanumeric_keys 102xkb_symbols "intl" { 103 104 include "latin(intl)" 105 106 name[Group1]="Polish (international with dead keys)"; 107 108 key <AD03> { [ e, E, eogonek, Eogonek ] }; 109 key <AD09> { [ o, O, oacute, Oacute ] }; 110 111 key <AC01> { [ a, A, aogonek, Aogonek ] }; 112 key <AC02> { [ s, S, sacute, Sacute ] }; 113 key <AC09> { [ l, L, lstroke, Lstroke ] }; 114 115 key <AB01> { [ z, Z, zabovedot, Zabovedot ] }; 116 key <AB02> { [ x, X, zacute, Zacute ] }; 117 key <AB03> { [ c, C, cacute, Cacute ] }; 118 key <AB06> { [ n, N, nacute, Nacute ] }; 119 120 include "kpdl(comma)" 121 122 include "level3(ralt_switch)" 123}; 124 125// Polish Dvorak keymaps 126// by Rafal Rzepecki <divide@users.sf.net> 127 128// The base keymap "pl" places Polish quotes on quotemark key and 129// moves the dead symbols from there to "1/!" key. If you are used to common 130// dead keys placement, you could use "pl_altquotes"; in this layout 131// dead keys remain in the old place, whereas Polish quotes are placed on the 132// "1/!" key. If you do not use Polish quotes at all, you can use "pl_basic" map. 133 134// Basic Polish keymap (without Polish quotes) 135partial alphanumeric_keys 136xkb_symbols "dvorak" { 137 include "us(dvorak)" 138 139 name[Group1] = "Polish (Dvorak)"; 140 141 key <AD08> { [ c, C, cacute, Cacute ] }; 142 key <AD10> { [ l, L, lstroke, Lstroke ] }; 143 key <AC01> { [ a, A, aogonek, Aogonek ] }; 144 key <AC02> { [ o, O, oacute, Oacute ] }; 145 key <AC03> { [ e, E, eogonek, Eogonek ] }; 146 key <AC09> { [ n, N, nacute, Nacute ] }; 147 key <AC10> { [ s, S, sacute, Sacute ] }; 148 key <AB09> { [ v, V, zacute, Zacute ] }; 149 key <AB10> { [ z, Z, zabovedot, Zabovedot ] }; 150 151 include "kpdl(comma)" 152 153 // this to allow writing ALL CAPS with a Shift key 154 include "level3(ralt_switch)" 155 156 // use one of compose:* options to choose Multi_key, if you will, 157 // or layout +level3(ralt_switch_multikey) to revert standard behaviour 158}; 159 160// Default Polish keymap with Polish quotes on quotemark key 161partial alphanumeric_keys 162xkb_symbols "dvorak_quotes" { 163 include "pl(dvorak)" 164 165 name[Group1] = "Polish (Dvorak, Polish quotes on quotemark key)"; 166 167 key <AD01> { [ apostrophe, quotedbl, doublelowquotemark, rightdoublequotemark ] }; 168 169 // Dead symbols moved to this key 170 key <AE01> { [ 1, exclam, dead_acute, dead_diaeresis ] }; 171}; 172 173// Polish keymap with Polish quotes on key "1/!" 174partial alphanumeric_keys 175xkb_symbols "dvorak_altquotes" { 176 include "pl(dvorak)" 177 178 name[Group1] = "Polish (Dvorak, Polish quotes on key 1)"; 179 180 key <AE01> { [ 1, exclam, doublelowquotemark, rightdoublequotemark ] }; 181}; 182 183// Polish Programmer Dvorak keymap by Michal Nazarewicz <mina86@mina86.com> 184// based on Programmer Dvorak by Roland Kaufmann <rlndkfmn at gmail dot com> 185// and Polish Dvorak keymaps by Rafal Rzepecki <divide@users.sf.net 186// and latin(basic) 187// 188// * Numbers are in shift position (like French). 189// * Symbols have been placed in locations that give good 190// hand-alternation and finger rolling with symbols that usually 191// follows. 192// * Polish diacritics on AltGr+"acelnosxz" (same as in basic pl(basic)). 193// * Aditionaly, zacute on AltGr+"v" so that both zacute and zabovedot 194// next to each other same as in pl(basic). 195// * Polish open and close quotes on AltGr+& (same location as in 196// pl(dvp_altquotes)). 197// * English open quote on AltGr+k (same location as in latin(basic)) 198// * English/Polish close quote on AltGr+b (similar location as in 199// latin(basic) but moved right because AltGr+x is taken for zacute). 200// * Polish open and close quote on AltGr+j. 201// 202// Those rules overwrite only the following rules from us(dvp): 203// * ccedilla on AltGr+c 204// * aring on Alt+a 205// * oslash/Ooblique on Alt+o 206// * ae on Alt+e 207// * ntilde on Alt+n 208// 209partial alphanumeric_keys 210xkb_symbols "dvp" { 211 include "us(dvp)" 212 213 name[Group1] = "Polish (programmer Dvorak)"; 214 215 // Unmodified Shift AltGr Shift+AltGr 216 // symbols row, left side 217 key <AE01> { [ ampersand, percent, doublelowquotemark, rightdoublequotemark ] }; 218 219 // symbols row, right side 220 221 // upper row, left side 222 223 // // upper row, right side 224 key <AD08> { [ c, C, cacute, Cacute ] }; 225 key <AD10> { [ l, L, lstroke, Lstroke ] }; 226 227 // home row, left side 228 key <AC01> { [ a, A, aogonek, Aogonek ], type[Group1] = "EIGHT_LEVEL_ALPHABETIC" }; 229 key <AC02> { [ o, O, oacute, Oacute ] }; 230 key <AC03> { [ e, E, eogonek, Eogonek ] }; 231 232 // home row, right side 233 key <AC09> { [ n, N, nacute, Nacute ] }; 234 key <AC10> { [ s, S, sacute, Sacute ] }; 235 key <AC11> { [ minus, underscore, hyphen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; 236 key <BKSL> { [ backslash, bar ] }; 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 // this to allow writing ALL CAPS with a Shift key 251 include "level3(ralt_switch)" 252 253 // use one of compose:* options to choose Multi_key, if you will, 254 // or layout +level3(ralt_switch_multikey) to revert standard behaviour 255}; 256 257 258partial alphanumeric_keys 259xkb_symbols "csb" { 260 261 include "latin" 262 263 name[Group1]="Kashubian"; 264 265 key <AD01> { [ q, Q ] }; 266 key <AD02> { [ w, W ] }; 267 key <AD03> { [ e, E, eacute, Eacute ] }; 268 key <AD04> { [ r, R, ediaeresis, Ediaeresis ] }; 269 key <AD06> { [ y, Y, EuroSign, cent ] }; 270 key <AD07> { [ u, U, ugrave, Ugrave ] }; 271 key <AD08> { [ i, I, ograve, Ograve ] }; 272 key <AD09> { [ o, O, oacute, Oacute ] }; 273 key <AD10> { [ p, P, ocircumflex, Ocircumflex ] }; 274 275 key <AC01> { [ a, A, aogonek, Aogonek ] }; 276 key <AC02> { [ s, S, atilde, Atilde ] }; 277 key <AC04> { [ f, F ] }; 278 key <AC09> { [ l, L, lstroke, Lstroke ] }; 279 280 key <AB01> { [ z, Z, zabovedot, Zabovedot ] }; 281 key <AB06> { [ n, N, nacute, Nacute ] }; 282 283 include "kpdl(comma)" 284 285 include "level3(ralt_switch)" 286}; 287 288// Russian Polish-phonetic Dvorak 289// by Adrian Dziubek <adrian.dziubek@gmail.com> 290// 291// This layout aims to enable Polish Dvorak users to type with Russian 292// Cyrillic alphabet by using the sound correspondence between Polish and 293// Russian languages. 294// 295// This keyboard should be intuitive. Please let me know, if my intuition 296// lets You down. 297// 298// The guidelines used: 299// - no Cyrillic symbols are placed on punctuation symbols, 300// - visual similarities are ignored if there is a sound correspondence: 301// no Cyrillic_es on c, no Cyrillic_er on p, no Cyrillic_ha on x etc., 302// - the Latin symbols that have close sound correspondence (as read in Polish) 303// to Cyrillic symbols (as read in Russian) are mapped respectively: 304// * j -> Cyrillic_shorti, 305// * k -> Cyrillic_ka, 306// * b -> Cyrillic_be, 307// * m -> Cyrillic_em, 308// * w -> Cyrillic_ve, 309// * z -> Cyrillic_ze 310// * a -> Cyrillic_a, 311// * o -> Cyrillic_o, 312// * u -> Cyrillic_u, 313// * i -> Cyrillic_i, 314// * d -> Cyrillic_de, 315// * h -> Cyrillic_ha, 316// * t -> Cyrillic_te, 317// * n -> Cyrillic_en, 318// * s -> Cyrillic_es, 319// * p -> Cyrillic_pe, 320// * y -> Cyrillic_yeru, 321// * f -> Cyrillic_ef, 322// * g -> Cyrillic_ghe, 323// * c -> Cyrillic_tse, 324// * r -> Cyrillic_er, 325// * l -> Cyrillic_el, 326// - ...and little more distant: 327// * AltGr + s (sacute) -> Cyrillic_sha, 328// * AltGr + z (zabovedot) -> Cyrillic_zhe, 329// * AltGr + c (cacute) -> Cyrillic_che, 330// - the soft versions of Russian vowels are accessible through AltGr + vowel: 331// * AltGr + a -> Cyrillic_ya, 332// * AltGr + o -> Cyrillic_io, 333// * AltGr + u -> Cyrillic_yu, 334// - ...except for Cyrillic_ie which is more frequently used than Cyrillic_e: 335// * AltGr + e -> Cyrillic_e, 336// * e -> Cyrillic_ie, 337// - q is also mapped to Cyrillic_ya, following the US phonetic keyboard 338// choice, as Cyrillic_ya and Cyrillic_a are both often used: 339// * q -> Cyrillic_ya, 340// - the soft and hard symbols that have no Polish counterparts are mapped 341// to rarely used in Polish x character: 342// * x -> Cyrillic_softsign 343// * AltGr + x -> Cyrillic_hardsign, 344// - the soft sign is additionally available as AltGr + consonant combination 345// for every consonant that can be softened or separated by soft sign: 346// * AltGr + l -> Cyrillic_softsign, 347// * AltGr + d -> Cyrillic_softsign, 348// * AltGr + n -> Cyrillic_softsign, 349// * AltGr + r -> Cyrillic_softsign, 350// * AltGr + t -> Cyrillic_softsign, 351// * AltGr + p -> Cyrillic_softsign, 352// - ...and also because of visual similarity under level3 b: 353// * AltGr + b -> Cyrillic_softsign, 354// * Shift + AltGr + b -> Cyrillic_hardsign, 355// - the Cyrillic_shcha symbol is placed under AltGr + w (visual similarity): 356// * AltGr + w -> Cyrillic_shcha 357// - v, also rarely unused in Polish is mapped like w: 358// * v -> Cyrillic_ve, 359// 360partial alphanumeric_keys 361xkb_symbols "ru_phonetic_dvorak" { 362 include "us(dvorak)" 363 364 name[Group1] = "Russian (Poland, phonetic Dvorak)"; 365 366 // lower row 367 key <AB02> { [ Cyrillic_ya, Cyrillic_YA ] }; 368 key <AB03> { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; 369 key <AB04> { [ Cyrillic_ka, Cyrillic_KA ] }; 370 key <AB05> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; 371 key <AB06> { [ Cyrillic_be, Cyrillic_BE, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; 372 key <AB07> { [ Cyrillic_em, Cyrillic_EM ] }; 373 key <AB08> { [ Cyrillic_ve, Cyrillic_VE, Cyrillic_shcha, Cyrillic_SHCHA ] }; 374 key <AB09> { [ Cyrillic_ve, Cyrillic_VE, Cyrillic_shcha, Cyrillic_SHCHA ] }; 375 key <AB10> { [ Cyrillic_ze, Cyrillic_ZE, Cyrillic_zhe, Cyrillic_ZHE ] }; 376 // home row 377 key <AC01> { [ Cyrillic_a, Cyrillic_A, Cyrillic_ya, Cyrillic_YA ] }; 378 key <AC02> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] }; 379 key <AC03> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ] }; 380 key <AC04> { [ Cyrillic_u, Cyrillic_U, Cyrillic_yu, Cyrillic_YU ] }; 381 key <AC05> { [ Cyrillic_i, Cyrillic_I ] }; 382 key <AC06> { [ Cyrillic_de, Cyrillic_DE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 383 key <AC07> { [ Cyrillic_ha, Cyrillic_HA ] }; 384 key <AC08> { [ Cyrillic_te, Cyrillic_TE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 385 key <AC09> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 386 key <AC10> { [ Cyrillic_es, Cyrillic_ES, Cyrillic_sha, Cyrillic_SHA ] }; 387 // upper row 388 key <AD04> { [ Cyrillic_pe, Cyrillic_PE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 389 key <AD05> { [ Cyrillic_yeru, Cyrillic_YERU ] }; 390 key <AD06> { [ Cyrillic_ef, Cyrillic_EF ] }; 391 key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] }; 392 key <AD08> { [ Cyrillic_tse, Cyrillic_TSE, Cyrillic_che, Cyrillic_CHE ] }; 393 key <AD09> { [ Cyrillic_er, Cyrillic_ER, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 394 key <AD10> { [ Cyrillic_el, Cyrillic_EL, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; 395 396 include "kpdl(comma)" 397 398 include "level3(ralt_switch)" 399}; 400 401