3 // $XFree86: xc/programs/xkbcomp/symbols/ie,v 1.3 2002/12/31 02:07:04 dawes Exp $
7 // Support for Irish (old and new orthography) and English
8 // Seamus O Ciardhuain <seoc@cnds.ucd.ie> (19 December 2002)
10 // The general idea is to provide the characters in ISO 8859-1,
11 // ISO 8859-15, ISO 8859-14, CP1252 and "Extended Latin-8".
12 // However, not all are accessible directly because there aren't
13 // enough keys; some need deadkeys to access them, others the
14 // "Multi_key" compose sequences.
16 // Designed to be similar to the layouts used on Windows
19 // Everything is in Group 1 to be compatible with the
20 // multi-layout keyboard support in XFree86 4.3.
22 // The basic layout is a modern keyboard, but dotted consonants are
23 // accessible using a deadkey (AltGr+H or AltGr+W).
24 // If a proper Clo Gaelach keyboard is needed, then use the layout
25 // defined below as ie(CloGaelach), which gives dotted consonants
26 // without use of a deadkey.
29 partial default alphanumeric_keys
32 // Modern keyboard for Irish and English
33 // - acute-accented vowels as AltGr+vowel and AltGr+Shift+vowel
34 // - euro currency sign as AltGr+4
35 // - Comhartha Agus (Tironian Sign Et) as AltGr+Shift+7
36 // - non-breaking space as AltGr+Space and AltGr+Shift+Space
37 // - matches hardware (keys and engraved symbols) for Irish keyboards
39 name[Group1] = "Ireland";
42 // Numeric row `1234567890-=
44 key <TLDE> { [ grave, notsign, brokenbar, NoSymbol ] };
45 key <AE01> { [ 1, exclam, exclamdown, onesuperior ] };
46 key <AE02> { [ 2, quotedbl, trademark, twosuperior ] };
47 key <AE03> { [ 3, sterling, copyright, threesuperior ] };
48 key <AE04> { [ 4, dollar, EuroSign, cent ] };
49 key <AE05> { [ 5, percent, section, dagger ] };
50 key <AE06> { [ 6, asciicircum, dead_circumflex, 0x1002030 ] };
52 key <AE07> { [ 7, ampersand, paragraph, 0x100204A ] };
54 key <AE08> { [ 8, asterisk, dead_diaeresis, enfilledcircbullet ] };
55 key <AE09> { [ 9, parenleft, ordfeminine, periodcentered ] };
56 key <AE10> { [ 0, parenright, masculine, degree ] };
57 key <AE11> { [ minus, underscore, endash, emdash ] };
58 key <AE12> { [ equal, plus, notequal, plusminus ] };
63 key <AD01> { [ q, Q, oe, OE ] };
64 key <AD02> { [ w, W, dead_abovedot, dead_abovedot ] };
65 key <AD03> { [ e, E, eacute, Eacute ] };
66 key <AD04> { [ r, R, registered, 0x1002030 ] };
68 key <AD05> { [ t, T, thorn, THORN ] };
69 key <AD06> { [ y, Y, yen, mu ] };
70 key <AD07> { [ u, U, uacute, Uacute ] };
71 key <AD08> { [ i, I, iacute, Iacute ] };
72 key <AD09> { [ o, O, oacute, Oacute ] };
73 key <AD10> { [ p, P, singlelowquotemark, NoSymbol ] };
74 key <AD11> { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] };
75 key <AD12> { [ bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] };
80 key <AC01> { [ a, A, aacute, Aacute ] };
81 key <AC02> { [ s, S, ssharp, NoSymbol ] };
82 key <AC03> { [ d, D, eth, ETH ] };
83 key <AC04> { [ f, F, 0x1000192, NoSymbol ] };
85 key <AC05> { [ g, G, copyright, NoSymbol ] };
86 key <AC06> { [ h, H, dead_abovedot, dead_abovedot ] };
87 key <AC07> { [ j, J, idotless, onequarter ] };
88 key <AC08> { [ k, K, dead_abovering, onehalf ] };
89 key <AC09> { [ l, L, acute, threequarters ] };
90 key <AC10> { [ semicolon, colon, ellipsis, doubledagger ] };
91 key <AC11> { [ apostrophe, at, ae, AE ] };
92 key <BKSL> { [ numbersign, asciitilde, guillemotleft, guillemotright ] };
98 key <LSGT> { [ backslash, bar, dead_grave, dead_acute ] };
99 key <AB01> { [ z, Z, leftanglebracket, rightanglebracket ] };
100 key <AB02> { [ x, X, multiply, approximate ] };
101 key <AB03> { [ c, C, dead_cedilla, cedilla ] };
102 key <AB04> { [ v, V, dead_caron, NoSymbol ] };
103 key <AB05> { [ b, B, diaeresis, NoSymbol ] };
104 key <AB06> { [ n, N, dead_tilde, NoSymbol ] };
105 key <AB07> { [ m, M, macron, NoSymbol ] };
106 key <AB08> { [ comma, less, lessthanequal, doublelowquotemark ] };
107 key <AB09> { [ period, greater, greaterthanequal, singlelowquotemark ] };
108 key <AB10> { [ slash, question, division, questiondown ] };
111 key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
113 include "level3(ralt_switch)"
115 // NB: putting Shift+<RALT> as Multi_key gives odd behaviour since the
116 // order of pressing keys affects the result.
118 key <RWIN> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
121 partial alphanumeric_keys
122 xkb_symbols "laptop" {
123 // For laptops which don't have the RWIN key but are otherwise
124 // the same as 105-key layouts.
127 name[Group1] = "Ireland - Laptop";
129 key <MENU> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
132 partial alphanumeric_keys
133 xkb_symbols "CloGaelach" {
135 // Adds support for Clo Gaelach (old orthography for Irish).
136 // Changes from "basic":
137 // - dotted consonants as AltGr+consonant or AltGr+Shift+consonant (TPSDFGCBM)
138 // - long lowercase r as AltGr+R
139 // - long lowercase s as AltGr+Z
140 // - long lowercase s dotted as AltGr+Shift+Z
141 // - some symbols moved around to retain them
142 // - several characters unlikely to be used are lost
143 // The long letters are needed only where the font provides
144 // both the long and short forms as different glyphs.
148 name[Group1] = "Ireland - CloGaelach";
150 key <TLDE> { [ grave, notsign, brokenbar, ssharp ] };
151 key <AD04> { [ r, R, 0x100027C, registered ] };
153 key <AD05> { [ t, T, tabovedot, Tabovedot ] };
154 key <AD10> { [ p, P, pabovedot, Pabovedot ] };
156 key <AC02> { [ s, S, sabovedot, Sabovedot ] };
157 key <AC03> { [ d, D, dabovedot, Dabovedot ] };
158 key <AC04> { [ f, F, fabovedot, Fabovedot ] };
159 key <AC05> { [ g, G, gabovedot, Gabovedot ] };
161 key <AB01> { [ z, Z, 0x100017F, 0x1001E9B ] };
162 // long s, long s dot
163 key <AB03> { [ c, C, cabovedot, Cabovedot ] };
164 key <AB05> { [ b, B, babovedot, Babovedot ] };
165 key <AB07> { [ m, M, mabovedot, Mabovedot ] };
167 key <LSGT> { [ backslash, bar, dead_grave, dead_cedilla ] };
170 partial alphanumeric_keys
171 xkb_symbols "CloGaelachLaptop" {
172 // For laptops which don't have the RWIN key but are otherwise
173 // the same as 105-key layouts.
174 include "ie(CloGaelach)"
175 name[Group1] = "Ireland - CloGaelach Laptop";
176 key <MENU> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };
179 partial alphanumeric_keys
180 xkb_symbols "UnicodeExpert" {
182 // This should eventually be a "Unicode Expert" layout like the Mac one.
184 name[Group1] = "Ireland - UnicodeExpert";
187 // Numeric row `1234567890-=
189 key <TLDE> { [ grave, notsign, 0x10000A6, 0x10000A6 ] };
191 key <AE01> { [ 1, exclam, NoSymbol, NoSymbol ] };
192 key <AE02> { [ 2, quotedbl, dead_doubleacute, dead_doubleacute ] };
193 key <AE03> { [ 3, sterling, NoSymbol, NoSymbol ] };
194 key <AE04> { [ 4, dollar, EuroSign, EuroSign ] };
195 key <AE05> { [ 5, percent, NoSymbol, NoSymbol ] };
196 key <AE06> { [ 6, asciicircum, dead_circumflex, dead_circumflex ] };
197 key <AE07> { [ 7, ampersand, 0x100204A, 0x100204A ] };
199 key <AE08> { [ 8, asterisk, dead_abovering, dead_abovering ] };
200 key <AE09> { [ 9, parenleft, dead_breve, dead_breve ] };
201 key <AE10> { [ 0, parenright, dead_ogonek, dead_ogonek ] };
202 key <AE11> { [ minus, underscore, dead_macron, dead_macron ] };
203 key <AE12> { [ equal, plus, NoSymbol, NoSymbol ] };
208 key <AD01> { [ q, Q, NoSymbol, NoSymbol ] };
209 key <AD02> { [ w, W, NoSymbol, NoSymbol ] };
210 key <AD03> { [ e, E, eacute, Eacute ] };
211 key <AD04> { [ r, R, 0x100027C, 0x100027C ] };
213 key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
214 key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
215 key <AD07> { [ u, U, uacute, Uacute ] };
216 key <AD08> { [ i, I, iacute, Iacute ] };
217 key <AD09> { [ o, O, oacute, Oacute ] };
218 key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
219 key <AD11> { [ bracketleft, braceleft, dead_hook, dead_hook ] };
220 key <AD12> { [ bracketright, braceright, dead_horn, dead_horn ] };
225 key <AC01> { [ a, A, aacute, Aacute ] };
226 key <AC02> { [ s, S, NoSymbol, NoSymbol ] };
227 key <AC03> { [ d, D, NoSymbol, NoSymbol ] };
228 key <AC04> { [ f, F, NoSymbol, NoSymbol ] };
229 key <AC05> { [ g, G, NoSymbol, NoSymbol ] };
230 key <AC06> { [ h, H, dead_abovedot, dead_abovedot ] };
231 key <AC07> { [ j, J, NoSymbol, NoSymbol ] };
232 key <AC08> { [ k, K, NoSymbol, NoSymbol ] };
233 key <AC09> { [ l, L, NoSymbol, NoSymbol ] };
234 key <AC10> { [ semicolon, colon, dead_diaeresis, dead_diaeresis ] };
235 key <AC11> { [ apostrophe, at, dead_acute, dead_acute ] };
236 key <BKSL> { [ numbersign, asciitilde, dead_tilde, dead_tilde ] };
241 key <LSGT> { [ backslash, bar, dead_grave, dead_grave ] };
242 key <AB01> { [ z, Z, 0x100017F, 0x1001E9B ] };
243 // long s, long s dot
244 key <AB02> { [ x, X, NoSymbol, NoSymbol ] };
245 key <AB03> { [ c, C, NoSymbol, NoSymbol ] };
246 key <AB04> { [ v, V, dead_caron, dead_caron ] };
247 key <AB05> { [ b, B, NoSymbol, NoSymbol ] };
248 key <AB06> { [ n, N, NoSymbol, NoSymbol ] };
249 key <AB07> { [ m, M, NoSymbol, NoSymbol ] };
250 key <AB08> { [ comma, less, dead_cedilla, dead_cedilla ] };
251 key <AB09> { [ period, greater, dead_abovedot, dead_abovedot ] };
252 key <AB10> { [ slash, question, dead_belowdot, dead_belowdot ] };
254 key <SPCE> { [ space, space, space, nobreakspace ] };
256 include "level3(ralt_switch)"
258 key <RWIN> { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ] };