Polish international with dead keys
authorMarcin Woliński <wolinski@ipipan.waw.pl>
Fri, 13 May 2011 15:06:50 +0000 (17:06 +0200)
committerSergey V. Udaltsov <svu@gnome.org>
Sun, 15 May 2011 10:31:54 +0000 (11:31 +0100)
A Polish layout variant with a comprehensive set of quotes, dashes, and dead accents
See http://marcinwolinski.pl/keyboard/ for a description.

rules/base.extras.xml.in
symbols/latin
symbols/pl

index 4faff93..0501414 100644 (file)
     </layout>
     <layout>
       <configItem>
+        <name>pl</name>
+        <_shortDescription>pl</_shortDescription>
+        <_description>Polish</_description>
+        <languageList><iso639Id>pol</iso639Id></languageList>
+      </configItem>
+      <variantList>
+        <variant>
+          <configItem>
+            <name>intl</name>
+            <_description>Polish (international with dead keys)</_description>
+          </configItem>
+        </variant>
+      </variantList>
+    </layout>
+    <layout>
+      <configItem>
         <name>ro</name>
         <_shortDescription>Rou</_shortDescription>
         <_description>Romanian</_description>
index b25ef9e..77b99d4 100644 (file)
@@ -173,3 +173,84 @@ xkb_symbols "type4_nodeadkeys" {
 
     key <AB10> { [   minus, underscore, dead_belowdot,      abovedot ] };
 };
+
+// Added 2008.03.05 by Marcin Woliński
+// See http://marcinwolinski.pl/keyboard/ for a description.
+// Used by pl(intl)
+//
+// ┌────┐
+// │ 2 4│   2 = Shift,  4 = Level3 + Shift
+// │ 1 3│   1 = Normal, 3 = Level3
+// └────┘
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
+// │ ~ ~ │ ! ' │ @ " │ # ˝ │ $ ¸ │ % ˇ │ ^ ^ │ & ˘ │ * ˙ │ ( ̣ │ ) ° │ _ ¯ │ + ˛ ┃ ⌫ Back  ┃
+// │ ` ` │ 1 ¡ │ 2 © │ 3 • │ 4 § │ 5 € │ 6 ¢ │ 7 − │ 8 × │ 9 ÷ │ 0 ° │ - – │ = — ┃  space  ┃
+// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
+// ┃       ┃ Q   │ W   │ E   │ R   │ T   │ Y   │ U   │ I   │ O   │ P   │ { « │ } » ┃ Enter ┃
+// ┃Tab ↹  ┃ q   │ w   │ e   │ r   │ t   │ y   │ u   │ i   │ o   │ p   │ [ ‹ │ ] › ┃   ⏎   ┃
+// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
+// ┃        ┃ A   │ S   │ D   │ F   │ G   │ H   │ J   │ K   │ L   │ : “ │ " ” │ | ¶ ┃      ┃
+// ┃Caps ⇬  ┃ a   │ s   │ d   │ f   │ g   │ h   │ j   │ k   │ l   │ ; ‘ │ ' ’ │ \   ┃      ┃
+// ┣━━━━━━━━┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
+// ┃             │ Z   │ X   │ C   │ V   │ B   │ N   │ M   │ < „ │ > · │ ? ¿ ┃             ┃
+// ┃Shift ⇧      │ z   │ x   │ c   │ v   │ b   │ n   │ m   │ , ‚ │ . … │ / ⁄ ┃Shift ⇧      ┃
+// ┣━━━━━━━┳━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
+// ┃       ┃       ┃       ┃ ␣                               ⍽ ┃       ┃       ┃       ┃
+// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣           Space               ⍽ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
+// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
+partial
+xkb_symbols "intl" {
+
+    key <TLDE> { [     grave,  asciitilde, dead_grave,       dead_tilde ]      };
+    key <AE01> { [         1,      exclam, exclamdown,       dead_acute ]      };
+    key <AE02> { [         2,          at,  copyright,   dead_diaeresis ]      };
+    key <AE03> { [         3,  numbersign,      U2022, dead_doubleacute ]      }; // U+2022 is bullet (the name bullet doesn't work)
+    key <AE04> { [         4,      dollar,    section,     dead_cedilla ]      };
+    key <AE05> { [         5,     percent,   EuroSign,       dead_caron ]      };
+    key <AE06> { [         6, asciicircum,       cent,  dead_circumflex ]      };
+    key <AE07> { [         7,   ampersand,      U2212,       dead_breve ]      }; // U+2212 is MINUS SIGN
+    key <AE08> { [         8,    asterisk,   multiply,    dead_abovedot ]      };
+    key <AE09> { [         9,   parenleft,   division,    dead_belowdot ]      };
+    key <AE10> { [         0,  parenright,     degree,   dead_abovering ]      };
+    key <AE11> { [     minus,  underscore,     endash,      dead_macron ]      };
+    key <AE12> { [     equal,        plus,     emdash,      dead_ogonek ]      };
+
+    key <AD01> { [         q,          Q ]     };
+    key <AD02> { [         w,          W ]     };
+    key <AD03> { [         e,          E ]     };
+    key <AD04> { [         r,          R ]     };
+    key <AD05> { [         t,          T ]     };
+    key <AD06> { [         y,          Y ]     };
+    key <AD07> { [         u,          U ]     };
+    key <AD08> { [         i,          I ]     };
+    key <AD09> { [         o,          O ]     };
+    key <AD10> { [         p,          P ]     };
+    key <AD11> { [bracketleft,   braceleft,  U2039, guillemotleft ]    };
+    key <AD12> { [bracketright, braceright, U203A, guillemotright ]    };
+
+    key <AC01> { [         a,          A ]     };
+    key <AC02> { [         s,          S ]     };
+    key <AC03> { [         d,          D ]     };
+    key <AC04> { [         f,          F ]     };
+    key <AC05> { [         g,          G ]     };
+    key <AC06> { [         h,          H ]     };
+    key <AC07> { [         j,          J ]     };
+    key <AC08> { [         k,          K ]     };
+    key <AC09> { [         l,          L ]     };
+    key <AC10> { [ semicolon,      colon,  leftsinglequotemark,  leftdoublequotemark  ]  };
+    key <AC11> { [apostrophe,   quotedbl, rightsinglequotemark, rightdoublequotemark  ]  };
+
+    key <BKSL> { [ backslash,        bar,      NoSymbol, paragraph ] };
+    key <AB01> { [         z,          Z ]     };
+    key <AB02> { [         x,          X ]     };
+    key <AB03> { [         c,          C ]     };
+    key <AB04> { [         v,          V ]     };
+    key <AB05> { [         b,          B ]     };
+    key <AB06> { [         n,          N ]     };
+    key <AB07> { [         m,          M ]     };
+    key <AB08> { [     comma,       less, singlelowquotemark, doublelowquotemark ]     };
+    key <AB09> { [    period,    greater, ellipsis, periodcentered ]   };
+    key <AB10> { [     slash,   question, U2044,  questiondown ]     };  // U+2044 is FRACTION SLASH
+
+};
index 12f3e01..6d22723 100644 (file)
@@ -73,6 +73,55 @@ xkb_symbols "qwertz" {
     include "level3(ralt_switch)"
 };
 
