reorganizing indicators, thanks to Frank Murphy
[xorg/xkeyboard-config] / symbols / ogam
1 // $XFree86: xc/programs/xkbcomp/symbols/ogham,v 1.2 2002/12/19 00:49:41 dawes Exp $
2 //
3 // Ogham keyboard map for XFree86
4 //
5 // Seamus O Ciardhuain <seoc@cnds.ucd.ie> (17 December 2002)
6 //
7 // Ogham keyboard layout as recommended in I.S. 434:1999.
8 // Suitable for multi-layout xkbcomp.
9 // Character names are given as in the Unicode standard,
10 // range U+1680 to U+169F.
11
12
13 default partial alphanumeric_keys
14 xkb_symbols "basic" {
15
16     name[Group1] = "Ogham";
17
18     key.type[Group1] = "ONE_LEVEL";
19
20     key <LSGT> { type[Group1]="TWO_LEVEL",
21                  [ 0x100169B, 0x100169C ] };
22                  // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK
23
24     key <BKSL> { [ 0x1001680 ] }; // OGHAM SPACE MARK
25
26     key <TLDE> { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
27
28     key <SPCE> { [ space ] };
29
30     //
31     // Top Row QWERTYUIOP
32     //
33     key <AD01> { [ 0x100168A ] };  // OGHAM LETTER CEIRT
34     key <AD02> { [ 0x1001695 ] };  // OGHAM LETTER EABHADH
35     key <AD03> { [ 0x1001693 ] };  // OGHAM LETTER EADHADH
36     key <AD04> { [ 0x100168F ] };  // OGHAM LETTER RUIS
37     key <AD05> { [ 0x1001688 ] };  // OGHAM LETTER TINNE
38     key <AD06> { [ 0x1001698 ] };  // OGHAM LETTER IFIN
39     key <AD07> { [ 0x1001692 ] };  // OGHAM LETTER UR
40     key <AD08> { [ 0x1001694 ] };  // OGHAM LETTER IODHADH
41     key <AD09> { [ 0x1001691 ] };  // OGHAM LETTER ONN
42     key <AD10> { [ 0x100169A ] };  // OGHAM LETTER PEITH
43
44     //
45     // Middle Row ASDFGHJKL
46     //
47     key <AC01> { [ 0x1001690 ] };  // OGHAM LETTER AILM
48     key <AC02> { [ 0x1001684 ] };  // OGHAM LETTER SAIL
49     key <AC03> { [ 0x1001687 ] };  // OGHAM LETTER DAIR
50     key <AC04> { [ 0x1001683 ] };  // OGHAM LETTER FEARN
51     key <AC05> { [ 0x100168C ] };  // OGHAM LETTER GORT
52     key <AC06> { [ 0x1001686 ] };  // OGHAM LETTER UATH
53     key <AC07> { [ 0x1001697 ] };  // OGHAM LETTER UILLEANN
54     key <AC08> { [ 0x1001696 ] };  // OGHAM LETTER OR
55     key <AC09> { [ 0x1001682 ] };  // OGHAM LETTER LUIS
56
57     //
58     // Bottom Row ZXCVBNM
59     //
60     key <AB01> { [ 0x100168E ] };  // OGHAM LETTER STRAIF
61     key <AB02> { [ 0x1001699 ] };  // OGHAM LETTER EAMHANCHOLL
62     key <AB03> { [ 0x1001689 ] };  // OGHAM LETTER COLL
63     key <AB04> { [ 0x100168D ] };  // OGHAM LETTER NGEADAL
64     key <AB05> { [ 0x1001681 ] };  // OGHAM LETTER BEITH
65     key <AB06> { [ 0x1001685 ] };  // OGHAM LETTER NION
66     key <AB07> { [ 0x100168B ] };  // OGHAM LETTER MUIN
67
68     // As an extension because <BKSL> and <LSGT> may not be
69     // available or sensible. These are also a bit more
70     // intuitive on a standard Irish keyboard.
71     key <AB08> { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
72     key <AB09> { [ 0x100169B ] }; // OGHAM FEATHER MARK
73     key <AB10> { [ 0x1001680 ] }; // OGHAM SPACE MARK
74
75     key <RWIN>  { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ]  };
76
77 };
78
79 partial alphanumeric_keys
80 xkb_symbols "laptop" {
81     // For laptops which don't have the RWIN key but are otherwise
82     // the same as 105-key layouts.
83     include "ogam(basic)"
84     key <MENU>  { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ]  };
85 };
86
87
88 partial alphanumeric_keys
89 xkb_symbols "is434" {
90
91     // This has the full layout of IS434 with an Irish QWERTY keyboard,
92     // and the Ogham characters accessed when CAPS LOCK is on.
93
94     name[Group1] = "Ogham (IS434)";
95
96     key.type[Group1] = "THREE_LEVEL";
97
98     key <LSGT> { type[Group1] = "FOUR_LEVEL_ALPHABETIC",
99                  [ backslash, bar, 0x100169B, 0x100169C ] };
100                  // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK
101
102     key <BKSL> { [ numbersign, asciitilde, 0x1001680 ] }; // OGHAM SPACE MARK
103     key <TLDE> { [      grave,    notsign, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
104     key <SPCE> { [      space,      space,     space ] };
105
106     //
107     // Numeric row
108     //
109     key <AE01> { type[Group1]="TWO_LEVEL", [     1,      exclam            ] };
110     key <AE02> { type[Group1]="TWO_LEVEL", [     2,    quotedbl            ] };
111     key <AE03> { type[Group1]="TWO_LEVEL", [     3,    sterling            ] };
112     key <AE04> {                           [     4,      dollar,  EuroSign ] };
113     key <AE05> { type[Group1]="TWO_LEVEL", [     5,     percent            ] };
114     key <AE06> { type[Group1]="TWO_LEVEL", [     6, asciicircum            ] };
115     key <AE07> {                           [     7,   ampersand, 0x100204A ] }; // Tironian Et
116     key <AE08> { type[Group1]="TWO_LEVEL", [     8,    asterisk            ] };
117     key <AE09> { type[Group1]="TWO_LEVEL", [     9,   parenleft            ] };
118     key <AE10> { type[Group1]="TWO_LEVEL", [     0,  parenright            ] };
119     key <AE11> { type[Group1]="TWO_LEVEL", [ minus,  underscore            ] };
120     key <AE12> { type[Group1]="TWO_LEVEL", [ equal,        plus            ] };
121
122     //
123     // Top Row QWERTYUIOP
124     //
125     key <AD01> { [ q, Q, 0x100168A ] };  // OGHAM LETTER CEIRT
126     key <AD02> { [ w, W, 0x1001695 ] };  // OGHAM LETTER EABHADH
127     key <AD03> { [ e, E, 0x1001693 ] };  // OGHAM LETTER EADHADH
128     key <AD04> { [ r, R, 0x100168F ] };  // OGHAM LETTER RUIS
129     key <AD05> { [ t, T, 0x1001688 ] };  // OGHAM LETTER TINNE
130     key <AD06> { [ y, Y, 0x1001698 ] };  // OGHAM LETTER IFIN
131     key <AD07> { [ u, U, 0x1001692 ] };  // OGHAM LETTER UR
132     key <AD08> { [ i, I, 0x1001694 ] };  // OGHAM LETTER IODHADH
133     key <AD09> { [ o, O, 0x1001691 ] };  // OGHAM LETTER ONN
134     key <AD10> { [ p, P, 0x100169A ] };  // OGHAM LETTER PEITH
135
136     //
137     // Middle Row ASDFGHJKL
138     //
139     key <AC01> { [ a, A, 0x1001690 ] };  // OGHAM LETTER AILM
140     key <AC02> { [ s, S, 0x1001684 ] };  // OGHAM LETTER SAIL
141     key <AC03> { [ d, D, 0x1001687 ] };  // OGHAM LETTER DAIR
142     key <AC04> { [ f, F, 0x1001683 ] };  // OGHAM LETTER FEARN
143     key <AC05> { [ g, G, 0x100168C ] };  // OGHAM LETTER GORT
144     key <AC06> { [ h, H, 0x1001686 ] };  // OGHAM LETTER UATH
145     key <AC07> { [ j, J, 0x1001697 ] };  // OGHAM LETTER UILLEANN
146     key <AC08> { [ k, K, 0x1001696 ] };  // OGHAM LETTER OR
147     key <AC09> { [ l, L, 0x1001682 ] };  // OGHAM LETTER LUIS
148
149     //
150     // Bottom Row ZXCVBNM
151     //
152     key <AB01> { [ z, Z, 0x100168E ] };  // OGHAM LETTER STRAIF
153     key <AB02> { [ x, X, 0x1001699 ] };  // OGHAM LETTER EAMHANCHOLL
154     key <AB03> { [ c, C, 0x1001689 ] };  // OGHAM LETTER COLL
155     key <AB04> { [ v, V, 0x100168D ] };  // OGHAM LETTER NGEADAL
156     key <AB05> { [ b, B, 0x1001681 ] };  // OGHAM LETTER BEITH
157     key <AB06> { [ n, N, 0x1001685 ] };  // OGHAM LETTER NION
158     key <AB07> { [ m, M, 0x100168B ] };  // OGHAM LETTER MUIN
159
160     // As an extension because <BKSL> and <LSGT> may not be
161     // available or sensible. These are also a bit more
162     // intuitive on a standard Irish keyboard.
163     key <AB08> { [  comma,     less, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK
164     key <AB09> { [ period,  greater, 0x100169B ] }; // OGHAM FEATHER MARK
165     key <AB10> { [  slash, question, 0x1001680 ] }; // OGHAM SPACE MARK
166
167     // The standard says the Ogham characters should be accessed when
168     // Caps Lock is down; not clear if this means it should lock but
169     // seems logical.
170
171     key <CAPS>  { type[Group1] = "ONE_LEVEL", [ ISO_Level3_Lock ] };
172
173     // Also allow access to Ogham characters using RALT for convenience
174     key <RALT>  { type[Group1] = "ONE_LEVEL", [ ISO_Level3_Shift ] };
175
176     modifier_map Mod5  { ISO_Level3_Shift, ISO_Level3_Lock };
177
178     // Redefine Scroll Lock as locking shift in case that's needed.
179     // Also overcomes annoying use of Scroll Lock LED inherited from
180     // US symbols but not relevant here since we're not changing group.
181     key <SCLK> {type[Group1] = "ONE_LEVEL", [ Shift_Lock ] };
182     modifier_map Shift { Shift_Lock }; 
183
184     key <RWIN>  { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ]  };
185 };
186
187 partial alphanumeric_keys
188 xkb_symbols "IS434" {
189     // just has uppercase in the name
190     include "ogam(is434)"
191 };
192
193 partial alphanumeric_keys
194 xkb_symbols "is434laptop" {
195     // For laptops which don't have the RWIN key but are otherwise
196     // the same as 105-key layouts.
197     include "ogam(is434)"
198     key <MENU>  { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ]  };
199 };
200
201 partial alphanumeric_keys
202 xkb_symbols "IS434laptop" {
203     // just has uppercase in the name
204     include "ogam(is434)"
205     key <MENU>  { type[Group1]="TWO_LEVEL", [ Multi_key, ISO_Next_Group ]  };
206 };