restructuring Asian layouts, focus on India
[xorg/xkeyboard-config] / symbols / lk
1 // $XKeyboardConfig$
2
3 // based on a keyboard map from an 'xkb/symbols/tml' file
4 //
5 // $XFree86: xc/programs/xkbcomp/symbols/tml,v 1.2 2002/11/22 04:03:28 dawes Exp $
6
7 partial alphanumeric_keys 
8 xkb_symbols "tam_unicode" {
9
10 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
11 // Encoding: Unicode (http://www.unicode.org)
12 // Author: Thuraiappah Vaseeharan <vasee@ieee.org>
13 // Date  : Sat Feb  9 21:10:48 CST 2002
14 // Mapping:
15   
16     name[Group1]= "Sri Lanka - Tamil Unicode";
17
18     // granthas
19     key <AE01> {  [ 0x1000b83 ] } ;
20     key <AE03> {  [ 0x1000b9c ] } ;
21     key <AE04> {  [ 0x1000bb7 ] } ;
22     key <AE05> {  [ 0x1000bb8 ] } ;
23     key <AE06> {  [ 0x1000bb9 ] } ;
24         
25     // Qrow
26     key <AD01> {  [ 0x1000b9e ] };
27     key <AD02> {  [ 0x1000bb1 ] };
28     key <AD03> {  [ 0x1000ba8 ] };
29     key <AD04> {  [ 0x1000b9a ] };
30     key <AD05> {  [ 0x1000bb5 ] };
31     key <AD06> {  [ 0x1000bb2 ] };
32     key <AD07> {  [ 0x1000bb0 ] };
33     key <AD08> {  [ 0x1000bc8, 0x1000b90 ] };
34     key <AD09> {  [ 0x1000bca, 0x1000bcb ] };
35     key <AD10> {  [ 0x1000bbf, 0x1000bc0 ] };
36     key <AD11> {  [ 0x1000bc1, 0x1000bc2 ] };
37
38     // Arow
39     key <AC01> { [ 0x1000baf ] };
40     key <AC02> { [ 0x1000bb3 ] };
41     key <AC03> { [ 0x1000ba9 ] };
42     key <AC04> { [ 0x1000b95 ] };
43     key <AC05> { [ 0x1000baa ] };
44     key <AC06> { [ 0x1000bbe, 0x1000bb4 ] };
45     key <AC07> { [ 0x1000ba4 ] };
46     key <AC08> { [ 0x1000bae ] };
47     key <AC09> { [ 0x1000b9f ] };
48     key <AC10> { [ 0x1000bcd ] };
49     key <AC11> { [ 0x1000b99 ] };
50     
51     // Zrow
52     key <AB01> { [ 0x1000ba3 ]  };
53     key <AB02> { [ 0x1000b92, 0x1000b93 ]  };
54     key <AB03> { [ 0x1000b89, 0x1000b8a ]  };
55     key <AB04> { [ 0x1000b8e, 0x1000b8f ]  };
56     key <AB05> { [ 0x1000bc6, 0x1000bc7 ]  };
57     key <AB06> { [ 0x1000b94, 0x1000bcc ]  };
58     key <AB07> { [ 0x1000b85, 0x1000b86 ]  };
59     key <AB08> { [ 0x1000b87, 0x1000b88 ]  };
60 };
61
62 partial alphanumeric_keys 
63 xkb_symbols "tam_TSCII" {
64
65 // Description  : A Tamil typewrite-style keymap 
66 //                loosely based on TamilNet'99 reommendations 
67 // Encoding     : TSCII (http://www.tscii.org)
68 // Author       : Thuraiappah Vaseeharan <vasee@ieee.org>
69 // Last Modified: Sat Jan  5 17:11:26 CST 2002
70
71     name[Group1]= "Sri Lanka - Tamil TSCII Typewriter";
72
73     key <AE01> {  [ 0x10000b7, 0x10000a4 ] }; // aytham
74     key <AE02> {  [ 0x1000082, 0x10000a5 ] }; // shri
75     key <AE03> {  [ 0x1000083, 0x1000088 ] }; // ja
76     key <AE04> {  [ 0x1000084, 0x1000089 ] }; // sha
77     key <AE05> {  [ 0x1000085, 0x100008a ] }; // sa
78     key <AE06> {  [ 0x1000086, 0x100008b ] }; // ha
79     key <AE07> {  [ 0x1000087, 0x100008c ] }; // ksha
80         
81     // Qrow
82     key <AD01> {  [ 0x10000bb, 0x100009a ] }; // nja
83     key <AD02> {  [ 0x10000c8, 0x10000da ] }; // Ra
84     key <AD03> {  [ 0x10000bf, 0x10000d1 ] }; // NNa
85     key <AD04> {  [ 0x10000ba, 0x10000cd ] }; // ca
86     key <AD05> {  [ 0x10000c5, 0x10000d7 ] }; // va
87     key <AD06> {  [ 0x10000c4, 0x10000d6 ] }; // la
88     key <AD07> {  [ 0x10000c3, 0x10000d5 ] }; // ra
89     key <AD08> {  [ 0x10000a8, 0x10000b3 ] }; // sangili, ai
90     key <AD09> {  [ 0x10000ca, 0x10000cb ] }; // di, dI
91     key <AD10> {  [ 0x10000a2, 0x10000a3 ] }; // visiri
92     key <AD11> {  [ dead_acute, 0x10000a3 ] }; // Ukaaram
93
94     // Arow
95     key <AC01> { [ 0x10000c2, 0x10000d4 ] }; // ya
96     key <AC02> { [ 0x10000c7, 0x10000d9 ] }; // La
97     key <AC03> { [ 0x10000c9, 0x10000db ] }; // na
98     key <AC04> { [ 0x10000b8, 0x10000cc ] }; // ka
99     key <AC05> { [ 0x10000c0, 0x10000d2 ] }; // pa
100     key <AC06> { [ dead_grave,0x10000a1 ] }; // pulli,aravu
101     key <AC07> { [ 0x10000be, 0x10000d0 ] }; // tha
102     key <AC08> { [ 0x10000c1, 0x10000d3 ] }; // ma
103     key <AC09> { [ 0x10000bc, 0x10000ce ] }; // da
104     key <AC10> { [ 0x10000c6, 0x10000d8 ] }; // zha
105     key <AC11> { [ 0x10000b9, 0x1000099 ] }; // nga
106     
107     // Zrow
108     key <AB01> { [ 0x10000bd, 0x10000cf ] }; // Na
109     key <AB02> { [ 0x10000b4, 0x10000b5 ] }; // o, O
110     key <AB03> { [ 0x10000af, 0x10000b0 ] }; // u, U
111     key <AB04> { [ 0x10000b1, 0x10000b2 ] }; // e, E
112     key <AB05> { [ 0x10000a6, 0x10000a7 ] }; // kombus
113     key <AB06> { [ 0x10000b6, 0x10000aa ] }; // au
114     key <AB07> { [ 0x10000ab, 0x10000ac ] }; // a, A
115     key <AB08> { [ 0x10000fe, 0x10000ae ] }; // i, I
116
117 };
118
119 partial alphanumeric_keys 
120 xkb_symbols "tam_TAB" {
121
122 // Description: A keymap based on the TamilNet'99 typewriter keyboard 
123 // Encoding: TAB (http://www.tamilnet99.org)
124 // Author: Thuraiappah Vaseeharan <t_vasee@yahoo.com>
125 // Date  : Sun Aug 12 02:23:00 CDT 2001
126
127     name[Group1]= "Sri Lanka - Tamil TAB Typewriter";
128
129     // numeral row
130     key <AE01> {  [ 0x10000e7, 0x10000a7 ] } ;
131     key <AE02> {  [ 0x10000fa, 0x10000a8 ] } ;
132     key <AE03> {  [ 0x10000fb ] } ;
133     key <AE04> {  [ 0x10000fc ] } ;
134     key <AE05> {  [ 0x10000fd ] } ;
135     key <AE06> {  [ 0x10000fe ] } ;
136     key <AE07> {  [ 0x10000ff ] } ;
137         
138     // q-row
139     key <AD01> {  [ 0x10000eb, 0x10000b3 ] };
140     key <AD02> {  [ 0x10000f8, 0x10000c1 ] };
141     key <AD03> {  [ 0x10000ef, 0x10000b8 ] };
142     key <AD04> {  [ 0x10000ea, 0x10000b2 ] };
143     key <AD05> {  [ 0x10000f5, 0x10000be ] };
144     key <AD06> {  [ 0x10000f4, 0x10000bd ] };
145     key <AD07> {  [ 0x10000f3, 0x10000bc ] };
146     key <AD08> {  [ 0x10000ac, 0x10000e4 ] };
147     key <AD09> {  [ 0x10000ae, 0x10000af ] };
148     key <AD10> {  [ 0x10000a4, 0x10000a6 ] };
149     key <AD11> {  [ dead_circumflex, 0x10000a6 ] }; // Ukaaram
150
151     // a-row
152     key <AC01> {  [ 0x10000f2, 0x10000bb ] };
153     key <AC02> {  [ 0x10000f7, 0x10000c0 ] };
154     key <AC03> {  [ 0x10000f9, 0x10000c2 ] };
155     key <AC04> {  [ 0x10000e8, 0x10000b0 ] };
156     key <AC05> {  [ 0x10000f0, 0x10000b9 ] };
157     key <AC06> {  [ 0x10000a2, 0x10000a3 ] };
158     key <AC07> {  [ 0x10000ee, 0x10000b6 ] };
159     key <AC08> {  [ 0x10000f1, 0x10000ba ] };
160     key <AC09> {  [ 0x10000ec, 0x10000b4 ] };
161     key <AC10> {  [ 0x10000f6, 0x10000bf ] };
162     key <AC11> {  [ 0x10000e9, 0x10000b1 ] };
163     
164     // z-row
165     key <AB01> {  [ 0x10000ed, 0x10000b5 ] };
166     key <AB02> {  [ 0x10000e5, 0x10000e6 ] };
167     key <AB03> {  [ 0x10000e0, 0x10000e1 ] };
168     key <AB04> {  [ 0x10000e2, 0x10000e3 ] };
169     key <AB05> {  [ 0x10000aa, 0x10000ab ] };
170     key <AB06> {  [ 0x10000ac, 0x10000a3 ] };
171     key <AB07> {  [ 0x10000dc, 0x10000dd ] };
172     key <AB08> {  [ 0x10000de, 0x10000df ] };
173 };
174
175 partial alphanumeric_keys 
176 xkb_symbols "tam_INSCRIPT" {
177       name[Group1]= "Sri Lanka - Tamil INSCRIPT";
178
179       key <TLDE> { [      0x1000BCA, 0x1000B92  ]       };
180
181       // Mainly numbers.
182       key <AE01> { [      0x1000BE7             ]       };
183       key <AE02> { [      0x1000BE8             ]       };
184       key <AE03> { [      0x1000BE9             ]       };
185       key <AE04> { [      0x1000BEA             ]       };
186       key <AE05> { [      0x1000BEB             ]       };
187       key <AE06> { [      0x1000BEC             ]       };
188       key <AE07> { [      0x1000BED             ]       };
189       key <AE08> { [      0x1000BEE             ]       };
190       key <AE09> { [      0x1000BEF, parenleft  ]       };
191       key <AE10> { [      0x1000BF0, parenright ]       };
192       key <AE11> { [      0x1000BF1, 0x1000B83  ]       };
193       key <AE12> { [      0x1000BF2, plus       ]       };
194
195 // Mainly long vowels
196
197       key <AD01> { [      0x1000BCC,  0x1000B94 ]       };
198       key <AD02> { [      0x1000BC8,  0x1000B90 ]       };
199       key <AD03> { [      0x1000BBE,  0x1000B86 ]       };
200       key <AD04> { [      0x1000BC0,  0x1000B88 ]       };
201       key <AD05> { [      0x1000BC2,  0x1000B8A ]       };
202
203 // Mainly voiced consonants
204
205       key <AD07> { [      0x1000BB9, 0x1000B99  ]       };
206       key <AD12> { [      0x1000BBC, 0x1000B9E  ]       };
207
208 // Mainly short vowels
209       key <AC01> { [      0x1000BCB,  0x1000B93 ]       };
210       key <AC02> { [      0x1000BC7,  0x1000B8F ]       };
211       key <AC03> { [      0x1000BCD,  0x1000B85 ]       };
212       key <AC04> { [      0x1000BBF,  0x1000B87 ]       };
213       key <AC05> { [      0x1000BC1,  0x1000B89 ]       };
214
215 // Mainly unvoiced consonants
216
217       key <AC06> { [      0x1000BAA             ]       };
218       key <AC07> { [      0x1000BB0,  0x1000BB1 ]       };
219       key <AC08> { [      0x1000B95             ]       };
220       key <AC09> { [      0x1000BA4             ]       };
221       key <AC10> { [      0x1000B9A             ]       };
222       key <AC11> { [      0x1000B9F             ]       };
223       key <BKSL> { [      backslash, bar        ]       };
224
225       key <AB01> { [      0x1000BC6,  0x1000B8E ]       };
226       key <AB02> { [      0x1000B82             ]       };
227       key <AB03> { [      0x1000BAE,  0x1000BA3 ]       };
228       key <AB04> { [      0x1000BA8,  0x1000BA9 ]       };
229       key <AB05> { [      0x1000BB5,  0x1000BB4 ]       };
230       key <AB06> { [      0x1000BB2,  0x1000BB3 ]       };
231       key <AB07> { [      0x1000BB8             ]       };
232       key <AB08> { [      comma,      0x1000BB7 ]       };
233       key <AB09> { [      period,     0x1000964 ]       };
234       key <AB10> { [      0x1000BAF,  question  ]       };
235 };
236
237 // X Keyboard Extension file for Sinhala (Sri Lanka) (2004-04-22)
238 // Maintainer  : Harshula Jayasuriya <hash@jayasolutions.cjb.net>
239 // Last Updated: 2004-11-14
240 // This is a static phonetic mapping for a standard US-English keyboard
241 // (qwerty)
242 // http://www.nongnu.org/sinhala/doc/keymaps/sinhala-keyboard_3.html
243
244 // Repaya, Rakaransaya and Yansaya aren't inserted with A-r, R and Y,
245 // respectively. The problem lies with the XKB infrastructure which
246 // only allows a one-to-one mapping of keycodes to Unicode codepoints.
247 // Unfortunately, the 3 mentioned glyphs actually consists of 3
248 // Unicode codepoints each. The resultant is that the user must
249 // manually construct the glyph by typing each of the 3 codepoints.
250 // Alt-backslash represents the 'join' key, this requires
251 // two codepoints, hence it also has to be manually constructed.
252
253 // Repaya = rayanna,AL,ZWJ
254 // Rakaransaya = AL,ZWJ,rayanna
255 // Yansaya = AL,ZWJ,yayanna
256 // join = AL,ZWJ
257
258 // Where,
259 // AL = Al Lakuna = Alt-a
260 // ZWJ = Zero Width Joiner = Alt-Shift-Backslash
261 // rayanna = r
262 // yayanna = y
263
264
265 partial alphanumeric_keys
266 xkb_symbols "sin_phonetic" {
267
268   include "us"
269   name[Group1] = "Sri Lanka - Sinhala phonetic";
270   key.type = "FOUR_LEVEL";
271
272   // q - p
273   key <AD01> { [ 0x01000d8d, 0x01000d8e, 0x01000dd8, 0x01000df2 ] };
274   key <AD02> { [ 0x01000d87, 0x01000d88, 0x01000dd0, 0x01000dd1 ] };
275   key <AD03> { [ 0x01000d91, 0x01000d92, 0x01000dd9, 0x01000dda ] };
276   key <AD04> { [ 0x01000dbb, 0x01000dca, 0x01000dbb, NoSymbol ] };
277   key <AD05> { [ 0x01000da7, 0x01000da8, 0x01000dad, 0x01000dae ] };
278   key <AD06> { [ 0x01000dba, 0x01000dca, NoSymbol, NoSymbol ] };
279   key <AD07> { [ 0x01000d8b, 0x01000d8c, 0x01000dd4, 0x01000dd6 ] };
280   key <AD08> { [ 0x01000d89, 0x01000d8a, 0x01000dd2, 0x01000dd3 ] };
281   key <AD09> { [ 0x01000d94, 0x01000d95, 0x01000ddc, 0x01000ddd ] };
282   key <AD10> { [ 0x01000db4, 0x01000db5, NoSymbol, NoSymbol ] };
283
284   // a - l
285   key <AC01> { [ 0x01000d85, 0x01000d86, 0x01000dca, 0x01000dcf ] };
286   key <AC02> { [ 0x01000dc3, 0x01000dc2, 0x01000dc1, NoSymbol ] };
287   key <AC03> { [ 0x01000da9, 0x01000daa, 0x01000daf, 0x01000db0 ] };
288   key <AC04> { [ 0x01000dc6, 0x01000d93, 0x01000ddb, NoSymbol ] };
289   key <AC05> { [ 0x01000d9c, 0x01000d9d, 0x01000d9f, NoSymbol ] };
290   key <AC06> { [ 0x01000dc4, 0x01000d96, 0x01000dde, NoSymbol ] };
291   key <AC07> { [ 0x01000da2, 0x01000da3, 0x01000da6, NoSymbol ] };
292   key <AC08> { [ 0x01000d9a, 0x01000d9b, 0x01000d8f, 0x01000d90 ] };
293   key <AC09> { [ 0x01000dbd, 0x01000dc5, 0x01000ddf, 0x01000df3 ] };
294
295   // z - m
296   key <AB01> { [ 0x01000da4, 0x01000da5, NoSymbol, NoSymbol ] };
297   key <AB02> { [ 0x01000dac, 0x01000db3, NoSymbol, NoSymbol ] };
298   key <AB03> { [ 0x01000da0, 0x01000da1, NoSymbol, NoSymbol ] };
299   key <AB04> { [ 0x01000dc0, 0x01000d82, 0x01000d83, NoSymbol ] };
300   key <AB05> { [ 0x01000db6, 0x01000db7, NoSymbol, NoSymbol ] };
301   key <AB06> { [ 0x01000db1, 0x01000dab, 0x01000d9e, NoSymbol ] };
302   key <AB07> { [ 0x01000db8, 0x01000db9, NoSymbol, NoSymbol ] };
303
304   // '.' - Fullstop
305   key <AB09> { [ any, any, 0x01000df4, NoSymbol ] };
306
307   // Backslash
308   key <BKSL> { [ any, any, 0x01000dca, 0x0100200d  ] };
309
310   // Space
311   key <SPCE> { [ space, nobreakspace, 0x0100200c, NoSymbol ] };
312
313   include "level3(ralt_switch)"
314 };
315