1// Keyboard layouts for languages of Myanmar.
2
3default partial alphanumeric_keys
4xkb_symbols "basic" {
5    name[Group1]= "Burmese";
6
7    key <TLDE> {[    grave,        U100E,       grave,  asciitilde  ]};
8    key <AE01> {[    U1041,        U100D,           1,      exclam  ]};
9    key <AE02> {[    U1042,        U1052,           2,          at  ]};
10    key <AE03> {[    U1043,        U100B,           3,  numbersign  ]};
11    key <AE04> {[    U1044,       dollar,           4,      dollar  ]};
12    key <AE05> {[    U1045,      percent,           5,     percent  ]};
13    key <AE06> {[    U1046,  asciicircum,           6, asciicircum  ]};
14    key <AE07> {[    U1047,        U101B,           7,   ampersand  ]};
15    key <AE08> {[    U1048,     asterisk,           8,    asterisk  ]};
16    key <AE09> {[    U1049,    parenleft,           9,   parenleft  ]};
17    key <AE10> {[    U1040,   parenright,           0,  parenright  ]};
18    key <AE11> {[    minus,   underscore                            ]};
19    key <AE12> {[    equal,         plus                            ]};
20
21    key <AD01> {[    U1006,        U1008,           q,           Q  ]};
22    key <AD02> {[    U1010,        U101D,           w,           W  ]};
23    key <AD03> {[    U1014,        U1023,           e,           E  ]};
24    key <AD04> {[    U1019,        U104E,           r,           R  ]};
25    key <AD05> {[    U1021,        U1024,           t,           T  ]};
26    key <AD06> {[    U1015,        U104C,           y,           Y  ]};
27    key <AD07> {[    U1000,        U1025,           u,           U  ]};
28    key <AD08> {[    U1004,        U104D,           i,           I  ]};
29    key <AD09> {[    U101E,        U103F,           o,           O  ]};
30    key <AD10> {[    U1005,        U100F,           p,           P  ]};
31    key <AD11> {[    U101F,        U1027,  bracketleft,  braceleft  ]};
32    key <AD12> {[    U1029,        U102A, bracketright, braceright  ]};
33
34    key <AC01> {[    U1031,        U1017,           a,           A  ]};
35    key <AC02> {[    U103B,        U103E,           s,           S  ]};
36    key <AC03> {[    U102D,        U102E,           d,           D  ]};
37    key <AC04> {[    U103A,        U1039,           f,           F  ]};
38    key <AC05> {[    U102B,        U103D,           g,           G  ]};
39    key <AC06> {[    U1037,        U1036,           h,           H  ]};
40    key <AC07> {[    U103C,        U1032,           j,           J  ]};
41    key <AC08> {[    U102F,        U1012,           k,           K  ]};
42    key <AC09> {[    U1030,        U1013,           l,           L  ]};
43    key <AC10> {[    U1038,        U1002,   semicolon,       colon  ]};
44    key <AC11> {[ apostrophe,   quotedbl                            ]};
45    key <BKSL> {[    U104F,    backslash,   backslash,         bar  ]};
46
47    key <AB01> {[    U1016,        U1007,           z,           Z  ]};
48    key <AB02> {[    U1011,        U100C,           x,           X  ]};
49    key <AB03> {[    U1001,        U1003,           c,           C  ]};
50    key <AB04> {[    U101C,        U1020,           v,           V  ]};
51    key <AB05> {[    U1018,        U101A,           b,           B  ]};
52    key <AB06> {[    U100A,        U1009,           n,           N  ]};
53    key <AB07> {[    U102C,        U1026,           m,           M  ]};
54    key <AB08> {[    comma,        U104A,       comma,        less  ]};
55    key <AB09> {[   period,        U104B,      period,     greater  ]};
56    key <AB10> {[    slash,     question                            ]};
57};
58
59partial alphanumeric_keys
60xkb_symbols "zawgyi" {
61
62	name[Group1]="Burmese Zawgyi";
63
64	include "mm(tilde_latch)"
65
66	key <AE01> {[ U1041, U100D, U100E, U106F ]};
67	key <AE02> {[ U1042, U1091, U106D ]};
68	key <AE03> {[ U1043, U100B, U106C ]};
69	key <AE04> {[ U1044, dollar, U104E, U1023 ]};
70	key <AE05> {[ U1045, percent, U1029, U102A ]};
71	key <AE06> {[ U1046, asciicircum ]};
72	key <AE07> {[ U1047, U101B, U1090 ]};
73	key <AE08> {[ U1048, U1002, U1062 ]};
74	key <AE09> {[ U1049, parenleft, U1026 ]};
75	key <AE10> {[ U1040, parenright ]};
76	key <AE11> {[ minus, underscore, U1097 ]};
77	key <AE12> {[ equal, plus, U106E ]};
78
79	key <AD01> {[ U1006, U103D, U1066, U1067 ]};
80	key <AD02> {[ U1010, U107D, U1071, U1072 ]};
81	key <AD03> {[ U1014, U108F, U1077, U1096 ]};
82	key <AD04> {[ U1019, U107D, U107C ]};
83	key <AD05> {[ U1021, U108A, U1024 ]};
84	key <AD06> {[ U1015, U1094, U1078, U104C ]};
85	key <AD07> {[ U1000, U1095, U1060, U1009 ]};
86	key <AD08> {[ U1004, U1088, U104D, U106A ]};
87	key <AD09> {[ U101E, U1025, U1086 ]};
88	key <AD10> {[ U1005, U100F, U1065, U1070 ]};
89	key <AD11> {[ U101F, U1027 ]};
90	key <AD12> {[ U104F, U1092 ]};
91
92	key <AC01> {[ U1031, U1017, U1008, U107A ]};
93	key <AC02> {[ U103A, U103D ]};
94	key <AC03> {[ U102D, U102E, U108E, U108C ]};
95	key <AC04> {[ U1039, U1064 ]};
96	key <AC05> {[ U102B, U103C ]};
97	key <AC06> {[ U1037, U1036 ]};
98	key <AC07> {[ U103B, U1032, U1083, U1084 ]};
99	key <AC08> {[ U102F, U1033, U1089 ]};
100	key <AC09> {[ U1030, U1034, U108D, U108B ]};
101	key <AC10> {[ U1038, U105A ]};
102	key <AC11> {[ U1012, U1013, U1075, U1076 ]};
103	key <BKSL> {[ U104F, U1092 ]};
104
105	key <AB01> {[ U1016, U1007, U1079, U1068 ]};
106	key <AB02> {[ U1011, U100C, U1073, U1074 ]};
107	key <AB03> {[ U1001, U1003, U1061, U1063 ]};
108	key <AB04> {[ U101C, U1020, U1085 ]};
109	key <AB05> {[ U1018, U1080, U1093 ]};
110	key <AB06> {[ U100A, U107F, U106B, U1069 ]};
111	key <AB07> {[ U102C, U107E, U1081, U1082 ]};
112	key <AB08> {[ U101A, U101D ]};
113	key <AB09> {[ period, U1008 ]};
114	key <AB10> {[ U104B, U104A ]};
115
116	include "level3(ralt_switch)"
117};
118
119// This fragment creates the "Tilde key" phenomenon.
120partial modifier_keys
121xkb_symbols "tilde_latch" {
122	key <TLDE> { symbols[Group1] = [ ISO_Level3_Latch,  asciitilde,  grave ] };
123	modifier_map Mod5  { ISO_Level3_Latch };
124};
125
126
127partial alphanumeric_keys
128xkb_symbols "mnw" {
129    name[Group1]= "Mon";
130
131    key <TLDE> {[    U105D,      U100E,        grave,  asciitilde  ]};
132    key <AE01> {[    U1041,      U100D,            1,      exclam  ]};
133    key <AE02> {[    U1042,      U1052,            2,          at  ]};
134    key <AE03> {[    U1043,      U100B,            3,  numbersign  ]};
135    key <AE04> {[    U1044,      U1053,            4,      dollar  ]};
136    key <AE05> {[    U1045,    percent,            5,     percent  ]};
137    key <AE06> {[    U1046,      U1035,            6, asciicircum  ]};
138    key <AE07> {[    U1047,      U101B,            7,   ampersand  ]};
139    key <AE08> {[    U1048,      U1002,            8,    asterisk  ]};
140    key <AE09> {[    U1049,  parenleft,            9,   parenleft  ]};
141    key <AE10> {[    U1040, parenright,            0,  parenright  ]};
142    key <AE11> {[    minus,   multiply,   underscore,        none  ]};
143    key <AE12> {[    equal,       plus,     division,        none  ]};
144
145    key <AD01> {[    U1006,      U105B,            q,           Q  ]};
146    key <AD02> {[    U1010,      U101D,            w,           W  ]};
147    key <AD03> {[    U1014,      U1023,            e,           E  ]};
148    key <AD04> {[    U1019,      U105F,            r,           R  ]};
149    key <AD05> {[    U1021,      U1033,            t,           T  ]};
150    key <AD06> {[    U1015,      U1060,            y,           Y  ]};
151    key <AD07> {[    U1000,      U1025,            u,           U  ]};
152    key <AD08> {[    U105A,      U104E,            i,           I  ]};
153    key <AD09> {[    U101E,      U103F,            o,           O  ]};
154    key <AD10> {[    U1005,      U100F,            p,           P  ]};
155    key <AD11> {[    U101F,      U1028,  bracketleft,   braceleft  ]};
156    key <AD12> {[    U1029,      slash, bracketright,  braceright  ]};
157
158    key <AC01> {[    U1031,      U1017,            a,           A  ]};
159    key <AC02> {[    U103B,      U103E,            s,           S  ]};
160    key <AC03> {[    U102D,      U102E,            d,           D  ]};
161    key <AC04> {[    U103A,      U1039,            f,           F  ]};
162    key <AC05> {[    U102B,      U103D,            g,           G  ]};
163    key <AC06> {[    U1034,      U1036,            h,           H  ]};
164    key <AC07> {[    U103C,      U1032,            j,           J  ]};
165    key <AC08> {[    U102F,      U1012,            k,           K  ]};
166    key <AC09> {[    U1030,      U1013,            l,           L  ]};
167    key <AC10> {[    U1038,      colon,    semicolon,       colon  ]};
168    key <AC11> {[ apostrophe, quotedbl                             ]};
169    key <BKSL> {[    U1051,        bar,    backslash,         bar  ]};
170
171    key <AB01> {[    U1016,       U1007,           z,           Z  ]};
172    key <AB02> {[    U1011,       U100C,           x,           X  ]};
173    key <AB03> {[    U1001,       U1003,           c,           C  ]};
174    key <AB04> {[    U101C,       U1020,           v,           V  ]};
175    key <AB05> {[    U1018,       U1050,           b,           B  ]};
176    key <AB06> {[    U100A,       U1009,           n,           N  ]};
177    key <AB07> {[    U102C,       U1054,           m,           M  ]};
178    key <AB08> {[    U101A,       U105E,       comma,        less  ]};
179    key <AB09> {[    U105C,       U1055,      period,     greater  ]};
180    key <AB10> {[    U104B,       U104A,       slash,    question  ]};
181};
182
183
184// Mon A1 layout, by Tao Mon Lae, (tamonlae@gmail.com), 12-August-2021
185
186partial alphanumeric_keys
187xkb_symbols "mnw-a1" {
188    name[Group1]= "Mon (A1)";
189
190    key <TLDE> {[    grave, asciitilde  ]};
191    key <AE01> {[    U1041,     exclam  ]};
192    key <AE02> {[    U1042,         at  ]};
193    key <AE03> {[    U1043,      U1053  ]};
194    key <AE04> {[    U1044,      U1029  ]};
195    key <AE05> {[    U1045,    percent  ]};
196    key <AE06> {[    U1046,      U1050  ]};
197    key <AE07> {[    U1047,      U1051  ]};
198    key <AE08> {[    U1048,   asterisk  ]};
199    key <AE09> {[    U1049,  parenleft  ]};
200    key <AE10> {[    U1040, parenright  ]};
201    key <AE11> {[    minus, underscore  ]};
202    key <AE12> {[    equal,       plus  ]};
203
204    key <AD01> {[    U101E,      U103F  ]};
205    key <AD02> {[    U101D,      U103D  ]};
206    key <AD03> {[    U1031,      U1035  ]};
207    key <AD04> {[    U101B,      U103C  ]};
208    key <AD05> {[    U1010,      U1011  ]};
209    key <AD06> {[    U101A,      U103B  ]};
210    key <AD07> {[    U102F,      U1030  ]};
211    key <AD08> {[    U102D,      U1033  ]};
212    key <AD09> {[    U1032,      U1034  ]};
213    key <AD10> {[    U1015,      U100F  ]};
214    key <AD11> {[    U100D,      U1028  ]};
215    key <AD12> {[    U100E,      U1054  ]};
216
217    key <AC01> {[    U1021,      U1023  ]};
218    key <AC02> {[    U1005,      U1006  ]};
219    key <AC03> {[    U1012,      U1013  ]};
220    key <AC04> {[    U1016,      U1039  ]};
221    key <AC05> {[    U1002,      U1003  ]};
222    key <AC06> {[    U101F,      U103E  ]};
223    key <AC07> {[    U103A,      U102E  ]};
224    key <AC08> {[    U1000,      U1001  ]};
225    key <AC09> {[    U101C,      U1060  ]};
226    key <AC10> {[    U1025,      U1020  ]};
227    key <AC11> {[ apostrophe, quotedbl  ]};
228    key <BKSL> {[    U105C,      U105D  ]};
229
230    key <AB01> {[    U1007,      U105B  ]};
231    key <AB02> {[    U100B,      U100C  ]};
232    key <AB03> {[    U105A,      U104E  ]};
233    key <AB04> {[    U100A,      U1009  ]};
234    key <AB05> {[    U1017,      U1018  ]};
235    key <AB06> {[    U1014,      U105E  ]};
236    key <AB07> {[    U1019,      U105F  ]};
237    key <AB08> {[    U1036,      U1038  ]};
238    key <AB09> {[    U102C,      U102B  ]};
239    key <AB10> {[    U104A,      U104B  ]};
240};
241
242
243partial alphanumeric_keys
244xkb_symbols "shn" {
245    name[Group1]= "Shan";
246
247    key <TLDE> {[      grave,  asciitilde  ]};
248    key <AE01> {[          1,      exclam  ]};
249    key <AE02> {[          2,          at  ]};
250    key <AE03> {[          3,  numbersign  ]};
251    key <AE04> {[          4,      dollar  ]};
252    key <AE05> {[          5,     percent  ]};
253    key <AE06> {[          6, asciicircum  ]};
254    key <AE07> {[          7,   ampersand  ]};
255    key <AE08> {[          8,    asterisk  ]};
256    key <AE09> {[          9,   parenleft  ]};
257    key <AE10> {[          0,  parenright  ]};
258    key <AE11> {[      minus,  underscore  ]};
259    key <AE12> {[      equal,        plus  ]};
260
261    key <AD01> {[      U1078,      UAA61,          q,       Q  ]};
262    key <AD02> {[      U1010,      U107B,          w,       W  ]};
263    key <AD03> {[      U107C,      UA9E3,          e,       E  ]};
264    key <AD04> {[      U1019,      U109E,          r,       R  ]};
265    key <AD05> {[      U1022,      U103C,          t,       T  ]};
266    key <AD06> {[      U1015,      U107F,          y,       Y  ]};
267    key <AD07> {[      U1075,      U1077,          u,       U  ]};
268    key <AD08> {[      U1004,      U101B,          i,       I  ]};
269    key <AD09> {[      U101D,      U101E,          o,       O  ]};
270    key <AD10> {[      U1081,      U1080,          p,       P  ]};
271    key <AD11> {[  bracketleft,  braceleft                     ]};
272    key <AD12> {[ bracketright, braceright                     ]};
273
274    key <AC01> {[      U1031,      U1035,          a,       A  ]};
275    key <AC02> {[      U1084,      U1085,          s,       S  ]};
276    key <AC03> {[      U102D,      U102E,          d,       D  ]};
277    key <AC04> {[      U103A,      U1082,          f,       F  ]};
278    key <AC05> {[      U103D,      U1082,          g,       G  ]};
279    key <AC06> {[      U1089,      U1037,          h,       H  ]};
280    key <AC07> {[      U1087,      U1086,          j,       J  ]};
281    key <AC08> {[      U102F,      U1012,          k,       K  ]};
282    key <AC09> {[      U1030,      U108A,          l,       L  ]};
283    key <AC10> {[      U1088,      U1038,  semicolon,   colon  ]};
284    key <AC11> {[ apostrophe,    quotedbl                      ]};
285    key <BKSL> {[  backslash,         bar                      ]};
286
287    key <AB01> {[      U107D,       U107E,         z,       Z  ]};
288    key <AB02> {[      U1011,       UAA6A,         x,       X  ]};
289    key <AB03> {[      U1076,       UA9E0,         c,       C  ]};
290    key <AB04> {[      U101C,       UAA6E,         v,       V  ]};
291    key <AB05> {[      U101A,       U103B,         b,       B  ]};
292    key <AB06> {[      U107A,       U109F,         n,       N  ]};
293    key <AB07> {[      U1062,       U1083,         m,       M  ]};
294    key <AB08> {[      comma,       U104A,     comma,    less  ]};
295    key <AB09> {[     period,       U104B,    period, greater  ]};
296    key <AB10> {[      slash,    question                      ]};
297};
298
299
300partial alphanumeric_keys
301xkb_symbols "zgt" {
302
303	name[Group1]="Shan (Zawgyi Tai)";
304
305	include "mm(tilde_latch)"
306
307	key <AE01> {[  U1041,       U100D,    U100E,    U106F  ]};
308	key <AE02> {[  U1042,       U1091,    U106D            ]};
309	key <AE03> {[  U1043,       U100B,    U106C            ]};
310	key <AE04> {[  U1044,      dollar,    U104E,    U1023  ]};
311	key <AE05> {[  U1045,     percent,    U1029,    U102A  ]};
312	key <AE06> {[  U1046, asciicircum                      ]};
313	key <AE07> {[  U1047,       U101B,    U1090            ]};
314	key <AE08> {[  U1048,       U1002,    U1062            ]};
315	key <AE09> {[  U1049,   parenleft,    U1026            ]};
316	key <AE10> {[  U1040,  parenright                      ]};
317	key <AE11> {[  minus,  underscore,    U1097            ]};
318	key <AE12> {[  equal,        plus,    U106E            ]};
319
320	key <AD01> {[  U1006,       U103D,    U1066,    U1067  ]};
321	key <AD02> {[  U1010,       U107D,    U1071,    U1072  ]};
322	key <AD03> {[  U1014,       U108F,    U1077,    U1096  ]};
323	key <AD04> {[  U1019,       U107D,    U107C            ]};
324	key <AD05> {[  U1021,       U108A,    U1024            ]};
325	key <AD06> {[  U1015,       U1094,    U1078,    U104C  ]};
326	key <AD07> {[  U1000,       U1095,    U1060,    U1009  ]};
327	key <AD08> {[  U1004,       U1088,    U104D,    U106A  ]};
328	key <AD09> {[  U101E,       U1025,    U1086            ]};
329	key <AD10> {[  U1005,       U100F,    U1065,    U1070  ]};
330	key <AD11> {[  U101F,       U1027                      ]};
331	key <AD12> {[  U104F,       U1092                      ]};
332
333	key <AC01> {[  U1031,       U1017,    U1008,    U107A  ]};
334	key <AC02> {[  U103A,       U103D                      ]};
335	key <AC03> {[  U102D,       U102E,    U108E,    U108C  ]};
336	key <AC04> {[  U1039,       U1064                      ]};
337	key <AC05> {[  U102B,       U103C                      ]};
338	key <AC06> {[  U1037,       U1036                      ]};
339	key <AC07> {[  U103B,       U1032,    U1083,    U1084  ]};
340	key <AC08> {[  U102F,       U1033,    U1089            ]};
341	key <AC09> {[  U1030,       U1034,    U108D,    U108B  ]};
342	key <AC10> {[  U1038,       U105A                      ]};
343	key <AC11> {[  U1012,       U1013,    U1075,    U1076  ]};
344	key <BKSL> {[  U104F,       U1092                      ]};
345
346	key <AB01> {[  U1016,       U1007,    U1079,    U1068  ]};
347	key <AB02> {[  U1011,       U100C,    U1073,    U1074  ]};
348	key <AB03> {[  U1001,       U1003,    U1061,    U1063  ]};
349	key <AB04> {[  U101C,       U1020,    U1085            ]};
350	key <AB05> {[  U1018,       U1080,    U1093            ]};
351	key <AB06> {[  U100A,       U107F,    U106B,    U1069  ]};
352	key <AB07> {[  U102C,       U107E,    U1081,    U1082  ]};
353	key <AB08> {[  U101A,       U101D                      ]};
354	key <AB09> {[ period,       U1008                      ]};
355	key <AB10> {[  U104B,       U104A                      ]};
356
357	include "level3(ralt_switch)"
358};
359
360