// $XdotOrg$ // based on a keyboard map from an 'xkb/symbols/pl' file // // $XFree86: xc/programs/xkbcomp/symbols/pl,v 1.3 2003/04/19 12:22:12 pascal Exp $ // NEW POLISH LAYOUTS // Discussed at https://bugs.freedesktop.org/show_bug.cgi?id=5981 // Please send your comments to: Marek Madej // Polish layout with EuroSign at AltGr-Shift-4 // (the most compatible with previous version) partial default alphanumeric_keys xkb_symbols "basic" { include "pc/latin" name[Group1]="Poland"; key { [ grave, asciitilde, notsign, cent ] }; key { [ 4, dollar, onequarter, EuroSign ] }; key { [ 7, ampersand, infinity, seveneighths ] }; key { [ 8, asterisk,guillemotleft, trademark ] }; key { [ 9, parenleft,guillemotright, plusminus ] }; key { [ 0, parenright, section, degree ] }; key { [ minus, underscore, notequal, questiondown ] }; key { [ q, Q, copyright, Greek_OMEGA ] }; key { [ w, W, ae, AE ] }; key { [ e, E, eogonek, Eogonek ] }; key { [ o, O, oacute, Oacute ] }; key { [ a, A, aogonek, Aogonek ] }; key { [ s, S, sacute, Sacute ] }; key { [ j, J, oslash, oe ] }; key { [ k, K, kra, Greek_pi ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ z, Z, zabovedot, Zabovedot ] }; key { [ x, X, zacute, Zacute ] }; key { [ c, C, cacute, Cacute ] }; key { [ v, V, leftdoublequotemark, doublelowquotemark ] }; key { [ b, B,rightdoublequotemark,ssharp ] }; key { [ n, N, nacute, Nacute ] }; key { [ space, space, nobreakspace, nobreakspace ] }; //non-breaking space at AltGr+Space include "keypad(comma)" include "level3(ralt_switch)" }; // Polish layout with EuroSign at AltGr-5 // (matching the keyboards being sold in Poland, // but breaking the compatibility with the previous default layout) partial alphanumeric_keys xkb_symbols "us" { include "pc/latin" name[Group1]="Poland - Euro at AltGr-5"; key { [ grave, asciitilde, notsign, notsign ] }; key { [ 4, dollar, onequarter, threeeighths ] }; key { [ 5, percent, EuroSign, cent ] }; key { [ 7, ampersand, onehalf, seveneighths ] }; key { [ 8, asterisk,guillemotleft, trademark ] }; key { [ 9, parenleft,guillemotright, plusminus ] }; key { [ 0, parenright, section, degree ] }; key { [ minus, underscore, notequal, questiondown ] }; key { [ q, Q, copyright, Greek_OMEGA ] }; key { [ w, W, ae, AE ] }; key { [ e, E, eogonek, Eogonek ] }; key { [ o, O, oacute, Oacute ] }; key { [ a, A, aogonek, Aogonek ] }; key { [ s, S, sacute, Sacute ] }; key { [ j, J, oslash, oe ] }; key { [ k, K, kra, Greek_pi ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ z, Z, zabovedot, Zabovedot ] }; key { [ x, X, zacute, Zacute ] }; key { [ c, C, cacute, Cacute ] }; key { [ v, V, leftdoublequotemark, doublelowquotemark ] }; key { [ b, B,rightdoublequotemark,ssharp ] }; key { [ n, N, nacute, Nacute ] }; key { [ space, space, nobreakspace, nobreakspace ] }; //non-breaking space at AltGr+Space include "keypad(comma)" include "level3(ralt_switch)" }; // Polish layout with EuroSign at AltGr-U (like in Windows XP) // EuroSign also at AltGr-4 (compatible with http://fonty.pl/ layout) // and at AltGt-5 (most of the keyboards have the EuroSign engraved there) partial alphanumeric_keys xkb_symbols "winkeys" { include "pc/pc" name[Group1]="Poland - Win compatible"; key { [ grave, asciitilde, notsign, degree ] }; key { [ 1, exclam, onesuperior, exclamdown ] }; key { [ 2, at, twosuperior, onehalf ] }; key { [ 3, numbersign, threesuperior, sterling ] }; key { [ 4, dollar, EuroSign, onequarter ] }; key { [ 5, percent, EuroSign, cent ] }; key { [ 6, asciicircum, onethird,threequarters ] }; key { [ 7, ampersand, twothirds, oneeighth ] }; key { [ 8, asterisk,guillemotleft, threeeighths ] }; key { [ 9, parenleft,guillemotright, fiveeighths ] }; key { [ 0, parenright, endash, seveneighths ] }; key { [ minus, underscore, emdash, questiondown ] }; key { [ equal, plus, section, plusminus ] }; key { [ q, Q, adiaeresis, Adiaeresis ] }; key { [ w, W, NoSymbol, NoSymbol ] }; key { [ e, E, eogonek, Eogonek ] }; key { [ r, R, registered, registered ] }; key { [ t, T, trademark, trademark ] }; key { [ y, Y, copyright, yen ] }; key { [ u, U, EuroSign, cent ] }; key { [ i, I, udiaeresis, Udiaeresis ] }; key { [ o, O, oacute, Oacute ] }; key { [ p, P, odiaeresis, Odiaeresis ] }; key { [bracketleft, braceleft, 0x01002248, notequal ] }; // "almost equal to" at AltGr-[ key { [bracketright, braceright, paragraph, paragraph ] }; key { [ a, A, aogonek, Aogonek ] }; key { [ s, S, sacute, Sacute ] }; key { [ d, D,singlelowquotemark, leftsinglequotemark ] }; key { [ f, F,rightsinglequotemark,rightsinglequotemark ] }; key { [ g, G, NoSymbol, NoSymbol ] }; key { [ h, H, leftarrow, NoSymbol ] }; key { [ j, J, downarrow, uparrow ] }; key { [ k, K, rightarrow, Greek_pi ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ semicolon, colon,doublelowquotemark,leftdoublequotemark ] }; key { [apostrophe, quotedbl,rightdoublequotemark,rightdoublequotemark] }; key { [ backslash, bar,enfilledcircbullet, brokenbar ] }; key { [ z, Z, zabovedot, Zabovedot ] }; key { [ x, X, zacute, Zacute ] }; key { [ c, C, cacute, Cacute ] }; key { [ v, V,lessthanequal,greaterthanequal ] }; key { [ b, B, ssharp, ssharp ] }; key { [ n, N, nacute, Nacute ] }; key { [ m, M, mu, infinity ] }; key { [ comma, less, periodcentered, multiply ] }; key { [ period, greater, ellipsis, division ] }; key { [ slash, question, 0x01002030, questiondown ] }; // "per mille" at AltGr-/ key { [ space, space, nobreakspace, nobreakspace ] }; //non-breaking space at AltGr+Space include "keypad(comma)" include "level3(ralt_switch)" }; // Polish standard layout, according to PN87 national standard // (really old, deprecated, but maybe someone wants to use it?) partial alphanumeric_keys xkb_symbols "pn87" { include "pc/pc" name[Group1]="Poland - PN87"; key { [ grave, asciitilde, notsign, notsign ] }; key { [ 1, exclam, asciitilde, NoSymbol ] }; key { [ 2, quotedbl, at, NoSymbol ] }; key { [ 3, colon, numbersign, NoSymbol ] }; key { [ 4, question, dollar, bar ] }; key { [ 5, percent, percent, copyright ] }; key { [ 6, ampersand, ampersand, registered ] }; key { [ 7, underscore, section, section ] }; key { [ 8, asterisk, abovedot,dead_abovedot ] }; key { [ 9, parenleft, acute, dead_acute ] }; key { [ 0, parenright, NoSymbol, NoSymbol ] }; key { [ zabovedot, Zabovedot, diaeresis,dead_diaeresis ] }; key { [ equal, asterisk, ogonek, dead_ogonek ] }; key { [ q, Q, backslash, NoSymbol ] }; key { [ w, W, NoSymbol, NoSymbol ] }; key { [ e, E, eogonek, Eogonek ] }; key { [ r, R, NoSymbol, NoSymbol ] }; key { [ t, T, NoSymbol, NoSymbol ] }; key { [ z, Z, zabovedot, Zabovedot ] }; key { [ u, U, EuroSign, cent ] }; key { [ i, I, NoSymbol, NoSymbol ] }; key { [ o, O, oacute, Oacute ] }; key { [ p, P, NoSymbol, NoSymbol ] }; key { [ oacute, zacute, bracketleft, braceleft ] }; key { [ slash, semicolon, bracketright, braceright ] }; key { [ a, A, aogonek, Aogonek ] }; key { [ s, S, sacute, Sacute ] }; key { [ d, D, NoSymbol, NoSymbol ] }; key { [ f, F, bracketleft, NoSymbol ] }; key { [ g, G, bracketright, NoSymbol ] }; key { [ h, H, NoSymbol, NoSymbol ] }; key { [ j, J, NoSymbol, NoSymbol ] }; key { [ k, K, NoSymbol, NoSymbol ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ lstroke, Lstroke, semicolon, colon ] }; key { [ aogonek, eogonek, ssharp, quotedbl ] }; key { [ less, greater, NoSymbol, NoSymbol ] }; key { [ y, Y, zabovedot, Zabovedot ] }; key { [ x, X, zacute, Zacute ] }; key { [ c, C, cacute, Cacute ] }; key { [ v, V, NoSymbol, NoSymbol ] }; key { [ b, B, NoSymbol, NoSymbol ] }; key { [ n, N, nacute, Nacute ] }; key { [ m, M, NoSymbol, NoSymbol ] }; key { [ period, sacute, NoSymbol, less ] }; key { [ comma, nacute, NoSymbol, greater ] }; key { [ minus, cacute, NoSymbol, NoSymbol ] }; key { [ space, space, nobreakspace, nobreakspace ] }; //non-breaking space at AltGr+Space include "keypad(comma)" include "level3(ralt_switch)" }; // Previous version of default polish layout (left for compatibility) partial alphanumeric_keys xkb_symbols "legacy" { include "pc/latin" name[Group1]="Poland - legacy"; key { [ e, E, eogonek, Eogonek ] }; key { [ o, O, oacute, Oacute ] }; key { [ a, A, aogonek, Aogonek ] }; key { [ s, S, sacute, Sacute ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ z, Z, zabovedot, Zabovedot ] }; key { [ x, X, zacute, Zacute ] }; key { [ c, C, cacute, Cacute ] }; key { [ n, N, nacute, Nacute ] }; include "keypad(comma)" include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "qwertz" { // Describes the differences between a very simple en_US // keyboard and a very simple QWERTZ Polish keybaord include "pc/latin(type3)" name[Group1]="Poland - qwertz"; key { [ 1, exclam, asciitilde, exclamdown ] }; key { [ 2, quotedbl, dead_caron, oneeighth ] }; key { [ 3, numbersign, dead_circumflex, sterling ] }; key { [ 4, nobreakspace, dead_breve, nobreakspace ] }; key { [ 5, percent, degree, threeeighths ] }; key { [ 6, ampersand, dead_ogonek, fiveeighths ] }; key { [ 7, slash, dead_grave, seveneighths ] }; key { [ 8, parenleft, dead_abovedot, trademark ] }; key { [ 9, parenright, dead_acute, plusminus ] }; key { [ 0, equal, dead_doubleacute, degree ] }; key { [ plus, question, dead_diaeresis, questiondown ] }; key { [apostrophe, asterisk, dead_cedilla, dead_ogonek ] }; key { [ e, E, EuroSign, cent ] }; key { [ zabovedot, nacute, division, dead_abovering ] }; key { [ sacute, cacute, multiply, dead_macron ] }; key { [ s, S, dstroke, section ] }; key { [ d, D, Dstroke, ETH ] }; key { [ k, K, kra, ampersand ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ lstroke, Lstroke, nobreakspace, dead_doubleacute ] }; key { [ aogonek, eogonek, ssharp, dead_caron ] }; key { [ abovedot, dead_ogonek, notsign, notsign ] }; key { [ oacute, zacute, dead_grave, dead_breve ] }; key { [ c, C, cent, copyright ] }; key { [ minus, underscore, dead_belowdot, dead_abovedot ] }; include "keypad(comma)" include "level3(ralt_switch)" }; // Polish Dvorak keymaps // by Rafal Rzepecki // The base keymap "pl" places Polish quotes on quotemark key and // moves the dead symbols from there to "1/!" key. If you are used to common // dead keys placement, you could use "pl_altquotes"; in this layout // dead keys remain in the old place, whereas Polish quotes are placed on the // "1/!" key. If you do not use Polish quotes at all, you can use "pl_basic" map. // Basic Polish keymap (without Polish quotes) partial alphanumeric_keys xkb_symbols "dvorak" { include "pc/us(dvorak)" name[Group1] = "Poland - Dvorak"; key { [ c, C, cacute, Cacute ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ a, A, aogonek, Aogonek ] }; key { [ o, O, oacute, Oacute ] }; key { [ e, E, eogonek, Eogonek ] }; key { [ n, N, nacute, Nacute ] }; key { [ s, S, sacute, Sacute ] }; key { [ v, V, zacute, Zacute ] }; key { [ z, Z, zabovedot, Zabovedot ] }; include "keypad(comma)" // this to allow writing ALL CAPS with a Shift key include "level3(ralt_switch)" // use one of compose:* options to choose Multi_key, if you will, // or layout +level3(ralt_switch_multikey) to revert standard behaviour }; // Default Polish keymap with Polish quotes on quotemark key partial alphanumeric_keys xkb_symbols "dvorak_quotes" { include "pc/pl(dvorak)" name[Group1] = "Poland - Dvorak, Polish quotes on quotemark key"; key { [ apostrophe, quotedbl, doublelowquotemark, rightdoublequotemark ] }; // Dead symbols moved to this key key { [ 1, exclam, dead_acute, dead_diaeresis ] }; }; // Polish keymap with Polish quotes on key "1/!" partial alphanumeric_keys xkb_symbols "dvorak_altquotes" { include "pc/pl(dvorak)" name[Group1] = "Poland - Dvorak, Polish quotes on key 1/!"; key { [ 1, exclam, doublelowquotemark, rightdoublequotemark ] }; };