// // 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_' // partial default alphanumeric_keys xkb_symbols "basic" { name[Group1]= "Khmer (Cambodia)"; // there are four levels defined: // // normal shift right-alt right-alt + shift // // keys: `1234567890-=\ key { [ guillemotleft, guillemotright, 0x100200d, voidsymbol ] }; key { [ 0x10017e1, exclam, 0x100200c, 0x10017f1 ] }; key { [ 0x10017e2, 0x10017d7, at, 0x10017f2 ] }; key { [ 0x10017e3, quotedbl, 0x10017d1, 0x10017f3 ] }; key { [ 0x10017e4, 0x10017db, dollar, 0x10017f4 ] }; key { [ 0x10017e5, percent, EuroSign, 0x10017f5 ] }; key { [ 0x10017e6, 0x10017cd, 0x10017d9, 0x10017f6 ] }; key { [ 0x10017e7, 0x10017d0, 0x10017da, 0x10017f7 ] }; key { [ 0x10017e8, 0x10017cf, asterisk, 0x10017f8 ] }; key { [ 0x10017e9, parenleft, braceleft, 0x10017f9 ] }; key { [ 0x10017e0, parenright, braceright, 0x10017f0 ] }; key { [ 0x10017a5, 0x10017cc, x, voidsymbol ] }; key { [ 0x10017b2, equal, 0x10017ce, voidsymbol ] }; key { [ 0x10017ae, 0x10017ad, backslash, voidsymbol ] }; // keys: qwertyuiop[] key { [ 0x1001786, 0x1001788, 0x10017dc, 0x10019e0 ] }; key { [ 0x10017b9, 0x10017ba, 0x10017dd, 0x10019e1 ] }; key { [ 0x10017c1, 0x10017c2, 0x10017af, 0x10019e2 ] }; key { [ 0x100179a, 0x10017ac, 0x10017ab, 0x10019e3 ] }; key { [ 0x100178f, 0x1001791, 0x10017a8, 0x10019e4 ] }; key { [ 0x1001799, 0x10017bd, voidsymbol, 0x10019e5 ] }; key { [ 0x10017bb, 0x10017bc, voidsymbol, 0x10019e6 ] }; key { [ 0x10017b7, 0x10017b8, 0x10017a6, 0x10019e7 ] }; key { [ 0x10017c4, 0x10017c5, 0x10017b1, 0x10019e8 ] }; key { [ 0x1001795, 0x1001797, 0x10017b0, 0x10019e9 ] }; key { [ 0x10017c0, 0x10017bf, 0x10017a9, 0x10019ea ] }; key { [ 0x10017aa, 0x10017a7, 0x10017b3, 0x10019eb ] }; // keys: asdfghjkl;' key { [ 0x10017b6, 0x10017ff, voidsymbol, 0x10019ec ] }; key { [ 0x100179f, 0x10017c3, voidsymbol, 0x10019ed ] }; key { [ 0x100178a, 0x100178c, voidsymbol, 0x10019ee ] }; key { [ 0x1001790, 0x1001792, voidsymbol, 0x10019ef ] }; key { [ 0x1001784, 0x10017a2, voidsymbol, 0x10019f0 ] }; key { [ 0x10017a0, 0x10017c7, voidsymbol, 0x10019f1 ] }; key { [ 0x10017d2, 0x1001789, voidsymbol, 0x10019f2 ] }; key { [ 0x1001780, 0x1001782, 0x100179d, 0x10019f3 ] }; key { [ 0x100179b, 0x10017a1, voidsymbol, 0x10019f4 ] }; key { [ 0x10017be, 0x10017fe, 0x10017d6, 0x10019f5 ] }; key { [ 0x10017cb, 0x10017c9, 0x10017c8, 0x10019f6 ] }; // keys: zxcvbnm,./ key { [ 0x100178b, 0x100178d, voidsymbol, 0x10019f7 ] }; key { [ 0x1001781, 0x1001783, voidsymbol, 0x10019f8 ] }; key { [ 0x1001785, 0x1001787, voidsymbol, 0x10019f9 ] }; key { [ 0x100179c, 0x10017fd, voidsymbol, 0x10019fa ] }; key { [ 0x1001794, 0x1001796, 0x100179e, 0x10019fb ] }; key { [ 0x1001793, 0x100178e, voidsymbol, 0x10019fc ] }; key { [ 0x1001798, 0x10017c6, voidsymbol, 0x10019fd ] }; key { [ 0x10017fc, 0x10017fb, comma, 0x10019fe ] }; key { [ 0x10017d4, 0x10017d5, period, 0x10019ff ] }; key { [ 0x10017ca, question, slash, voidsymbol ] }; key { [ 0x100200b, space, 0x10000a0, voidsymbol ] }; key { [ 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 { [ 0x10017be, 0x10017c8, 0x10017d6, 0x10019f5 ] }; key { [ 0x10017e1, 0x100200c, exclam, 0x10017f1 ] }; key { [ 0x10017e3, 0x10017d1, quotedbl, 0x10017f3 ] }; key { [ 0x10017e5, EuroSign, percent, 0x10017f5 ] }; key { [ 0x10017b2, 0x10017ce, equal, voidsymbol ] }; //language key include "group(olpc)" };