pl revision 154daed1
1// $XKeyboardConfig: xkeyboard-config/symbols/pl,v 1.12 2008-01-03 22:54:42 svu Exp $
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
7partial default alphanumeric_keys
8xkb_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
30partial alphanumeric_keys
31xkb_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)
84partial alphanumeric_keys 
85xkb_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
110partial alphanumeric_keys
111xkb_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/!"
123partial alphanumeric_keys
124xkb_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
132partial alphanumeric_keys
133xkb_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//
231partial alphanumeric_keys
232xkb_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};
271