Fixed af OLPC variants
[xorg/xkeyboard-config] / symbols / pl
1 // $XKeyboardConfig$
2
3 // based on a keyboard map from an 'xkb/symbols/pl' file
4 //
5 // $XFree86: xc/programs/xkbcomp/symbols/pl,v 1.3 2003/04/19 12:22:12 pascal Exp $
6
7 partial default alphanumeric_keys
8 xkb_symbols "basic" {
9
10     include "latin"
11
12     name[Group1]="Poland";
13
14     key <AD03>  { [         e,          E,      eogonek,      Eogonek ] };
15     key <AD09>  { [         o,          O,       oacute,       Oacute ] };
16
17     key <AC01>  { [         a,          A,      aogonek,      Aogonek ] };
18     key <AC02>  { [         s,          S,       sacute,       Sacute ] };
19
20     key <AB01>  { [         z,          Z,    zabovedot,    Zabovedot ] };
21     key <AB02>  { [         x,          X,       zacute,       Zacute ] };
22     key <AB03>  { [         c,          C,       cacute,       Cacute ] };
23     key <AB06>  { [         n,          N,       nacute,       Nacute ] };
24
25     include "kpdl(comma)"
26
27     include "level3(ralt_switch)"
28 };
29
30 partial alphanumeric_keys
31 xkb_symbols "qwertz" {
32
33     // Describes the differences between a very simple en_US
34     // keyboard and a very simple QWERTZ Polish keybaord
35
36     include "latin(type3)"
37
38     name[Group1]="Poland - qwertz";
39
40     key <AE01>  { [         1,     exclam,   asciitilde,   exclamdown ] };
41     key <AE02>  { [         2,   quotedbl,   dead_caron,    oneeighth ] };
42     key <AE03>  { [         3, numbersign, dead_circumflex,  sterling ] };
43     key <AE04>  { [         4,     dollar,   dead_breve,       dollar ] };
44     key <AE05>  { [         5,    percent,       degree, threeeighths ] };
45     key <AE06>  { [         6,  ampersand,  dead_ogonek,  fiveeighths ] };
46     key <AE07>  { [         7,      slash,   dead_grave, seveneighths ] };
47     key <AE08>  { [         8,  parenleft, dead_abovedot,   trademark ] };
48     key <AE09>  { [         9, parenright,   dead_acute,    plusminus ] };
49     key <AE10>  { [         0,      equal, dead_doubleacute,   degree ] };
50     key <AE11>  { [      plus,   question, dead_diaeresis, questiondown ] };
51     key <AE12>  { [apostrophe,   asterisk, dead_cedilla,  dead_ogonek ] };
52
53     key <AD03>  { [         e,          E,     EuroSign,         cent ] };
54     key <AD11>  { [ zabovedot,     nacute,     division, dead_abovering ] };
55     key <AD12>  { [    sacute,     cacute,     multiply,  dead_macron ] };
56
57     key <AC02>  { [         s,          S,      dstroke,      section ] };
58     key <AC03>  { [         d,          D,      Dstroke,          ETH ] };
59     key <AC08>  { [         k,          K,          kra,    ampersand ] };
60     key <AC09>  { [         l,          L,      lstroke,      Lstroke ] };
61     key <AC10>  { [   lstroke,    Lstroke,       dollar, dead_doubleacute ] };
62     key <AC11>  { [   aogonek,    eogonek,       ssharp,   dead_caron ] };
63     key <TLDE>  { [  abovedot, dead_ogonek,     notsign,      notsign ] };
64
65     key <BKSL>  { [    oacute,     zacute,   dead_grave,   dead_breve ] };
66     key <AB03>  { [         c,          C,         cent,    copyright ] };
67     key <AB10>  { [     minus, underscore, dead_belowdot, dead_abovedot ] };
68
69     include "kpdl(comma)"
70
71     include "level3(ralt_switch)"
72 };
73
74 // Polish Dvorak keymaps
75 // by Rafal Rzepecki <divide@users.sf.net>
76
77 // The base keymap "pl" places Polish quotes on quotemark key and 
78 // moves the dead symbols from there to "1/!" key. If you are used to common 
79 // dead keys placement, you could use "pl_altquotes"; in this layout 
80 // dead keys remain in the old place, whereas Polish quotes are placed on the
81 // "1/!" key. If you do not use Polish quotes at all, you can use "pl_basic" map.
82
83 // Basic Polish keymap (without Polish quotes)
84 partial alphanumeric_keys 
85 xkb_symbols "dvorak" {
86     include "us(dvorak)"
87     
88     name[Group1] = "Poland - Dvorak";
89
90     key <AD08> { [          c,  C,      cacute, Cacute          ]       };
91     key <AD10> { [          l,  L,     lstroke, Lstroke         ]       };
92     key <AC01> { [          a,  A,     aogonek, Aogonek         ]       };
93     key <AC02> { [          o,  O,      oacute, Oacute          ]       };
94     key <AC03> { [          e,  E,     eogonek, Eogonek         ]       };
95     key <AC09> { [          n,  N,      nacute, Nacute          ]       };
96     key <AC10> { [          s,  S,      sacute, Sacute          ]       };
97     key <AB09> { [          v,  V,      zacute, Zacute          ]       };
98     key <AB10> { [          z,  Z,   zabovedot, Zabovedot       ]       };
99     
100     include "kpdl(comma)"
101
102     // this to allow writing ALL CAPS with a Shift key
103     include "level3(ralt_switch)"
104
105     // use one of compose:* options to choose Multi_key, if you will,
106     // or layout +level3(ralt_switch_multikey) to revert standard behaviour
107 };
108
109 // Default Polish keymap with Polish quotes on quotemark key
110 partial alphanumeric_keys
111 xkb_symbols "dvorak_quotes" {
112     include "pl(dvorak)"
113     
114     name[Group1] = "Poland - Dvorak, Polish quotes on quotemark key";
115
116     key <AD01> { [  apostrophe, quotedbl, doublelowquotemark, rightdoublequotemark      ] };
117
118     // Dead symbols moved to this key
119     key <AE01> { [          1,  exclam, dead_acute, dead_diaeresis              ]       };
120 };
121
122 // Polish keymap with Polish quotes on key "1/!"
123 partial alphanumeric_keys
124 xkb_symbols "dvorak_altquotes" {
125     include "pl(dvorak)"
126
127     name[Group1] = "Poland - Dvorak, Polish quotes on key 1/!";
128
129     key <AE01> { [          1,  exclam, doublelowquotemark, rightdoublequotemark        ]       };
130 };
131
132 partial alphanumeric_keys
133 xkb_symbols "csb" {
134
135     include "latin"
136
137     name[Group1]="Poland - Kashubian";
138
139     key <AD03>  { [         e,          E,      eacute,      Eacute ]   };
140     key <AD04>  { [         r,           R,      ediaeresis,      Ediaeresis ]  };
141     key <AD06>      { [         y,          Y,      EuroSign,         cent ]        };
142     key <AD07>  { [          u,          U,       ugrave,       Ugrave ]        };
143     key <AD08>  { [         i,            I,       ograve,       Ograve ]       };
144     key <AD09>  { [         o,          O,       oacute,       Oacute ] };
145     key <AD10>  { [         p,          P,       ocircumflex,       Ocircumflex ]       };
146
147     key <AC01>  { [         a,          A,      aogonek,      Aogonek ] };
148     key <AC02>  { [         s,          S,      atilde,      Atilde ]         };
149     key <AC09>  { [         l,          L,      lstroke,      Lstroke ]      };
150
151     key <AB01>  { [         z,          Z,    zabovedot,    Zabovedot ] };
152     key <AB06>  { [         n,          N,       nacute,       Nacute ] };
153
154     include "kpdl(comma)"
155
156     include "level3(ralt_switch)"
157 };
158
159 // Russian Polish-phonetic Dvorak
160 // by Adrian Dziubek <adrian.dziubek@gmail.com>
161 //
162 // This layout aims to enable Polish Dvorak users to type with Russian
163 // Cyrillic alphabet by using the sound correspondence between Polish and
164 // Russian languages.
165 //
166 // This keyboard should be intuitive. Please let me know, if my intuition
167 // lets You down.
168 //
169 // The guidelines used:
170 // - no Cyrillic symbols are placed on punctuation symbols,
171 // - visual similarities are ignored if there is a sound correspondence:
172 //   no Cyrillic_es on c, no Cyrillic_er on p, no Cyrillic_ha on x etc.,
173 // - the Latin symbols that have close sound correspondence (as read in Polish)
174 //   to Cyrillic symbols (as read in Russian) are mapped respectively:
175 //         * j -> Cyrillic_shorti,
176 //         * k -> Cyrillic_ka,
177 //         * b -> Cyrillic_be,
178 //         * m -> Cyrillic_em,
179 //         * w -> Cyrillic_ve,
180 //         * z -> Cyrillic_ze
181 //         * a -> Cyrillic_a,
182 //         * o -> Cyrillic_o,
183 //         * u -> Cyrillic_u,
184 //         * i -> Cyrillic_i,
185 //         * d -> Cyrillic_de,
186 //         * h -> Cyrillic_ha,
187 //         * t -> Cyrillic_te,
188 //         * n -> Cyrillic_en,
189 //         * s -> Cyrillic_es,
190 //         * p -> Cyrillic_pe,
191 //         * y -> Cyrillic_yeru,
192 //         * f -> Cyrillic_ef,
193 //         * g -> Cyrillic_ghe,
194 //         * c -> Cyrillic_tse,
195 //         * r -> Cyrillic_er,
196 //         * l -> Cyrillic_el,
197 // - ...and little more distant:
198 //         * AltGr + s (sacute) -> Cyrillic_sha,
199 //         * AltGr + z (zabovedot) -> Cyrillic_zhe,
200 //         * AltGr + c (cacute) -> Cyrillic_che,
201 // - the soft versions of Russian vowels are accessible through AltGr + vowel:
202 //         * AltGr + a -> Cyrillic_ya,
203 //         * AltGr + o -> Cyrillic_io,
204 //         * AltGr + u -> Cyrillic_yu,
205 // - ...except for Cyrillic_ie which is more frequently used than Cyrillic_e:
206 //         * AltGr + e -> Cyrillic_e,
207 //         * e -> Cyrillic_ie,
208 // - q is also mapped to Cyrillic_ya, following the US phonetic keyboard
209 //   choice, as Cyrillic_ya and Cyrillic_a are both often used:
210 //         * q -> Cyrillic_ya,
211 // - the soft and hard symbols that have no Polish counterparts are mapped
212 //   to rarely used in Polish x character:
213 //         * x -> Cyrillic_softsign
214 //         * AltGr + x -> Cyrillic_hardsign,
215 // - the soft sign is additionally available as AltGr + consonant combination
216 //   for every consonant that can be softened or separated by soft sign:
217 //         * AltGr + l -> Cyrillic_softsign,
218 //         * AltGr + d -> Cyrillic_softsign,
219 //         * AltGr + n -> Cyrillic_softsign,
220 //         * AltGr + r -> Cyrillic_softsign,
221 //         * AltGr + t -> Cyrillic_softsign,
222 //         * AltGr + p -> Cyrillic_softsign,
223 // - ...and also because of visual similarity under level3 b:
224 //         * AltGr + b -> Cyrillic_softsign,
225 //         * Shift + AltGr + b -> Cyrillic_hardsign,
226 // - the Cyrillic_shcha symbol is placed under AltGr + w (visual similarity):
227 //         * AltGr + w -> Cyrillic_shcha
228 // - v, also rarely unused in Polish is mapped like w:
229 //         * v -> Cyrillic_ve,
230 //
231 partial alphanumeric_keys
232 xkb_symbols "ru_phonetic_dvorak" {
233    include "us(dvorak)"
234
235    name[Group1] = "Poland - Russian phonetic Dvorak";
236
237    // lower row
238    key <AB02> { [ Cyrillic_ya, Cyrillic_YA ] };
239    key <AB03> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
240    key <AB04> { [ Cyrillic_ka, Cyrillic_KA ] };
241    key <AB05> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
242    key <AB06> { [ Cyrillic_be, Cyrillic_BE, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
243    key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
244    key <AB08> { [ Cyrillic_ve, Cyrillic_VE, Cyrillic_shcha, Cyrillic_SHCHA ] };
245    key <AB09> { [ Cyrillic_ve, Cyrillic_VE, Cyrillic_shcha, Cyrillic_SHCHA ] };
246    key <AB10> { [ Cyrillic_ze, Cyrillic_ZE, Cyrillic_zhe, Cyrillic_ZHE ] };
247    // home row
248    key <AC01> { [ Cyrillic_a, Cyrillic_A, Cyrillic_ya, Cyrillic_YA  ] };
249    key <AC02> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
250    key <AC03> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ] };
251    key <AC04> { [ Cyrillic_u, Cyrillic_U, Cyrillic_yu, Cyrillic_YU  ] };
252    key <AC05> { [ Cyrillic_i, Cyrillic_I ] };
253    key <AC06> { [ Cyrillic_de, Cyrillic_DE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
254    key <AC07> { [ Cyrillic_ha, Cyrillic_HA ] };
255    key <AC08> { [ Cyrillic_te, Cyrillic_TE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
256    key <AC09> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
257    key <AC10> { [ Cyrillic_es, Cyrillic_ES, Cyrillic_sha, Cyrillic_SHA ] };
258    // upper row
259    key <AD04> { [ Cyrillic_pe, Cyrillic_PE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
260    key <AD05> { [ Cyrillic_yeru, Cyrillic_YERU ] };
261    key <AD06> { [ Cyrillic_ef, Cyrillic_EF ] };
262    key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
263    key <AD08> { [ Cyrillic_tse, Cyrillic_TSE, Cyrillic_che, Cyrillic_CHE ] };
264    key <AD09> { [ Cyrillic_er, Cyrillic_ER, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
265    key <AD10> { [ Cyrillic_el, Cyrillic_EL, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
266
267    include "kpdl(comma)"
268
269    include "level3(ralt_switch)"
270 };