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