+// A Polish keymap with a comprehensive set of quotes, dashes, and dead accents
+// 
+// See http://marcinwolinski.pl/keyboard/ for a description.
+//
+// ┌────┐
+// │ 2 4│   2 = Shift,  4 = Level3 + Shift
+// │ 1 3│   1 = Normal, 3 = Level3
+// └────┘
+// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
+// │ ~ ~ │ ! ' │ @ " │ # ˝ │ $ ¸ │ % ˇ │ ^ ^ │ & ˘ │ * ˙ │ ( ̣ │ ) ° │ _ ¯ │ + ˛ ┃ ⌫ Back  ┃
+// │ ` ` │ 1 ¡ │ 2 © │ 3 • │ 4 § │ 5 € │ 6 ¢ │ 7 − │ 8 × │ 9 ÷ │ 0 ° │ - – │ = — ┃  space  ┃
+// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
+// ┃       ┃ Q   │ W   │ E Ę │ R   │ T   │ Y   │ U   │ I   │ O Ó │ P   │ { « │ } » ┃ Enter ┃
+// ┃Tab ↹  ┃ q   │ w   │ e ę │ r   │ t   │ y   │ u   │ i   │ o ó │ p   │ [ ‹ │ ] › ┃   ⏎   ┃
+// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
+// ┃        ┃ A Ą │ S Ś │ D   │ F   │ G   │ H   │ J   │ K   │ L Ł │ : “ │ " ” │ | ¶ ┃      ┃
+// ┃Caps ⇬  ┃ a ą │ s ś │ d   │ f   │ g   │ h   │ j   │ k   │ l ł │ ; ‘ │ ' ’ │ \   ┃      ┃
+// ┣━━━━━━━━┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
+// ┃             │ Z Ż │ X Ź │ C Ć │ V   │ B   │ N Ń │ M   │ < „ │ > · │ ? ¿ ┃             ┃
+// ┃Shift ⇧      │ z ż │ x ź │ c ć │ v   │ b   │ n ń │ m   │ , ‚ │ . … │ / ⁄ ┃Shift ⇧      ┃
+// ┣━━━━━━━┳━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
+// ┃       ┃       ┃       ┃ ␣                               ⍽ ┃       ┃       ┃       ┃
+// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣           Space               ⍽ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
+// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
+
+partial alphanumeric_keys
+xkb_symbols "intl" {
+
+    include "latin(intl)"
+
+    name[Group1]="Polish (international with dead keys)";
+
+    key <AD03> { [         e,          E,      eogonek,      Eogonek ] };
+    key <AD09> { [         o,          O,       oacute,       Oacute ] };
+
+    key <AC01> { [         a,          A,      aogonek,      Aogonek ] };
+    key <AC02> { [         s,          S,       sacute,       Sacute ] };
+    key <AC09> { [         l,          L,      lstroke,      Lstroke ] };
+
+    key <AB01> { [         z,          Z,    zabovedot,    Zabovedot ] };
+    key <AB02> { [         x,          X,       zacute,       Zacute ] };
+    key <AB03> { [         c,          C,       cacute,       Cacute ] };
+    key <AB06> { [         n,          N,       nacute,       Nacute ] };
+
+    include "kpdl(comma)"
+
+    include "level3(ralt_switch)"
+};
+
 // Polish Dvorak keymaps
 // by Rafal Rzepecki <divide@users.sf.net>
 
@@ -348,3 +397,4 @@ xkb_symbols "ru_phonetic_dvorak" {
 
    include "level3(ralt_switch)"
 };
+