3 // khmer unicode keyboard for XFree86 4.3 or XOrg
4 // (might work with older versions, not tested)
6 // layout defined by National Information Communications Technology Development Authority (NiDA)
7 // http://www.nida.gov.kh
13 // author: Jens Herden (jens at khmeros.info)
16 // understanding the symbols:
18 // 0x100yyyy = unicode, yyyy is hexcode
19 // codes that are not assigned in unicode (0x10017fb-0x10017ff),
20 // are used to make compositions for special vowels
22 // voidsymbol = no symbol for this combination
24 // all other symbol are defined in: /usr/X11/include/X11/keysymdef.h
25 // but with a leading 'XK_'
28 partial default alphanumeric_keys
30 name[Group1]= "Cambodia";
32 // there are four levels defined:
34 // normal shift right-alt right-alt + shift
37 // keys: `1234567890-=\
38 key <TLDE> { [ guillemotleft, guillemotright, 0x100200d, voidsymbol ] };
39 key <AE01> { [ 0x10017e1, exclam, 0x100200c, 0x10017f1 ] };
40 key <AE02> { [ 0x10017e2, 0x10017d7, at, 0x10017f2 ] };
41 key <AE03> { [ 0x10017e3, quotedbl, 0x10017d1, 0x10017f3 ] };
42 key <AE04> { [ 0x10017e4, 0x10017db, dollar, 0x10017f4 ] };
43 key <AE05> { [ 0x10017e5, percent, EuroSign, 0x10017f5 ] };
44 key <AE06> { [ 0x10017e6, 0x10017cd, 0x10017d9, 0x10017f6 ] };
45 key <AE07> { [ 0x10017e7, 0x10017d0, 0x10017da, 0x10017f7 ] };
46 key <AE08> { [ 0x10017e8, 0x10017cf, asterisk, 0x10017f8 ] };
47 key <AE09> { [ 0x10017e9, parenleft, braceleft, 0x10017f9 ] };
48 key <AE10> { [ 0x10017e0, parenright, braceright, 0x10017f0 ] };
49 key <AE11> { [ 0x10017a5, 0x10017cc, x, voidsymbol ] };
50 key <AE12> { [ 0x10017b2, equal, 0x10017ce, voidsymbol ] };
51 key <BKSL> { [ 0x10017ae, 0x10017ad, backslash, voidsymbol ] };
54 key <AD01> { [ 0x1001786, 0x1001788, 0x10017dc, 0x10019e0 ] };
55 key <AD02> { [ 0x10017b9, 0x10017ba, 0x10017dd, 0x10019e1 ] };
56 key <AD03> { [ 0x10017c1, 0x10017c2, 0x10017af, 0x10019e2 ] };
57 key <AD04> { [ 0x100179a, 0x10017ac, 0x10017ab, 0x10019e3 ] };
58 key <AD05> { [ 0x100178f, 0x1001791, 0x10017a8, 0x10019e4 ] };
59 key <AD06> { [ 0x1001799, 0x10017bd, voidsymbol, 0x10019e5 ] };
60 key <AD07> { [ 0x10017bb, 0x10017bc, voidsymbol, 0x10019e6 ] };
61 key <AD08> { [ 0x10017b7, 0x10017b8, 0x10017a6, 0x10019e7 ] };
62 key <AD09> { [ 0x10017c4, 0x10017c5, 0x10017b1, 0x10019e8 ] };
63 key <AD10> { [ 0x1001795, 0x1001797, 0x10017b0, 0x10019e9 ] };
64 key <AD11> { [ 0x10017c0, 0x10017bf, 0x10017a9, 0x10019ea ] };
65 key <AD12> { [ 0x10017aa, 0x10017a7, 0x10017b3, 0x10019eb ] };
68 key <AC01> { [ 0x10017b6, 0x10017ff, voidsymbol, 0x10019ec ] };
69 key <AC02> { [ 0x100179f, 0x10017c3, voidsymbol, 0x10019ed ] };
70 key <AC03> { [ 0x100178a, 0x100178c, voidsymbol, 0x10019ee ] };
71 key <AC04> { [ 0x1001790, 0x1001792, voidsymbol, 0x10019ef ] };
72 key <AC05> { [ 0x1001784, 0x10017a2, voidsymbol, 0x10019f0 ] };
73 key <AC06> { [ 0x10017a0, 0x10017c7, voidsymbol, 0x10019f1 ] };
74 key <AC07> { [ 0x10017d2, 0x1001789, voidsymbol, 0x10019f2 ] };
75 key <AC08> { [ 0x1001780, 0x1001782, 0x100179d, 0x10019f3 ] };
76 key <AC09> { [ 0x100179b, 0x10017a1, voidsymbol, 0x10019f4 ] };
77 key <AC10> { [ 0x10017be, 0x10017fe, 0x10017d6, 0x10019f5 ] };
78 key <AC11> { [ 0x10017cb, 0x10017c9, 0x10017c8, 0x10019f6 ] };
81 key <AB01> { [ 0x100178b, 0x100178d, voidsymbol, 0x10019f7 ] };
82 key <AB02> { [ 0x1001781, 0x1001783, voidsymbol, 0x10019f8 ] };
83 key <AB03> { [ 0x1001785, 0x1001787, voidsymbol, 0x10019f9 ] };
84 key <AB04> { [ 0x100179c, 0x10017fd, voidsymbol, 0x10019fa ] };
85 key <AB05> { [ 0x1001794, 0x1001796, 0x100179e, 0x10019fb ] };
86 key <AB06> { [ 0x1001793, 0x100178e, voidsymbol, 0x10019fc ] };
87 key <AB07> { [ 0x1001798, 0x10017c6, voidsymbol, 0x10019fd ] };
88 key <AB08> { [ 0x10017fc, 0x10017fb, comma, 0x10019fe ] };
89 key <AB09> { [ 0x10017d4, 0x10017d5, period, 0x10019ff ] };
90 key <AB10> { [ 0x10017ca, question, slash, voidsymbol ] };
92 key <SPCE> { [ 0x100200b, space, 0x10000a0, voidsymbol ] };
93 key <RALT> { [ Alt_R ] };
95 // third level with right-Alt
96 include "level3(ralt_switch)"