summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRan Benita <ran234@gmail.com>2013-02-25 12:03:06 +0200
committerDaniel Stone <daniel@fooishbar.org>2013-03-18 22:20:03 +0000
commite95dac76f2fd795356eabb50ad02aafc1f82770a (patch)
tree030d792de3b36869ab2c8fa258f4089797f3443a
parent9842b7a58ad786670b43b3d70b9ba5e5ec7bcdc6 (diff)
keymap-dump: don't indent after xkb_keymap {
xkbcomp doesn't indent there, so it's easier to diff. Also saves some horizontal space which is sorely needed when looking at these files (especially the xkb_symbols). Signed-off-by: Ran Benita <ran234@gmail.com>
-rw-r--r--src/keymap-dump.c100
-rw-r--r--test/data/keymaps/stringcomp.data3812
2 files changed, 1956 insertions, 1956 deletions
diff --git a/src/keymap-dump.c b/src/keymap-dump.c
index 3b31d6a..380980b 100644
--- a/src/keymap-dump.c
+++ b/src/keymap-dump.c
@@ -131,7 +131,7 @@ write_vmods(struct xkb_keymap *keymap, struct buf *buf)
continue;
if (num_vmods == 0)
- write_buf(buf, "\t\tvirtual_modifiers ");
+ write_buf(buf, "\tvirtual_modifiers ");
else
write_buf(buf, ",");
write_buf(buf, "%s", xkb_atom_text(keymap->ctx, mod->name));
@@ -153,31 +153,31 @@ write_keycodes(struct xkb_keymap *keymap, struct buf *buf)
const struct xkb_led *led;
if (keymap->keycodes_section_name)
- write_buf(buf, "\txkb_keycodes \"%s\" {\n",
+ write_buf(buf, "xkb_keycodes \"%s\" {\n",
keymap->keycodes_section_name);
else
- write_buf(buf, "\txkb_keycodes {\n");
+ write_buf(buf, "xkb_keycodes {\n");
xkb_foreach_key(key, keymap) {
if (key->name == XKB_ATOM_NONE)
continue;
- write_buf(buf, "\t\t%-20s = %d;\n",
+ write_buf(buf, "\t%-20s = %d;\n",
KeyNameText(keymap->ctx, key->name), key->keycode);
}
darray_enumerate(i, led, keymap->leds)
if (led->name != XKB_ATOM_NONE)
- write_buf(buf, "\t\tindicator %d = \"%s\";\n",
+ write_buf(buf, "\tindicator %d = \"%s\";\n",
i + 1, xkb_atom_text(keymap->ctx, led->name));
darray_foreach(alias, keymap->key_aliases)
- write_buf(buf, "\t\talias %-14s = %s;\n",
+ write_buf(buf, "\talias %-14s = %s;\n",
KeyNameText(keymap->ctx, alias->alias),
KeyNameText(keymap->ctx, alias->real));
- write_buf(buf, "\t};\n\n");
+ write_buf(buf, "};\n\n");
return true;
}
@@ -185,20 +185,20 @@ static bool
write_types(struct xkb_keymap *keymap, struct buf *buf)
{
if (keymap->types_section_name)
- write_buf(buf, "\txkb_types \"%s\" {\n\n",
+ write_buf(buf, "xkb_types \"%s\" {\n\n",
keymap->types_section_name);
else
- write_buf(buf, "\txkb_types {\n\n");
+ write_buf(buf, "xkb_types {\n\n");
write_vmods(keymap, buf);
for (unsigned i = 0; i < keymap->num_types; i++) {
const struct xkb_key_type *type = &keymap->types[i];
- write_buf(buf, "\t\ttype \"%s\" {\n",
+ write_buf(buf, "\ttype \"%s\" {\n",
xkb_atom_text(keymap->ctx, type->name));
- write_buf(buf, "\t\t\tmodifiers= %s;\n",
+ write_buf(buf, "\t\tmodifiers= %s;\n",
ModMaskText(keymap, type->mods.mods));
for (unsigned j = 0; j < type->num_entries; j++) {
@@ -213,23 +213,23 @@ write_types(struct xkb_keymap *keymap, struct buf *buf)
continue;
str = ModMaskText(keymap, entry->mods.mods);
- write_buf(buf, "\t\t\tmap[%s]= Level%d;\n",
+ write_buf(buf, "\t\tmap[%s]= Level%d;\n",
str, entry->level + 1);
if (entry->preserve.mods)
- write_buf(buf, "\t\t\tpreserve[%s]= %s;\n",
+ write_buf(buf, "\t\tpreserve[%s]= %s;\n",
str, ModMaskText(keymap, entry->preserve.mods));
}
for (xkb_level_index_t n = 0; n < type->num_levels; n++)
if (type->level_names[n])
- write_buf(buf, "\t\t\tlevel_name[Level%d]= \"%s\";\n", n + 1,
+ write_buf(buf, "\t\tlevel_name[Level%d]= \"%s\";\n", n + 1,
xkb_atom_text(keymap->ctx, type->level_names[n]));
- write_buf(buf, "\t\t};\n");
+ write_buf(buf, "\t};\n");
}
- write_buf(buf, "\t};\n\n");
+ write_buf(buf, "};\n\n");
return true;
}
@@ -237,33 +237,33 @@ static bool
write_led_map(struct xkb_keymap *keymap, struct buf *buf,
const struct xkb_led *led)
{
- write_buf(buf, "\t\tindicator \"%s\" {\n",
+ write_buf(buf, "\tindicator \"%s\" {\n",
xkb_atom_text(keymap->ctx, led->name));
if (led->which_groups) {
if (led->which_groups != XKB_STATE_LAYOUT_EFFECTIVE) {
- write_buf(buf, "\t\t\twhichGroupState= %s;\n",
+ write_buf(buf, "\t\twhichGroupState= %s;\n",
LedStateText(keymap->ctx, led->which_groups));
}
- write_buf(buf, "\t\t\tgroups= 0x%02x;\n",
+ write_buf(buf, "\t\tgroups= 0x%02x;\n",
led->groups);
}
if (led->which_mods) {
if (led->which_mods != XKB_STATE_MODS_EFFECTIVE) {
- write_buf(buf, "\t\t\twhichModState= %s;\n",
+ write_buf(buf, "\t\twhichModState= %s;\n",
LedStateText(keymap->ctx, led->which_mods));
}
- write_buf(buf, "\t\t\tmodifiers= %s;\n",
+ write_buf(buf, "\t\tmodifiers= %s;\n",
ModMaskText(keymap, led->mods.mods));
}
if (led->ctrls) {
- write_buf(buf, "\t\t\tcontrols= %s;\n",
+ write_buf(buf, "\t\tcontrols= %s;\n",
ControlMaskText(keymap->ctx, led->ctrls));
}
- write_buf(buf, "\t\t};\n");
+ write_buf(buf, "\t};\n");
return true;
}
@@ -414,34 +414,34 @@ write_compat(struct xkb_keymap *keymap, struct buf *buf)
const struct xkb_led *led;
if (keymap->compat_section_name)
- write_buf(buf, "\txkb_compatibility \"%s\" {\n\n",
+ write_buf(buf, "xkb_compatibility \"%s\" {\n\n",
keymap->compat_section_name);
else
- write_buf(buf, "\txkb_compatibility {\n\n");
+ write_buf(buf, "xkb_compatibility {\n\n");
write_vmods(keymap, buf);
- write_buf(buf, "\t\tinterpret.useModMapMods= AnyLevel;\n");
- write_buf(buf, "\t\tinterpret.repeat= False;\n");
+ write_buf(buf, "\tinterpret.useModMapMods= AnyLevel;\n");
+ write_buf(buf, "\tinterpret.repeat= False;\n");
darray_foreach(si, keymap->sym_interprets) {
- write_buf(buf, "\t\tinterpret %s+%s(%s) {\n",
+ write_buf(buf, "\tinterpret %s+%s(%s) {\n",
si->sym ? KeysymText(keymap->ctx, si->sym) : "Any",
SIMatchText(si->match),
ModMaskText(keymap, si->mods));
if (si->virtual_mod != XKB_MOD_INVALID)
- write_buf(buf, "\t\t\tvirtualModifier= %s;\n",
+ write_buf(buf, "\t\tvirtualModifier= %s;\n",
ModIndexText(keymap, si->virtual_mod));
if (si->level_one_only)
- write_buf(buf, "\t\t\tuseModMapMods=level1;\n");
+ write_buf(buf, "\t\tuseModMapMods=level1;\n");
if (si->repeat)
- write_buf(buf, "\t\t\trepeat= True;\n");
+ write_buf(buf, "\t\trepeat= True;\n");
- write_action(keymap, buf, &si->action, "\t\t\taction= ", ";\n");
- write_buf(buf, "\t\t};\n");
+ write_action(keymap, buf, &si->action, "\t\taction= ", ";\n");
+ write_buf(buf, "\t};\n");
}
darray_foreach(led, keymap->leds)
@@ -449,7 +449,7 @@ write_compat(struct xkb_keymap *keymap, struct buf *buf)
led->mods.mods || led->ctrls)
write_led_map(keymap, buf, led);
- write_buf(buf, "\t};\n\n");
+ write_buf(buf, "};\n\n");
return true;
}
@@ -495,15 +495,15 @@ write_symbols(struct xkb_keymap *keymap, struct buf *buf)
xkb_layout_index_t group;
if (keymap->symbols_section_name)
- write_buf(buf, "\txkb_symbols \"%s\" {\n\n",
+ write_buf(buf, "xkb_symbols \"%s\" {\n\n",
keymap->symbols_section_name);
else
- write_buf(buf, "\txkb_symbols {\n\n");
+ write_buf(buf, "xkb_symbols {\n\n");
for (group = 0; group < keymap->num_group_names; group++)
if (keymap->group_names[group])
write_buf(buf,
- "\t\tname[group%d]=\"%s\";\n", group + 1,
+ "\tname[group%d]=\"%s\";\n", group + 1,
xkb_atom_text(keymap->ctx, keymap->group_names[group]));
if (group > 0)
write_buf(buf, "\n");
@@ -517,7 +517,7 @@ write_symbols(struct xkb_keymap *keymap, struct buf *buf)
if (key->num_groups == 0)
continue;
- write_buf(buf, "\t\tkey %-20s {", KeyNameText(keymap->ctx, key->name));
+ write_buf(buf, "\tkey %-20s {", KeyNameText(keymap->ctx, key->name));
for (group = 0; group < key->num_groups; group++) {
if (key->groups[group].explicit_type)
@@ -537,37 +537,37 @@ write_symbols(struct xkb_keymap *keymap, struct buf *buf)
continue;
type = key->groups[group].type;
- write_buf(buf, "\n\t\t\ttype[group%u]= \"%s\",",
+ write_buf(buf, "\n\t\ttype[group%u]= \"%s\",",
group + 1,
xkb_atom_text(keymap->ctx, type->name));
}
}
else {
type = key->groups[0].type;
- write_buf(buf, "\n\t\t\ttype= \"%s\",",
+ write_buf(buf, "\n\t\ttype= \"%s\",",
xkb_atom_text(keymap->ctx, type->name));
}
}
if (key->explicit & EXPLICIT_REPEAT) {
if (key->repeats)
- write_buf(buf, "\n\t\t\trepeat= Yes,");
+ write_buf(buf, "\n\t\trepeat= Yes,");
else
- write_buf(buf, "\n\t\t\trepeat= No,");
+ write_buf(buf, "\n\t\trepeat= No,");
simple = false;
}
if (key->vmodmap && (key->explicit & EXPLICIT_VMODMAP))
- write_buf(buf, "\n\t\t\tvirtualMods= %s,",
+ write_buf(buf, "\n\t\tvirtualMods= %s,",
ModMaskText(keymap, key->vmodmap));
switch (key->out_of_range_group_action) {
case RANGE_SATURATE:
- write_buf(buf, "\n\t\t\tgroupsClamp,");
+ write_buf(buf, "\n\t\tgroupsClamp,");
break;
case RANGE_REDIRECT:
- write_buf(buf, "\n\t\t\tgroupsRedirect= Group%u,",
+ write_buf(buf, "\n\t\tgroupsRedirect= Group%u,",
key->out_of_range_group_number + 1);
break;
@@ -592,12 +592,12 @@ write_symbols(struct xkb_keymap *keymap, struct buf *buf)
for (group = 0; group < key->num_groups; group++) {
if (group != 0)
write_buf(buf, ",");
- write_buf(buf, "\n\t\t\tsymbols[Group%u]= [ ", group + 1);
+ write_buf(buf, "\n\t\tsymbols[Group%u]= [ ", group + 1);
if (!write_keysyms(keymap, buf, key, group))
return false;
write_buf(buf, " ]");
if (show_actions) {
- write_buf(buf, ",\n\t\t\tactions[Group%u]= [ ", group + 1);
+ write_buf(buf, ",\n\t\tactions[Group%u]= [ ", group + 1);
for (level = 0;
level < XkbKeyGroupWidth(key, group); level++) {
if (level != 0)
@@ -609,7 +609,7 @@ write_symbols(struct xkb_keymap *keymap, struct buf *buf)
write_buf(buf, " ]");
}
}
- write_buf(buf, "\n\t\t};\n");
+ write_buf(buf, "\n\t};\n");
}
}
@@ -622,12 +622,12 @@ write_symbols(struct xkb_keymap *keymap, struct buf *buf)
darray_enumerate(i, mod, keymap->mods)
if (key->modmap & (1 << i))
- write_buf(buf, "\t\tmodifier_map %s { %s };\n",
+ write_buf(buf, "\tmodifier_map %s { %s };\n",
xkb_atom_text(keymap->ctx, mod->name),
KeyNameText(keymap->ctx, key->name));
}
- write_buf(buf, "\t};\n\n");
+ write_buf(buf, "};\n\n");
return true;
}
diff --git a/test/data/keymaps/stringcomp.data b/test/data/keymaps/stringcomp.data
index fb0c7f2..54e7099 100644
--- a/test/data/keymaps/stringcomp.data
+++ b/test/data/keymaps/stringcomp.data
@@ -1,1921 +1,1921 @@
xkb_keymap {
- xkb_keycodes "evdev_aliases(qwerty)" {
- <ESC> = 9;
- <AE01> = 10;
- <AE02> = 11;
- <AE03> = 12;
- <AE04> = 13;
- <AE05> = 14;
- <AE06> = 15;
- <AE07> = 16;
- <AE08> = 17;
- <AE09> = 18;
- <AE10> = 19;
- <AE11> = 20;
- <AE12> = 21;
- <BKSP> = 22;
- <TAB> = 23;
- <AD01> = 24;
- <AD02> = 25;
- <AD03> = 26;
- <AD04> = 27;
- <AD05> = 28;
- <AD06> = 29;
- <AD07> = 30;
- <AD08> = 31;
- <AD09> = 32;
- <AD10> = 33;
- <AD11> = 34;
- <AD12> = 35;
- <RTRN> = 36;
- <LCTL> = 37;
- <AC01> = 38;
- <AC02> = 39;
- <AC03> = 40;
- <AC04> = 41;
- <AC05> = 42;
- <AC06> = 43;
- <AC07> = 44;
- <AC08> = 45;
- <AC09> = 46;
- <AC10> = 47;
- <AC11> = 48;
- <TLDE> = 49;
- <LFSH> = 50;
- <BKSL> = 51;
- <AB01> = 52;
- <AB02> = 53;
- <AB03> = 54;
- <AB04> = 55;
- <AB05> = 56;
- <AB06> = 57;
- <AB07> = 58;
- <AB08> = 59;
- <AB09> = 60;
- <AB10> = 61;
- <RTSH> = 62;
- <KPMU> = 63;
- <LALT> = 64;
- <SPCE> = 65;
- <CAPS> = 66;
- <FK01> = 67;
- <FK02> = 68;
- <FK03> = 69;
- <FK04> = 70;
- <FK05> = 71;
- <FK06> = 72;
- <FK07> = 73;
- <FK08> = 74;
- <FK09> = 75;
- <FK10> = 76;
- <NMLK> = 77;
- <SCLK> = 78;
- <KP7> = 79;
- <KP8> = 80;
- <KP9> = 81;
- <KPSU> = 82;
- <KP4> = 83;
- <KP5> = 84;
- <KP6> = 85;
- <KPAD> = 86;
- <KP1> = 87;
- <KP2> = 88;
- <KP3> = 89;
- <KP0> = 90;
- <KPDL> = 91;
- <LVL3> = 92;
- <LSGT> = 94;
- <FK11> = 95;
- <FK12> = 96;
- <AB11> = 97;
- <KATA> = 98;
- <HIRA> = 99;
- <HENK> = 100;
- <HKTG> = 101;
- <MUHE> = 102;
- <JPCM> = 103;
- <KPEN> = 104;
- <RCTL> = 105;
- <KPDV> = 106;
- <PRSC> = 107;
- <RALT> = 108;
- <LNFD> = 109;
- <HOME> = 110;
- <UP> = 111;
- <PGUP> = 112;
- <LEFT> = 113;
- <RGHT> = 114;
- <END> = 115;
- <DOWN> = 116;
- <PGDN> = 117;
- <INS> = 118;
- <DELE> = 119;
- <I120> = 120;
- <MUTE> = 121;
- <VOL-> = 122;
- <VOL+> = 123;
- <POWR> = 124;
- <KPEQ> = 125;
- <I126> = 126;
- <PAUS> = 127;
- <I128> = 128;
- <I129> = 129;
- <HNGL> = 130;
- <HJCV> = 131;
- <AE13> = 132;
- <LWIN> = 133;
- <RWIN> = 134;
- <COMP> = 135;
- <STOP> = 136;
- <AGAI> = 137;
- <PROP> = 138;
- <UNDO> = 139;
- <FRNT> = 140;
- <COPY> = 141;
- <OPEN> = 142;
- <PAST> = 143;
- <FIND> = 144;
- <CUT> = 145;
- <HELP> = 146;
- <I147> = 147;
- <I148> = 148;
- <I149> = 149;
- <I150> = 150;
- <I151> = 151;
- <I152> = 152;
- <I153> = 153;
- <I154> = 154;
- <I155> = 155;
- <I156> = 156;
- <I157> = 157;
- <I158> = 158;
- <I159> = 159;
- <I160> = 160;
- <I161> = 161;
- <I162> = 162;
- <I163> = 163;
- <I164> = 164;
- <I165> = 165;
- <I166> = 166;
- <I167> = 167;
- <I168> = 168;
- <I169> = 169;
- <I170> = 170;
- <I171> = 171;
- <I172> = 172;
- <I173> = 173;
- <I174> = 174;
- <I175> = 175;
- <I176> = 176;
- <I177> = 177;
- <I178> = 178;
- <I179> = 179;
- <I180> = 180;
- <I181> = 181;
- <I182> = 182;
- <I183> = 183;
- <I184> = 184;
- <I185> = 185;
- <I186> = 186;
- <I187> = 187;
- <I188> = 188;
- <I189> = 189;
- <I190> = 190;
- <FK13> = 191;
- <FK14> = 192;
- <FK15> = 193;
- <FK16> = 194;
- <FK17> = 195;
- <FK18> = 196;
- <FK19> = 197;
- <FK20> = 198;
- <FK21> = 199;
- <FK22> = 200;
- <FK23> = 201;
- <FK24> = 202;
- <MDSW> = 203;
- <ALT> = 204;
- <META> = 205;
- <SUPR> = 206;
- <HYPR> = 207;
- <I208> = 208;
- <I209> = 209;
- <I210> = 210;
- <I211> = 211;
- <I212> = 212;
- <I213> = 213;
- <I214> = 214;
- <I215> = 215;
- <I216> = 216;
- <I217> = 217;
- <I218> = 218;
- <I219> = 219;
- <I220> = 220;
- <I221> = 221;
- <I222> = 222;
- <I223> = 223;
- <I224> = 224;
- <I225> = 225;
- <I226> = 226;
- <I227> = 227;
- <I228> = 228;
- <I229> = 229;
- <I230> = 230;
- <I231> = 231;
- <I232> = 232;
- <I233> = 233;
- <I234> = 234;
- <I235> = 235;
- <I236> = 236;
- <I237> = 237;
- <I238> = 238;
- <I239> = 239;
- <I240> = 240;
- <I241> = 241;
- <I242> = 242;
- <I243> = 243;
- <I244> = 244;
- <I245> = 245;
- <I246> = 246;
- <I247> = 247;
- <I248> = 248;
- <I249> = 249;
- <I250> = 250;
- <I251> = 251;
- <I252> = 252;
- <I253> = 253;
- indicator 1 = "Caps Lock";
- indicator 2 = "Num Lock";
- indicator 3 = "Scroll Lock";
- indicator 4 = "Compose";
- indicator 5 = "Kana";
- indicator 6 = "Sleep";
- indicator 7 = "Suspend";
- indicator 8 = "Mute";
- indicator 9 = "Misc";
- indicator 10 = "Mail";
- indicator 11 = "Charging";
- indicator 12 = "Shift Lock";
- indicator 13 = "Group 2";
- indicator 14 = "Mouse Keys";
- alias <AC12> = <BKSL>;
- alias <MENU> = <COMP>;
- alias <HZTG> = <TLDE>;
- alias <LMTA> = <LWIN>;
- alias <RMTA> = <RWIN>;
- alias <ALGR> = <RALT>;
- alias <KPPT> = <I129>;
- alias <LatQ> = <AD01>;
- alias <LatW> = <AD02>;
- alias <LatE> = <AD03>;
- alias <LatR> = <AD04>;
- alias <LatT> = <AD05>;
- alias <LatY> = <AD06>;
- alias <LatU> = <AD07>;
- alias <LatI> = <AD08>;
- alias <LatO> = <AD09>;
- alias <LatP> = <AD10>;
- alias <LatA> = <AC01>;
- alias <LatS> = <AC02>;
- alias <LatD> = <AC03>;
- alias <LatF> = <AC04>;
- alias <LatG> = <AC05>;
- alias <LatH> = <AC06>;
- alias <LatJ> = <AC07>;
- alias <LatK> = <AC08>;
- alias <LatL> = <AC09>;
- alias <LatZ> = <AB01>;
- alias <LatX> = <AB02>;
- alias <LatC> = <AB03>;
- alias <LatV> = <AB04>;
- alias <LatB> = <AB05>;
- alias <LatN> = <AB06>;
- alias <LatM> = <AB07>;
- };
+xkb_keycodes "evdev_aliases(qwerty)" {
+ <ESC> = 9;
+ <AE01> = 10;
+ <AE02> = 11;
+ <AE03> = 12;
+ <AE04> = 13;
+ <AE05> = 14;
+ <AE06> = 15;
+ <AE07> = 16;
+ <AE08> = 17;
+ <AE09> = 18;
+ <AE10> = 19;
+ <AE11> = 20;
+ <AE12> = 21;
+ <BKSP> = 22;
+ <TAB> = 23;
+ <AD01> = 24;
+ <AD02> = 25;
+ <AD03> = 26;
+ <AD04> = 27;
+ <AD05> = 28;
+ <AD06> = 29;
+ <AD07> = 30;
+ <AD08> = 31;
+ <AD09> = 32;
+ <AD10> = 33;
+ <AD11> = 34;
+ <AD12> = 35;
+ <RTRN> = 36;
+ <LCTL> = 37;
+ <AC01> = 38;
+ <AC02> = 39;
+ <AC03> = 40;
+ <AC04> = 41;
+ <AC05> = 42;
+ <AC06> = 43;
+ <AC07> = 44;
+ <AC08> = 45;
+ <AC09> = 46;
+ <AC10> = 47;
+ <AC11> = 48;
+ <TLDE> = 49;
+ <LFSH> = 50;
+ <BKSL> = 51;
+ <AB01> = 52;
+ <AB02> = 53;
+ <AB03> = 54;
+ <AB04> = 55;
+ <AB05> = 56;
+ <AB06> = 57;
+ <AB07> = 58;
+ <AB08> = 59;
+ <AB09> = 60;
+ <AB10> = 61;
+ <RTSH> = 62;
+ <KPMU> = 63;
+ <LALT> = 64;
+ <SPCE> = 65;
+ <CAPS> = 66;
+ <FK01> = 67;
+ <FK02> = 68;
+ <FK03> = 69;
+ <FK04> = 70;
+ <FK05> = 71;
+ <FK06> = 72;
+ <FK07> = 73;
+ <FK08> = 74;
+ <FK09> = 75;
+ <FK10> = 76;
+ <NMLK> = 77;
+ <SCLK> = 78;
+ <KP7> = 79;
+ <KP8> = 80;
+ <KP9> = 81;
+ <KPSU> = 82;
+ <KP4> = 83;
+ <KP5> = 84;
+ <KP6> = 85;
+ <KPAD> = 86;
+ <KP1> = 87;
+ <KP2> = 88;
+ <KP3> = 89;
+ <KP0> = 90;
+ <KPDL> = 91;
+ <LVL3> = 92;
+ <LSGT> = 94;
+ <FK11> = 95;
+ <FK12> = 96;
+ <AB11> = 97;
+ <KATA> = 98;
+ <HIRA> = 99;
+ <HENK> = 100;
+ <HKTG> = 101;
+ <MUHE> = 102;
+ <JPCM> = 103;
+ <KPEN> = 104;
+ <RCTL> = 105;
+ <KPDV> = 106;
+ <PRSC> = 107;
+ <RALT> = 108;
+ <LNFD> = 109;
+ <HOME> = 110;
+ <UP> = 111;
+ <PGUP> = 112;
+ <LEFT> = 113;
+ <RGHT> = 114;
+ <END> = 115;
+ <DOWN> = 116;
+ <PGDN> = 117;
+ <INS> = 118;
+ <DELE> = 119;
+ <I120> = 120;
+ <MUTE> = 121;
+ <VOL-> = 122;
+ <VOL+> = 123;
+ <POWR> = 124;
+ <KPEQ> = 125;
+ <I126> = 126;
+ <PAUS> = 127;
+ <I128> = 128;
+ <I129> = 129;
+ <HNGL> = 130;
+ <HJCV> = 131;
+ <AE13> = 132;
+ <LWIN> = 133;
+ <RWIN> = 134;
+ <COMP> = 135;
+ <STOP> = 136;
+ <AGAI> = 137;
+ <PROP> = 138;
+ <UNDO> = 139;
+ <FRNT> = 140;
+ <COPY> = 141;
+ <OPEN> = 142;
+ <PAST> = 143;
+ <FIND> = 144;
+ <CUT> = 145;
+ <HELP> = 146;
+ <I147> = 147;
+ <I148> = 148;
+ <I149> = 149;
+ <I150> = 150;
+ <I151> = 151;
+ <I152> = 152;
+ <I153> = 153;
+ <I154> = 154;
+ <I155> = 155;
+ <I156> = 156;
+ <I157> = 157;
+ <I158> = 158;
+ <I159> = 159;
+ <I160> = 160;
+ <I161> = 161;
+ <I162> = 162;
+ <I163> = 163;
+ <I164> = 164;
+ <I165> = 165;
+ <I166> = 166;
+ <I167> = 167;
+ <I168> = 168;
+ <I169> = 169;
+ <I170> = 170;
+ <I171> = 171;
+ <I172> = 172;
+ <I173> = 173;
+ <I174> = 174;
+ <I175> = 175;
+ <I176> = 176;
+ <I177> = 177;
+ <I178> = 178;
+ <I179> = 179;
+ <I180> = 180;
+ <I181> = 181;
+ <I182> = 182;
+ <I183> = 183;
+ <I184> = 184;
+ <I185> = 185;
+ <I186> = 186;
+ <I187> = 187;
+ <I188> = 188;
+ <I189> = 189;
+ <I190> = 190;
+ <FK13> = 191;
+ <FK14> = 192;
+ <FK15> = 193;
+ <FK16> = 194;
+ <FK17> = 195;
+ <FK18> = 196;
+ <FK19> = 197;
+ <FK20> = 198;
+ <FK21> = 199;
+ <FK22> = 200;
+ <FK23> = 201;
+ <FK24> = 202;
+ <MDSW> = 203;
+ <ALT> = 204;
+ <META> = 205;
+ <SUPR> = 206;
+ <HYPR> = 207;
+ <I208> = 208;
+ <I209> = 209;
+ <I210> = 210;
+ <I211> = 211;
+ <I212> = 212;
+ <I213> = 213;
+ <I214> = 214;
+ <I215> = 215;
+ <I216> = 216;
+ <I217> = 217;
+ <I218> = 218;
+ <I219> = 219;
+ <I220> = 220;
+ <I221> = 221;
+ <I222> = 222;
+ <I223> = 223;
+ <I224> = 224;
+ <I225> = 225;
+ <I226> = 226;
+ <I227> = 227;
+ <I228> = 228;
+ <I229> = 229;
+ <I230> = 230;
+ <I231> = 231;
+ <I232> = 232;
+ <I233> = 233;
+ <I234> = 234;
+ <I235> = 235;
+ <I236> = 236;
+ <I237> = 237;
+ <I238> = 238;
+ <I239> = 239;
+ <I240> = 240;
+ <I241> = 241;
+ <I242> = 242;
+ <I243> = 243;
+ <I244> = 244;
+ <I245> = 245;
+ <I246> = 246;
+ <I247> = 247;
+ <I248> = 248;
+ <I249> = 249;
+ <I250> = 250;
+ <I251> = 251;
+ <I252> = 252;
+ <I253> = 253;
+ indicator 1 = "Caps Lock";
+ indicator 2 = "Num Lock";
+ indicator 3 = "Scroll Lock";
+ indicator 4 = "Compose";
+ indicator 5 = "Kana";
+ indicator 6 = "Sleep";
+ indicator 7 = "Suspend";
+ indicator 8 = "Mute";
+ indicator 9 = "Misc";
+ indicator 10 = "Mail";
+ indicator 11 = "Charging";
+ indicator 12 = "Shift Lock";
+ indicator 13 = "Group 2";
+ indicator 14 = "Mouse Keys";
+ alias <AC12> = <BKSL>;
+ alias <MENU> = <COMP>;
+ alias <HZTG> = <TLDE>;
+ alias <LMTA> = <LWIN>;
+ alias <RMTA> = <RWIN>;
+ alias <ALGR> = <RALT>;
+ alias <KPPT> = <I129>;
+ alias <LatQ> = <AD01>;
+ alias <LatW> = <AD02>;
+ alias <LatE> = <AD03>;
+ alias <LatR> = <AD04>;
+ alias <LatT> = <AD05>;
+ alias <LatY> = <AD06>;
+ alias <LatU> = <AD07>;
+ alias <LatI> = <AD08>;
+ alias <LatO> = <AD09>;
+ alias <LatP> = <AD10>;
+ alias <LatA> = <AC01>;
+ alias <LatS> = <AC02>;
+ alias <LatD> = <AC03>;
+ alias <LatF> = <AC04>;
+ alias <LatG> = <AC05>;
+ alias <LatH> = <AC06>;
+ alias <LatJ> = <AC07>;
+ alias <LatK> = <AC08>;
+ alias <LatL> = <AC09>;
+ alias <LatZ> = <AB01>;
+ alias <LatX> = <AB02>;
+ alias <LatC> = <AB03>;
+ alias <LatV> = <AB04>;
+ alias <LatB> = <AB05>;
+ alias <LatN> = <AB06>;
+ alias <LatM> = <AB07>;
+};
- xkb_types "complete" {
+xkb_types "complete" {
- virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
+ virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
- type "ONE_LEVEL" {
- modifiers= none;
- level_name[Level1]= "Any";
- };
- type "TWO_LEVEL" {
- modifiers= Shift;
- map[Shift]= Level2;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- };
- type "ALPHABETIC" {
- modifiers= Shift+Lock;
- map[Shift]= Level2;
- map[Lock]= Level2;
- level_name[Level1]= "Base";
- level_name[Level2]= "Caps";
- };
- type "SHIFT+ALT" {
- modifiers= Shift+Alt;
- map[Shift+Alt]= Level2;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift+Alt";
- };
- type "PC_CONTROL_LEVEL2" {
- modifiers= Control;
- map[Control]= Level2;
- level_name[Level1]= "Base";
- level_name[Level2]= "Control";
- };
- type "PC_LCONTROL_LEVEL2" {
- modifiers= LControl;
- map[LControl]= Level2;
- level_name[Level1]= "Base";
- level_name[Level2]= "LControl";
- };
- type "PC_RCONTROL_LEVEL2" {
- modifiers= RControl;
- map[RControl]= Level2;
- level_name[Level1]= "Base";
- level_name[Level2]= "RControl";
- };
- type "PC_ALT_LEVEL2" {
- modifiers= Alt;
- map[Alt]= Level2;
- level_name[Level1]= "Base";
- level_name[Level2]= "Alt";
- };
- type "PC_LALT_LEVEL2" {
- modifiers= LAlt;
- map[LAlt]= Level2;
- level_name[Level1]= "Base";
- level_name[Level2]= "LAlt";
- };
- type "PC_RALT_LEVEL2" {
- modifiers= RAlt;
- map[RAlt]= Level2;
- level_name[Level1]= "Base";
- level_name[Level2]= "RAlt";
- };
- type "CTRL+ALT" {
- modifiers= Shift+Control+Alt+LevelThree;
- map[Shift]= Level2;
- map[LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- map[Control+Alt]= Level5;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- level_name[Level3]= "Alt Base";
- level_name[Level4]= "Shift Alt";
- level_name[Level5]= "Ctrl+Alt";
- };
- type "LOCAL_EIGHT_LEVEL" {
- modifiers= Shift+Lock+Control+LevelThree;
- map[Shift]= Level2;
- map[Lock]= Level2;
- map[LevelThree]= Level3;
- map[Shift+Lock+LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- map[Lock+LevelThree]= Level4;
- map[Control]= Level5;
- map[Shift+Lock+Control]= Level5;
- map[Shift+Control]= Level6;
- map[Lock+Control]= Level6;
- map[Control+LevelThree]= Level7;
- map[Shift+Lock+Control+LevelThree]= Level7;
- map[Shift+Control+LevelThree]= Level8;
- map[Lock+Control+LevelThree]= Level8;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- level_name[Level3]= "Level3";
- level_name[Level4]= "Shift Level3";
- level_name[Level5]= "Ctrl";
- level_name[Level6]= "Shift Ctrl";
- level_name[Level7]= "Level3 Ctrl";
- level_name[Level8]= "Shift Level3 Ctrl";
- };
- type "THREE_LEVEL" {
- modifiers= Shift+LevelThree;
- map[Shift]= Level2;
- map[LevelThree]= Level3;
- map[Shift+LevelThree]= Level3;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- level_name[Level3]= "Level3";
- };
- type "EIGHT_LEVEL" {
- modifiers= Shift+LevelThree+LevelFive;
- map[Shift]= Level2;
- map[LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- map[LevelFive]= Level5;
- map[Shift+LevelFive]= Level6;
- map[LevelThree+LevelFive]= Level7;
- map[Shift+LevelThree+LevelFive]= Level8;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- level_name[Level3]= "Alt Base";
- level_name[Level4]= "Shift Alt";
- level_name[Level5]= "X";
- level_name[Level6]= "X Shift";
- level_name[Level7]= "X Alt Base";
- level_name[Level8]= "X Shift Alt";
- };
- type "EIGHT_LEVEL_ALPHABETIC" {
- modifiers= Shift+Lock+LevelThree+LevelFive;
- map[Shift]= Level2;
- map[Lock]= Level2;
- map[LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- map[Lock+LevelThree]= Level4;
- map[Shift+Lock+LevelThree]= Level3;
- map[LevelFive]= Level5;
- map[Shift+LevelFive]= Level6;
- map[Lock+LevelFive]= Level6;
- map[LevelThree+LevelFive]= Level7;
- map[Shift+LevelThree+LevelFive]= Level8;
- map[Lock+LevelThree+LevelFive]= Level8;
- map[Shift+Lock+LevelThree+LevelFive]= Level7;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- level_name[Level3]= "Alt Base";
- level_name[Level4]= "Shift Alt";
- level_name[Level5]= "X";
- level_name[Level6]= "X Shift";
- level_name[Level7]= "X Alt Base";
- level_name[Level8]= "X Shift Alt";
- };
- type "EIGHT_LEVEL_SEMIALPHABETIC" {
- modifiers= Shift+Lock+LevelThree+LevelFive;
- map[Shift]= Level2;
- map[Lock]= Level2;
- map[LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- map[Lock+LevelThree]= Level3;
- preserve[Lock+LevelThree]= Lock;
- map[Shift+Lock+LevelThree]= Level4;
- preserve[Shift+Lock+LevelThree]= Lock;
- map[LevelFive]= Level5;
- map[Shift+LevelFive]= Level6;
- map[Lock+LevelFive]= Level6;
- preserve[Lock+LevelFive]= Lock;
- map[LevelThree+LevelFive]= Level7;
- map[Shift+LevelThree+LevelFive]= Level8;
- map[Lock+LevelThree+LevelFive]= Level7;
- preserve[Lock+LevelThree+LevelFive]= Lock;
- map[Shift+Lock+LevelThree+LevelFive]= Level8;
- preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
- map[Shift+Lock+LevelFive]= Level1;
- preserve[Shift+Lock+LevelFive]= Lock;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- level_name[Level3]= "Alt Base";
- level_name[Level4]= "Shift Alt";
- level_name[Level5]= "X";
- level_name[Level6]= "X Shift";
- level_name[Level7]= "X Alt Base";
- level_name[Level8]= "X Shift Alt";
- };
- type "FOUR_LEVEL" {
- modifiers= Shift+LevelThree;
- map[Shift]= Level2;
- map[LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- level_name[Level3]= "Alt Base";
- level_name[Level4]= "Shift Alt";
- };
- type "FOUR_LEVEL_ALPHABETIC" {
- modifiers= Shift+Lock+LevelThree;
- map[Shift]= Level2;
- map[Lock]= Level2;
- map[LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- map[Lock+LevelThree]= Level4;
- map[Shift+Lock+LevelThree]= Level3;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- level_name[Level3]= "Alt Base";
- level_name[Level4]= "Shift Alt";
- };
- type "FOUR_LEVEL_SEMIALPHABETIC" {
- modifiers= Shift+Lock+LevelThree;
- map[Shift]= Level2;
- map[Lock]= Level2;
- map[LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- map[Lock+LevelThree]= Level3;
- preserve[Lock+LevelThree]= Lock;
- map[Shift+Lock+LevelThree]= Level4;
- preserve[Shift+Lock+LevelThree]= Lock;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- level_name[Level3]= "Alt Base";
- level_name[Level4]= "Shift Alt";
- };
- type "FOUR_LEVEL_MIXED_KEYPAD" {
- modifiers= Shift+NumLock+LevelThree;
- map[NumLock]= Level2;
- map[Shift]= Level2;
- map[LevelThree]= Level3;
- map[NumLock+LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- map[Shift+NumLock+LevelThree]= Level4;
- level_name[Level1]= "Base";
- level_name[Level2]= "Number";
- level_name[Level3]= "Alt Base";
- level_name[Level4]= "Shift Alt";
- };
- type "FOUR_LEVEL_X" {
- modifiers= Shift+Control+Alt+LevelThree;
- map[LevelThree]= Level2;
- map[Shift+LevelThree]= Level3;
- map[Control+Alt]= Level4;
- level_name[Level1]= "Base";
- level_name[Level2]= "Alt Base";
- level_name[Level3]= "Shift Alt";
- level_name[Level4]= "Ctrl+Alt";
- };
- type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
- modifiers= Shift+Lock+LevelThree;
- map[Shift]= Level2;
- map[Lock]= Level4;
- preserve[Lock]= Lock;
- map[LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- map[Lock+LevelThree]= Level3;
- preserve[Lock+LevelThree]= Lock;
- map[Shift+Lock+LevelThree]= Level3;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- level_name[Level3]= "AltGr Base";
- level_name[Level4]= "Shift AltGr";
- };
- type "FOUR_LEVEL_PLUS_LOCK" {
- modifiers= Shift+Lock+LevelThree;
- map[Shift]= Level2;
- map[LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- map[Lock]= Level5;
- map[Shift+Lock]= Level2;
- map[Lock+LevelThree]= Level3;
- map[Shift+Lock+LevelThree]= Level4;
- level_name[Level1]= "Base";
- level_name[Level2]= "Shift";
- level_name[Level3]= "Alt Base";
- level_name[Level4]= "Shift Alt";
- level_name[Level5]= "Lock";
- };
- type "KEYPAD" {
- modifiers= Shift+NumLock;
- map[Shift]= Level2;
- map[NumLock]= Level2;
- level_name[Level1]= "Base";
- level_name[Level2]= "Number";
- };
- type "FOUR_LEVEL_KEYPAD" {
- modifiers= Shift+NumLock+LevelThree;
- map[Shift]= Level2;
- map[NumLock]= Level2;
- map[LevelThree]= Level3;
- map[Shift+LevelThree]= Level4;
- map[NumLock+LevelThree]= Level4;
- map[Shift+NumLock+LevelThree]= Level3;
- level_name[Level1]= "Base";
- level_name[Level2]= "Number";
- level_name[Level3]= "Alt Base";
- level_name[Level4]= "Alt Number";
- };
+ type "ONE_LEVEL" {
+ modifiers= none;
+ level_name[Level1]= "Any";
+ };
+ type "TWO_LEVEL" {
+ modifiers= Shift;
+ map[Shift]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ };
+ type "ALPHABETIC" {
+ modifiers= Shift+Lock;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Caps";
+ };
+ type "SHIFT+ALT" {
+ modifiers= Shift+Alt;
+ map[Shift+Alt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift+Alt";
+ };
+ type "PC_CONTROL_LEVEL2" {
+ modifiers= Control;
+ map[Control]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Control";
+ };
+ type "PC_LCONTROL_LEVEL2" {
+ modifiers= LControl;
+ map[LControl]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "LControl";
+ };
+ type "PC_RCONTROL_LEVEL2" {
+ modifiers= RControl;
+ map[RControl]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "RControl";
+ };
+ type "PC_ALT_LEVEL2" {
+ modifiers= Alt;
+ map[Alt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Alt";
+ };
+ type "PC_LALT_LEVEL2" {
+ modifiers= LAlt;
+ map[LAlt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "LAlt";
+ };
+ type "PC_RALT_LEVEL2" {
+ modifiers= RAlt;
+ map[RAlt]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "RAlt";
+ };
+ type "CTRL+ALT" {
+ modifiers= Shift+Control+Alt+LevelThree;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Control+Alt]= Level5;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "Ctrl+Alt";
+ };
+ type "LOCAL_EIGHT_LEVEL" {
+ modifiers= Shift+Lock+Control+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+Lock+LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level4;
+ map[Control]= Level5;
+ map[Shift+Lock+Control]= Level5;
+ map[Shift+Control]= Level6;
+ map[Lock+Control]= Level6;
+ map[Control+LevelThree]= Level7;
+ map[Shift+Lock+Control+LevelThree]= Level7;
+ map[Shift+Control+LevelThree]= Level8;
+ map[Lock+Control+LevelThree]= Level8;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Level3";
+ level_name[Level4]= "Shift Level3";
+ level_name[Level5]= "Ctrl";
+ level_name[Level6]= "Shift Ctrl";
+ level_name[Level7]= "Level3 Ctrl";
+ level_name[Level8]= "Shift Level3 Ctrl";
+ };
+ type "THREE_LEVEL" {
+ modifiers= Shift+LevelThree;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Level3";
+ };
+ type "EIGHT_LEVEL" {
+ modifiers= Shift+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "EIGHT_LEVEL_ALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level4;
+ map[Shift+Lock+LevelThree]= Level3;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ map[Lock+LevelFive]= Level6;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ map[Lock+LevelThree+LevelFive]= Level8;
+ map[Shift+Lock+LevelThree+LevelFive]= Level7;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
};
+ type "EIGHT_LEVEL_SEMIALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree+LevelFive;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level3;
+ preserve[Lock+LevelThree]= Lock;
+ map[Shift+Lock+LevelThree]= Level4;
+ preserve[Shift+Lock+LevelThree]= Lock;
+ map[LevelFive]= Level5;
+ map[Shift+LevelFive]= Level6;
+ map[Lock+LevelFive]= Level6;
+ preserve[Lock+LevelFive]= Lock;
+ map[LevelThree+LevelFive]= Level7;
+ map[Shift+LevelThree+LevelFive]= Level8;
+ map[Lock+LevelThree+LevelFive]= Level7;
+ preserve[Lock+LevelThree+LevelFive]= Lock;
+ map[Shift+Lock+LevelThree+LevelFive]= Level8;
+ preserve[Shift+Lock+LevelThree+LevelFive]= Lock;
+ map[Shift+Lock+LevelFive]= Level1;
+ preserve[Shift+Lock+LevelFive]= Lock;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "X";
+ level_name[Level6]= "X Shift";
+ level_name[Level7]= "X Alt Base";
+ level_name[Level8]= "X Shift Alt";
+ };
+ type "FOUR_LEVEL" {
+ modifiers= Shift+LevelThree;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_ALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level4;
+ map[Shift+Lock+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_SEMIALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level3;
+ preserve[Lock+LevelThree]= Lock;
+ map[Shift+Lock+LevelThree]= Level4;
+ preserve[Shift+Lock+LevelThree]= Lock;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_MIXED_KEYPAD" {
+ modifiers= Shift+NumLock+LevelThree;
+ map[NumLock]= Level2;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[NumLock+LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Shift+NumLock+LevelThree]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Number";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ };
+ type "FOUR_LEVEL_X" {
+ modifiers= Shift+Control+Alt+LevelThree;
+ map[LevelThree]= Level2;
+ map[Shift+LevelThree]= Level3;
+ map[Control+Alt]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Alt Base";
+ level_name[Level3]= "Shift Alt";
+ level_name[Level4]= "Ctrl+Alt";
+ };
+ type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[Lock]= Level4;
+ preserve[Lock]= Lock;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock+LevelThree]= Level3;
+ preserve[Lock+LevelThree]= Lock;
+ map[Shift+Lock+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "AltGr Base";
+ level_name[Level4]= "Shift AltGr";
+ };
+ type "FOUR_LEVEL_PLUS_LOCK" {
+ modifiers= Shift+Lock+LevelThree;
+ map[Shift]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[Lock]= Level5;
+ map[Shift+Lock]= Level2;
+ map[Lock+LevelThree]= Level3;
+ map[Shift+Lock+LevelThree]= Level4;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Shift";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Shift Alt";
+ level_name[Level5]= "Lock";
+ };
+ type "KEYPAD" {
+ modifiers= Shift+NumLock;
+ map[Shift]= Level2;
+ map[NumLock]= Level2;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Number";
+ };
+ type "FOUR_LEVEL_KEYPAD" {
+ modifiers= Shift+NumLock+LevelThree;
+ map[Shift]= Level2;
+ map[NumLock]= Level2;
+ map[LevelThree]= Level3;
+ map[Shift+LevelThree]= Level4;
+ map[NumLock+LevelThree]= Level4;
+ map[Shift+NumLock+LevelThree]= Level3;
+ level_name[Level1]= "Base";
+ level_name[Level2]= "Number";
+ level_name[Level3]= "Alt Base";
+ level_name[Level4]= "Alt Number";
+ };
+};
- xkb_compatibility "complete_caps(caps_lock)_4_misc(assign_shift_left_action)_4_level5(level5_lock)_4" {
+xkb_compatibility "complete_caps(caps_lock)_4_misc(assign_shift_left_action)_4_level5(level5_lock)_4" {
- virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
+ virtual_modifiers NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Hyper;
- interpret.useModMapMods= AnyLevel;
- interpret.repeat= False;
- interpret ISO_Level2_Latch+Exactly(Shift) {
- useModMapMods=level1;
- action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
- };
- interpret Shift_Lock+AnyOf(Shift+Lock) {
- action= LockMods(modifiers=Shift);
- };
- interpret Num_Lock+AnyOf(all) {
- virtualModifier= NumLock;
- action= LockMods(modifiers=NumLock);
- };
- interpret ISO_Lock+AnyOf(all) {
- action= NoAction();
- };
- interpret ISO_Level3_Shift+AnyOf(all) {
- virtualModifier= LevelThree;
- useModMapMods=level1;
- action= SetMods(modifiers=LevelThree,clearLocks);
- };
- interpret ISO_Level3_Latch+AnyOf(all) {
- virtualModifier= LevelThree;
- useModMapMods=level1;
- action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
- };
- interpret ISO_Level3_Lock+AnyOf(all) {
- virtualModifier= LevelThree;
- useModMapMods=level1;
- action= LockMods(modifiers=LevelThree);
- };
- interpret Alt_L+AnyOf(all) {
- virtualModifier= Alt;
- action= SetMods(modifiers=modMapMods,clearLocks);
- };
- interpret Alt_R+AnyOf(all) {
- virtualModifier= Alt;
- action= SetMods(modifiers=modMapMods,clearLocks);
- };
- interpret Meta_L+AnyOf(all) {
- virtualModifier= Meta;
- action= SetMods(modifiers=modMapMods,clearLocks);
- };
- interpret Meta_R+AnyOf(all) {
- virtualModifier= Meta;
- action= SetMods(modifiers=modMapMods,clearLocks);
- };
- interpret Super_L+AnyOf(all) {
- virtualModifier= Super;
- action= SetMods(modifiers=modMapMods,clearLocks);
- };
- interpret Super_R+AnyOf(all) {
- virtualModifier= Super;
- action= SetMods(modifiers=modMapMods,clearLocks);
- };
- interpret Hyper_L+AnyOf(all) {
- virtualModifier= Hyper;
- action= SetMods(modifiers=modMapMods,clearLocks);
- };
- interpret Hyper_R+AnyOf(all) {
- virtualModifier= Hyper;
- action= SetMods(modifiers=modMapMods,clearLocks);
- };
- interpret Scroll_Lock+AnyOf(all) {
- virtualModifier= ScrollLock;
- action= LockMods(modifiers=modMapMods);
- };
- interpret ISO_Level5_Shift+AnyOf(all) {
- virtualModifier= LevelFive;
- useModMapMods=level1;
- action= SetMods(modifiers=LevelFive,clearLocks);
- };
- interpret ISO_Level5_Latch+AnyOf(all) {
- virtualModifier= LevelFive;
- action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
- };
- interpret ISO_Level5_Lock+AnyOf(all) {
- virtualModifier= LevelFive;
- action= LockMods(modifiers=LevelFive);
- };
- interpret Mode_switch+AnyOfOrNone(all) {
- virtualModifier= AltGr;
- useModMapMods=level1;
- action= SetGroup(group=+1);
- };
- interpret ISO_Level3_Shift+AnyOfOrNone(all) {
- action= SetMods(modifiers=LevelThree,clearLocks);
- };
- interpret ISO_Level3_Latch+AnyOfOrNone(all) {
- action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
- };
- interpret ISO_Level3_Lock+AnyOfOrNone(all) {
- action= LockMods(modifiers=LevelThree);
- };
- interpret ISO_Group_Latch+AnyOfOrNone(all) {
- virtualModifier= AltGr;
- useModMapMods=level1;
- action= LatchGroup(group=2);
- };
- interpret ISO_Next_Group+AnyOfOrNone(all) {
- virtualModifier= AltGr;
- useModMapMods=level1;
- action= LockGroup(group=+1);
- };
- interpret ISO_Prev_Group+AnyOfOrNone(all) {
- virtualModifier= AltGr;
- useModMapMods=level1;
- action= LockGroup(group=-1);
- };
- interpret ISO_First_Group+AnyOfOrNone(all) {
- action= LockGroup(group=1);
- };
- interpret ISO_Last_Group+AnyOfOrNone(all) {
- action= LockGroup(group=2);
- };
- interpret KP_1+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=-1,y=+1);
- };
- interpret KP_End+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=-1,y=+1);
- };
- interpret KP_2+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+0,y=+1);
- };
- interpret KP_Down+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+0,y=+1);
- };
- interpret KP_3+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+1,y=+1);
- };
- interpret KP_Next+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+1,y=+1);
- };
- interpret KP_4+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=-1,y=+0);
- };
- interpret KP_Left+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=-1,y=+0);
- };
- interpret KP_6+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+1,y=+0);
- };
- interpret KP_Right+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+1,y=+0);
- };
- interpret KP_7+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=-1,y=-1);
- };
- interpret KP_Home+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=-1,y=-1);
- };
- interpret KP_8+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+0,y=-1);
- };
- interpret KP_Up+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+0,y=-1);
- };
- interpret KP_9+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+1,y=-1);
- };
- interpret KP_Prior+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+1,y=-1);
- };
- interpret KP_5+AnyOfOrNone(all) {
- repeat= True;
- action= PtrBtn(button=default);
- };
- interpret KP_Begin+AnyOfOrNone(all) {
- repeat= True;
- action= PtrBtn(button=default);
- };
- interpret KP_F2+AnyOfOrNone(all) {
- repeat= True;
- action= SetPtrDflt(affect=button,button=1);
- };
- interpret KP_Divide+AnyOfOrNone(all) {
- repeat= True;
- action= SetPtrDflt(affect=button,button=1);
- };
- interpret KP_F3+AnyOfOrNone(all) {
- repeat= True;
- action= SetPtrDflt(affect=button,button=2);
- };
- interpret KP_Multiply+AnyOfOrNone(all) {
- repeat= True;
- action= SetPtrDflt(affect=button,button=2);
- };
- interpret KP_F4+AnyOfOrNone(all) {
- repeat= True;
- action= SetPtrDflt(affect=button,button=3);
- };
- interpret KP_Subtract+AnyOfOrNone(all) {
- repeat= True;
- action= SetPtrDflt(affect=button,button=3);
- };
- interpret KP_Separator+AnyOfOrNone(all) {
- repeat= True;
- action= PtrBtn(button=default,count=2);
- };
- interpret KP_Add+AnyOfOrNone(all) {
- repeat= True;
- action= PtrBtn(button=default,count=2);
- };
- interpret KP_0+AnyOfOrNone(all) {
- repeat= True;
- action= LockPtrBtn(button=default,affect=lock);
- };
- interpret KP_Insert+AnyOfOrNone(all) {
- repeat= True;
- action= LockPtrBtn(button=default,affect=lock);
- };
- interpret KP_Decimal+AnyOfOrNone(all) {
- repeat= True;
- action= LockPtrBtn(button=default,affect=unlock);
- };
- interpret KP_Delete+AnyOfOrNone(all) {
- repeat= True;
- action= LockPtrBtn(button=default,affect=unlock);
- };
- interpret F25+AnyOfOrNone(all) {
- repeat= True;
- action= SetPtrDflt(affect=button,button=1);
- };
- interpret F26+AnyOfOrNone(all) {
- repeat= True;
- action= SetPtrDflt(affect=button,button=2);
- };
- interpret F27+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=-1,y=-1);
- };
- interpret F29+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+1,y=-1);
- };
- interpret F31+AnyOfOrNone(all) {
- repeat= True;
- action= PtrBtn(button=default);
- };
- interpret F33+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=-1,y=+1);
- };
- interpret F35+AnyOfOrNone(all) {
- repeat= True;
- action= MovePtr(x=+1,y=+1);
- };
- interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
- action= PtrBtn(button=default);
- };
- interpret Pointer_Button1+AnyOfOrNone(all) {
- action= PtrBtn(button=1);
- };
- interpret Pointer_Button2+AnyOfOrNone(all) {
- action= PtrBtn(button=2);
- };
- interpret Pointer_Button3+AnyOfOrNone(all) {
- action= PtrBtn(button=3);
- };
- interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
- action= PtrBtn(button=default,count=2);
- };
- interpret Pointer_DblClick1+AnyOfOrNone(all) {
- action= PtrBtn(button=1,count=2);
- };
- interpret Pointer_DblClick2+AnyOfOrNone(all) {
- action= PtrBtn(button=2,count=2);
- };
- interpret Pointer_DblClick3+AnyOfOrNone(all) {
- action= PtrBtn(button=3,count=2);
- };
- interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
- action= LockPtrBtn(button=default,affect=both);
- };
- interpret Pointer_Drag1+AnyOfOrNone(all) {
- action= LockPtrBtn(button=1,affect=both);
- };
- interpret Pointer_Drag2+AnyOfOrNone(all) {
- action= LockPtrBtn(button=2,affect=both);
- };
- interpret Pointer_Drag3+AnyOfOrNone(all) {
- action= LockPtrBtn(button=3,affect=both);
- };
- interpret Pointer_EnableKeys+AnyOfOrNone(all) {
- action= LockControls(controls=MouseKeys);
- };
- interpret Pointer_Accelerate+AnyOfOrNone(all) {
- action= LockControls(controls=MouseKeysAccel);
- };
- interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
- action= SetPtrDflt(affect=button,button=+1);
- };
- interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
- action= SetPtrDflt(affect=button,button=-1);
- };
- interpret AccessX_Enable+AnyOfOrNone(all) {
- action= LockControls(controls=AccessXKeys);
- };
- interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
- action= LockControls(controls=AccessXFeedback);
- };
- interpret RepeatKeys_Enable+AnyOfOrNone(all) {
- action= LockControls(controls=RepeatKeys);
- };
- interpret SlowKeys_Enable+AnyOfOrNone(all) {
- action= LockControls(controls=SlowKeys);
- };
- interpret BounceKeys_Enable+AnyOfOrNone(all) {
- action= LockControls(controls=BounceKeys);
- };
- interpret StickyKeys_Enable+AnyOfOrNone(all) {
- action= LockControls(controls=StickyKeys);
- };
- interpret MouseKeys_Enable+AnyOfOrNone(all) {
- action= LockControls(controls=MouseKeys);
- };
- interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
- action= LockControls(controls=MouseKeysAccel);
- };
- interpret Overlay1_Enable+AnyOfOrNone(all) {
- action= LockControls(controls=none);
- };
- interpret Overlay2_Enable+AnyOfOrNone(all) {
- action= LockControls(controls=none);
- };
- interpret AudibleBell_Enable+AnyOfOrNone(all) {
- action= LockControls(controls=AudibleBell);
- };
- interpret Terminate_Server+AnyOfOrNone(all) {
- action= Terminate();
- };
- interpret Alt_L+AnyOfOrNone(all) {
- action= SetMods(modifiers=Alt,clearLocks);
- };
- interpret Alt_R+AnyOfOrNone(all) {
- action= SetMods(modifiers=Alt,clearLocks);
- };
- interpret Meta_L+AnyOfOrNone(all) {
- action= SetMods(modifiers=Meta,clearLocks);
- };
- interpret Meta_R+AnyOfOrNone(all) {
- action= SetMods(modifiers=Meta,clearLocks);
- };
- interpret Super_L+AnyOfOrNone(all) {
- action= SetMods(modifiers=Super,clearLocks);
- };
- interpret Super_R+AnyOfOrNone(all) {
- action= SetMods(modifiers=Super,clearLocks);
- };
- interpret Hyper_L+AnyOfOrNone(all) {
- action= SetMods(modifiers=Hyper,clearLocks);
- };
- interpret Hyper_R+AnyOfOrNone(all) {
- action= SetMods(modifiers=Hyper,clearLocks);
- };
- interpret Shift_L+AnyOfOrNone(all) {
- action= SetMods(modifiers=Shift);
- };
- interpret XF86Switch_VT_1+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=1,!same);
- };
- interpret XF86Switch_VT_2+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=2,!same);
- };
- interpret XF86Switch_VT_3+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=3,!same);
- };
- interpret XF86Switch_VT_4+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=4,!same);
- };
- interpret XF86Switch_VT_5+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=5,!same);
- };
- interpret XF86Switch_VT_6+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=6,!same);
- };
- interpret XF86Switch_VT_7+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=7,!same);
- };
- interpret XF86Switch_VT_8+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=8,!same);
- };
- interpret XF86Switch_VT_9+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=9,!same);
- };
- interpret XF86Switch_VT_10+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=10,!same);
- };
- interpret XF86Switch_VT_11+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=11,!same);
- };
- interpret XF86Switch_VT_12+AnyOfOrNone(all) {
- repeat= True;
- action= SwitchScreen(screen=12,!same);
- };
- interpret XF86LogGrabInfo+AnyOfOrNone(all) {
- repeat= True;
- action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x47,data[3]=0x72,data[4]=0x62,data[5]=0x73,data[6]=0x00);
- };
- interpret XF86LogWindowTree+AnyOfOrNone(all) {
- repeat= True;
- action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x57,data[3]=0x69,data[4]=0x6e,data[5]=0x73,data[6]=0x00);
- };
- interpret XF86Next_VMode+AnyOfOrNone(all) {
- repeat= True;
- action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
- };
- interpret XF86Prev_VMode+AnyOfOrNone(all) {
- repeat= True;
- action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
- };
- interpret ISO_Level5_Shift+AnyOfOrNone(all) {
- action= SetMods(modifiers=LevelFive,clearLocks);
- };
- interpret ISO_Level5_Latch+AnyOfOrNone(all) {
- action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
- };
- interpret ISO_Level5_Lock+AnyOfOrNone(all) {
- action= LockMods(modifiers=NumLock);
- };
- interpret Caps_Lock+AnyOfOrNone(all) {
- action= LockMods(modifiers=Lock);
- };
- interpret Any+Exactly(Lock) {
- action= LockMods(modifiers=Lock);
- };
- interpret Any+AnyOf(all) {
- action= SetMods(modifiers=modMapMods,clearLocks);
- };
- indicator "Caps Lock" {
- whichModState= locked;
- modifiers= Lock;
- };
- indicator "Num Lock" {
- whichModState= locked;
- modifiers= NumLock;
- };
- indicator "Scroll Lock" {
- whichModState= locked;
- modifiers= ScrollLock;
- };
- indicator "Shift Lock" {
- whichModState= locked;
- modifiers= Shift;
- };
- indicator "Group 2" {
- groups= 0xfe;
- };
- indicator "Mouse Keys" {
- controls= MouseKeys;
- };
+ interpret.useModMapMods= AnyLevel;
+ interpret.repeat= False;
+ interpret ISO_Level2_Latch+Exactly(Shift) {
+ useModMapMods=level1;
+ action= LatchMods(modifiers=Shift,clearLocks,latchToLock);
+ };
+ interpret Shift_Lock+AnyOf(Shift+Lock) {
+ action= LockMods(modifiers=Shift);
+ };
+ interpret Num_Lock+AnyOf(all) {
+ virtualModifier= NumLock;
+ action= LockMods(modifiers=NumLock);
+ };
+ interpret ISO_Lock+AnyOf(all) {
+ action= NoAction();
+ };
+ interpret ISO_Level3_Shift+AnyOf(all) {
+ virtualModifier= LevelThree;
+ useModMapMods=level1;
+ action= SetMods(modifiers=LevelThree,clearLocks);
+ };
+ interpret ISO_Level3_Latch+AnyOf(all) {
+ virtualModifier= LevelThree;
+ useModMapMods=level1;
+ action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
+ };
+ interpret ISO_Level3_Lock+AnyOf(all) {
+ virtualModifier= LevelThree;
+ useModMapMods=level1;
+ action= LockMods(modifiers=LevelThree);
+ };
+ interpret Alt_L+AnyOf(all) {
+ virtualModifier= Alt;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Alt_R+AnyOf(all) {
+ virtualModifier= Alt;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Meta_L+AnyOf(all) {
+ virtualModifier= Meta;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Meta_R+AnyOf(all) {
+ virtualModifier= Meta;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Super_L+AnyOf(all) {
+ virtualModifier= Super;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Super_R+AnyOf(all) {
+ virtualModifier= Super;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Hyper_L+AnyOf(all) {
+ virtualModifier= Hyper;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Hyper_R+AnyOf(all) {
+ virtualModifier= Hyper;
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ interpret Scroll_Lock+AnyOf(all) {
+ virtualModifier= ScrollLock;
+ action= LockMods(modifiers=modMapMods);
+ };
+ interpret ISO_Level5_Shift+AnyOf(all) {
+ virtualModifier= LevelFive;
+ useModMapMods=level1;
+ action= SetMods(modifiers=LevelFive,clearLocks);
+ };
+ interpret ISO_Level5_Latch+AnyOf(all) {
+ virtualModifier= LevelFive;
+ action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
+ };
+ interpret ISO_Level5_Lock+AnyOf(all) {
+ virtualModifier= LevelFive;
+ action= LockMods(modifiers=LevelFive);
+ };
+ interpret Mode_switch+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= SetGroup(group=+1);
+ };
+ interpret ISO_Level3_Shift+AnyOfOrNone(all) {
+ action= SetMods(modifiers=LevelThree,clearLocks);
+ };
+ interpret ISO_Level3_Latch+AnyOfOrNone(all) {
+ action= LatchMods(modifiers=LevelThree,clearLocks,latchToLock);
+ };
+ interpret ISO_Level3_Lock+AnyOfOrNone(all) {
+ action= LockMods(modifiers=LevelThree);
+ };
+ interpret ISO_Group_Latch+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= LatchGroup(group=2);
+ };
+ interpret ISO_Next_Group+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= LockGroup(group=+1);
+ };
+ interpret ISO_Prev_Group+AnyOfOrNone(all) {
+ virtualModifier= AltGr;
+ useModMapMods=level1;
+ action= LockGroup(group=-1);
+ };
+ interpret ISO_First_Group+AnyOfOrNone(all) {
+ action= LockGroup(group=1);
+ };
+ interpret ISO_Last_Group+AnyOfOrNone(all) {
+ action= LockGroup(group=2);
+ };
+ interpret KP_1+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+1);
+ };
+ interpret KP_End+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+1);
+ };
+ interpret KP_2+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=+1);
+ };
+ interpret KP_Down+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=+1);
+ };
+ interpret KP_3+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+1);
+ };
+ interpret KP_Next+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+1);
+ };
+ interpret KP_4+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+0);
+ };
+ interpret KP_Left+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+0);
+ };
+ interpret KP_6+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+0);
+ };
+ interpret KP_Right+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+0);
+ };
+ interpret KP_7+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=-1);
+ };
+ interpret KP_Home+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=-1);
+ };
+ interpret KP_8+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=-1);
+ };
+ interpret KP_Up+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+0,y=-1);
+ };
+ interpret KP_9+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=-1);
+ };
+ interpret KP_Prior+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=-1);
+ };
+ interpret KP_5+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default);
+ };
+ interpret KP_Begin+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default);
+ };
+ interpret KP_F2+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=1);
+ };
+ interpret KP_Divide+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=1);
+ };
+ interpret KP_F3+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=2);
+ };
+ interpret KP_Multiply+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=2);
+ };
+ interpret KP_F4+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=3);
+ };
+ interpret KP_Subtract+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=3);
+ };
+ interpret KP_Separator+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default,count=2);
+ };
+ interpret KP_Add+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default,count=2);
+ };
+ interpret KP_0+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=lock);
+ };
+ interpret KP_Insert+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=lock);
+ };
+ interpret KP_Decimal+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=unlock);
+ };
+ interpret KP_Delete+AnyOfOrNone(all) {
+ repeat= True;
+ action= LockPtrBtn(button=default,affect=unlock);
+ };
+ interpret F25+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=1);
+ };
+ interpret F26+AnyOfOrNone(all) {
+ repeat= True;
+ action= SetPtrDflt(affect=button,button=2);
+ };
+ interpret F27+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=-1);
+ };
+ interpret F29+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=-1);
+ };
+ interpret F31+AnyOfOrNone(all) {
+ repeat= True;
+ action= PtrBtn(button=default);
+ };
+ interpret F33+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=-1,y=+1);
+ };
+ interpret F35+AnyOfOrNone(all) {
+ repeat= True;
+ action= MovePtr(x=+1,y=+1);
+ };
+ interpret Pointer_Button_Dflt+AnyOfOrNone(all) {
+ action= PtrBtn(button=default);
+ };
+ interpret Pointer_Button1+AnyOfOrNone(all) {
+ action= PtrBtn(button=1);
+ };
+ interpret Pointer_Button2+AnyOfOrNone(all) {
+ action= PtrBtn(button=2);
+ };
+ interpret Pointer_Button3+AnyOfOrNone(all) {
+ action= PtrBtn(button=3);
+ };
+ interpret Pointer_DblClick_Dflt+AnyOfOrNone(all) {
+ action= PtrBtn(button=default,count=2);
+ };
+ interpret Pointer_DblClick1+AnyOfOrNone(all) {
+ action= PtrBtn(button=1,count=2);
+ };
+ interpret Pointer_DblClick2+AnyOfOrNone(all) {
+ action= PtrBtn(button=2,count=2);
+ };
+ interpret Pointer_DblClick3+AnyOfOrNone(all) {
+ action= PtrBtn(button=3,count=2);
+ };
+ interpret Pointer_Drag_Dflt+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=default,affect=both);
+ };
+ interpret Pointer_Drag1+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=1,affect=both);
+ };
+ interpret Pointer_Drag2+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=2,affect=both);
+ };
+ interpret Pointer_Drag3+AnyOfOrNone(all) {
+ action= LockPtrBtn(button=3,affect=both);
+ };
+ interpret Pointer_EnableKeys+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeys);
+ };
+ interpret Pointer_Accelerate+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeysAccel);
+ };
+ interpret Pointer_DfltBtnNext+AnyOfOrNone(all) {
+ action= SetPtrDflt(affect=button,button=+1);
+ };
+ interpret Pointer_DfltBtnPrev+AnyOfOrNone(all) {
+ action= SetPtrDflt(affect=button,button=-1);
+ };
+ interpret AccessX_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=AccessXKeys);
+ };
+ interpret AccessX_Feedback_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=AccessXFeedback);
+ };
+ interpret RepeatKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=RepeatKeys);
+ };
+ interpret SlowKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=SlowKeys);
+ };
+ interpret BounceKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=BounceKeys);
+ };
+ interpret StickyKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=StickyKeys);
+ };
+ interpret MouseKeys_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeys);
+ };
+ interpret MouseKeys_Accel_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=MouseKeysAccel);
+ };
+ interpret Overlay1_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=none);
+ };
+ interpret Overlay2_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=none);
+ };
+ interpret AudibleBell_Enable+AnyOfOrNone(all) {
+ action= LockControls(controls=AudibleBell);
+ };
+ interpret Terminate_Server+AnyOfOrNone(all) {
+ action= Terminate();
+ };
+ interpret Alt_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Alt,clearLocks);
+ };
+ interpret Alt_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Alt,clearLocks);
+ };
+ interpret Meta_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Meta,clearLocks);
};
+ interpret Meta_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Meta,clearLocks);
+ };
+ interpret Super_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Super,clearLocks);
+ };
+ interpret Super_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Super,clearLocks);
+ };
+ interpret Hyper_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Hyper,clearLocks);
+ };
+ interpret Hyper_R+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Hyper,clearLocks);
+ };
+ interpret Shift_L+AnyOfOrNone(all) {
+ action= SetMods(modifiers=Shift);
+ };
+ interpret XF86Switch_VT_1+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=1,!same);
+ };
+ interpret XF86Switch_VT_2+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=2,!same);
+ };
+ interpret XF86Switch_VT_3+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=3,!same);
+ };
+ interpret XF86Switch_VT_4+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=4,!same);
+ };
+ interpret XF86Switch_VT_5+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=5,!same);
+ };
+ interpret XF86Switch_VT_6+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=6,!same);
+ };
+ interpret XF86Switch_VT_7+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=7,!same);
+ };
+ interpret XF86Switch_VT_8+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=8,!same);
+ };
+ interpret XF86Switch_VT_9+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=9,!same);
+ };
+ interpret XF86Switch_VT_10+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=10,!same);
+ };
+ interpret XF86Switch_VT_11+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=11,!same);
+ };
+ interpret XF86Switch_VT_12+AnyOfOrNone(all) {
+ repeat= True;
+ action= SwitchScreen(screen=12,!same);
+ };
+ interpret XF86LogGrabInfo+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x47,data[3]=0x72,data[4]=0x62,data[5]=0x73,data[6]=0x00);
+ };
+ interpret XF86LogWindowTree+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x50,data[1]=0x72,data[2]=0x57,data[3]=0x69,data[4]=0x6e,data[5]=0x73,data[6]=0x00);
+ };
+ interpret XF86Next_VMode+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x2b,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
+ };
+ interpret XF86Prev_VMode+AnyOfOrNone(all) {
+ repeat= True;
+ action= Private(type=0x86,data[0]=0x2d,data[1]=0x56,data[2]=0x4d,data[3]=0x6f,data[4]=0x64,data[5]=0x65,data[6]=0x00);
+ };
+ interpret ISO_Level5_Shift+AnyOfOrNone(all) {
+ action= SetMods(modifiers=LevelFive,clearLocks);
+ };
+ interpret ISO_Level5_Latch+AnyOfOrNone(all) {
+ action= LatchMods(modifiers=LevelFive,clearLocks,latchToLock);
+ };
+ interpret ISO_Level5_Lock+AnyOfOrNone(all) {
+ action= LockMods(modifiers=NumLock);
+ };
+ interpret Caps_Lock+AnyOfOrNone(all) {
+ action= LockMods(modifiers=Lock);
+ };
+ interpret Any+Exactly(Lock) {
+ action= LockMods(modifiers=Lock);
+ };
+ interpret Any+AnyOf(all) {
+ action= SetMods(modifiers=modMapMods,clearLocks);
+ };
+ indicator "Caps Lock" {
+ whichModState= locked;
+ modifiers= Lock;
+ };
+ indicator "Num Lock" {
+ whichModState= locked;
+ modifiers= NumLock;
+ };
+ indicator "Scroll Lock" {
+ whichModState= locked;
+ modifiers= ScrollLock;
+ };
+ indicator "Shift Lock" {
+ whichModState= locked;
+ modifiers= Shift;
+ };
+ indicator "Group 2" {
+ groups= 0xfe;
+ };
+ indicator "Mouse Keys" {
+ controls= MouseKeys;
+ };
+};
- xkb_symbols "pc_us_ru_2_ca(multix)_3_de(neo)_4_inet(evdev)" {
+xkb_symbols "pc_us_ru_2_ca(multix)_3_de(neo)_4_inet(evdev)" {
- name[group1]="English (US)";
- name[group2]="Russian";
- name[group3]="Canadian Multilingual";
- name[group4]="German (Neo 2)";
+ name[group1]="English (US)";
+ name[group2]="Russian";
+ name[group3]="Canadian Multilingual";
+ name[group4]="German (Neo 2)";
- key <ESC> { [ Escape ] };
- key <AE01> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ 1, exclam ],
- symbols[Group2]= [ 1, exclam ],
- symbols[Group3]= [ 1, exclam, plusminus, NoSymbol, onesuperior, exclamdown, NoSymbol, NoSymbol ],
- symbols[Group4]= [ 1, degree, onesuperior, onesubscript, ordfeminine, NoSymbol, notsign, NoSymbol ]
- };
- key <AE02> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ 2, at ],
- symbols[Group2]= [ 2, quotedbl ],
- symbols[Group3]= [ 2, at, at, NoSymbol, twosuperior, NoSymbol, NoSymbol, NoSymbol ],
- symbols[Group4]= [ 2, section, twosuperior, twosubscript, masculine, NoSymbol, logicalor, NoSymbol ]
- };
- key <AE03> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ 3, numbersign ],
- symbols[Group2]= [ 3, numerosign ],
- symbols[Group3]= [ 3, numbersign, sterling, NoSymbol, threesuperior, sterling, NoSymbol, NoSymbol ],
- symbols[Group4]= [ 3, U2113, threesuperior, threesubscript, numerosign, NoSymbol, logicaland, NoSymbol ]
- };
- key <AE04> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ 4, dollar ],
- symbols[Group2]= [ 4, semicolon ],
- symbols[Group3]= [ 4, dollar, cent, NoSymbol, onequarter, currency, NoSymbol, NoSymbol ],
- symbols[Group4]= [ 4, guillemotright, U203A, femalesymbol, NoSymbol, NoSymbol, U22A5, NoSymbol ]
- };
- key <AE05> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ 5, percent ],
- symbols[Group2]= [ 5, percent ],
- symbols[Group3]= [ 5, percent, currency, NoSymbol, onehalf, threeeighths, NoSymbol, NoSymbol ],
- symbols[Group4]= [ 5, guillemotleft, U2039, malesymbol, periodcentered, NoSymbol, U2221, NoSymbol ]
- };
- key <AE06> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ { H, E, L, L, O }, asciicircum ],
- symbols[Group2]= [ 6, colon ],
- symbols[Group3]= [ 6, question, notsign, NoSymbol, threequarters, fiveeighths, NoSymbol, NoSymbol ],
- symbols[Group4]= [ 6, dollar, cent, U26A5, sterling, NoSymbol, U2225, NoSymbol ]
- };
- key <AE07> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ { Y, E, S, space, T, H, I, S, space, I, S, space, D, O, G }, ampersand ],
- symbols[Group2]= [ 7, question ],
- symbols[Group3]= [ 7, ampersand, braceleft, NoSymbol, NoSymbol, seveneighths, NoSymbol, NoSymbol ],
- symbols[Group4]= [ 7, EuroSign, yen, U03F0, currency, NoSymbol, rightarrow, NoSymbol ]
- };
- key <AE08> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ 8, asterisk ],
- symbols[Group2]= [ 8, asterisk ],
- symbols[Group3]= [ 8, asterisk, braceright, NoSymbol, NoSymbol, trademark, NoSymbol, NoSymbol ],
- symbols[Group4]= [ 8, doublelowquotemark, singlelowquotemark, U27E8, Tab, ISO_Left_Tab, U221E, NoSymbol ]
- };
- key <AE09> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ 9, parenleft ],
- symbols[Group2]= [ 9, parenleft ],
- symbols[Group3]= [ 9, parenleft, bracketleft, NoSymbol, NoSymbol, plusminus, NoSymbol, NoSymbol ],
- symbols[Group4]= [ 9, leftdoublequotemark, leftsinglequotemark, U27E9, KP_Divide, KP_Divide, variation, NoSymbol ]
- };
- key <AE10> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ 0, parenright ],
- symbols[Group2]= [ 0, parenright ],
- symbols[Group3]= [ 0, parenright, bracketright, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ],
- symbols[Group4]= [ 0, rightdoublequotemark, rightsinglequotemark, zerosubscript, KP_Multiply, KP_Multiply, emptyset, NoSymbol ]
- };
- key <AE11> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ minus, underscore ],
- symbols[Group2]= [ minus, underscore ],
- symbols[Group3]= [ minus, underscore, onehalf, NoSymbol, NoSymbol, questiondown, NoSymbol, NoSymbol ],
- symbols[Group4]= [ minus, emdash, NoSymbol, U2011, KP_Subtract, KP_Subtract, hyphen, NoSymbol ]
- };
- key <AE12> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ equal, plus ],
- symbols[Group2]= [ equal, plus ],
- symbols[Group3]= [ equal, plus, notsign, NoSymbol, dead_cedilla, dead_ogonek, NoSymbol, NoSymbol ],
- symbols[Group4]= [ dead_grave, dead_cedilla, dead_abovering, dead_abovereversedcomma, dead_diaeresis, NoSymbol, dead_macron, NoSymbol ]
- };
- key <BKSP> { [ BackSpace, BackSpace ] };
- key <TAB> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ Tab, ISO_Left_Tab ],
- symbols[Group2]= [ Tab, ISO_Left_Tab ],
- symbols[Group3]= [ Tab, ISO_Left_Tab ],
- symbols[Group4]= [ Tab, ISO_Left_Tab, Multi_key, ISO_Level5_Lock, NoSymbol, NoSymbol, NoSymbol, ISO_Level5_Lock ]
- };
- key <AD01> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ q, Q ],
- symbols[Group2]= [ Cyrillic_shorti, Cyrillic_SHORTI ],
- symbols[Group3]= [ q, Q, NoSymbol, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol, NoSymbol ],
- symbols[Group4]= [ x, X, ellipsis, Greek_xi, Prior, Prior, Greek_XI, NoSymbol ]
- };
- key <AD02> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ w, W ],
- symbols[Group2]= [ Cyrillic_tse, Cyrillic_TSE ],
- symbols[Group3]= [ w, W, NoSymbol, NoSymbol, lstroke, Lstroke, NoSymbol, NoSymbol ],
- symbols[Group4]= [ v, V, underscore, NoSymbol, BackSpace, BackSpace, radical, NoSymbol ]
- };
- key <AD03> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ e, E ],
- symbols[Group2]= [ Cyrillic_u, Cyrillic_U ],
- symbols[Group3]= [ e, E, NoSymbol, NoSymbol, oe, OE, NoSymbol, NoSymbol ],
- symbols[Group4]= [ l, L, bracketleft, Greek_lamda, Up, Up, Greek_LAMDA, NoSymbol ]
- };
- key <AD04> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ r, R ],
- symbols[Group2]= [ Cyrillic_ka, Cyrillic_KA ],
- symbols[Group3]= [ r, R, NoSymbol, NoSymbol, paragraph, registered, NoSymbol, NoSymbol ],
- symbols[Group4]= [ c, C, bracketright, Greek_chi, Delete, Delete, U2102, NoSymbol ]
- };
- key <AD05> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ t, T ],
- symbols[Group2]= [ Cyrillic_ie, Cyrillic_IE ],
- symbols[Group3]= [ t, T, NoSymbol, NoSymbol, tslash, Tslash, NoSymbol, NoSymbol ],
- symbols[Group4]= [ w, W, asciicircum, Greek_omega, Next, Next, Greek_OMEGA, NoSymbol ]
- };
- key <AD06> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ y, Y ],
- symbols[Group2]= [ Cyrillic_en, Cyrillic_EN ],
- symbols[Group3]= [ y, Y, NoSymbol, NoSymbol, leftarrow, yen, NoSymbol, NoSymbol ],
- symbols[Group4]= [ k, K, exclam, Greek_kappa, exclamdown, NoSymbol, multiply, NoSymbol ]
- };
- key <AD07> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ u, U ],
- symbols[Group2]= [ Cyrillic_ghe, Cyrillic_GHE ],
- symbols[Group3]= [ u, U, NoSymbol, NoSymbol, downarrow, uparrow, NoSymbol, NoSymbol ],
- symbols[Group4]= [ h, H, less, Greek_psi, KP_7, KP_7, Greek_PSI, NoSymbol ]
- };
- key <AD08> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ i, I ],
- symbols[Group2]= [ Cyrillic_sha, Cyrillic_SHA ],
- symbols[Group3]= [ i, I, NoSymbol, NoSymbol, rightarrow, idotless, NoSymbol, NoSymbol ],
- symbols[Group4]= [ g, G, greater, Greek_gamma, KP_8, KP_8, Greek_GAMMA, NoSymbol ]
- };
- key <AD09> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ o, O ],
- symbols[Group2]= [ Cyrillic_shcha, Cyrillic_SHCHA ],
- symbols[Group3]= [ o, O, section, NoSymbol, oslash, Oslash, NoSymbol, NoSymbol ],
- symbols[Group4]= [ f, F, equal, Greek_phi, KP_9, KP_9, Greek_PHI, NoSymbol ]
- };
- key <AD10> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ p, P ],
- symbols[Group2]= [ Cyrillic_ze, Cyrillic_ZE ],
- symbols[Group3]= [ p, P, paragraph, NoSymbol, thorn, THORN, NoSymbol, NoSymbol ],
- symbols[Group4]= [ q, Q, ampersand, U03D5, KP_Add, KP_Add, U211A, NoSymbol ]
- };
- key <AD11> {
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ bracketleft, braceleft ],
- symbols[Group2]= [ Cyrillic_ha, Cyrillic_HA ],
- symbols[Group3]= [ dead_circumflex, dead_diaeresis, dead_grave, NoSymbol, NoSymbol, dead_abovering, NoSymbol, NoSymbol ],
- symbols[Group4]= [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ]
- };
- key <AD12> {
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ bracketright, braceright ],
- symbols[Group2]= [ Cyrillic_hardsign, Cyrillic_HARDSIGN ],
- symbols[Group3]= [ ccedilla, Ccedilla, asciitilde, NoSymbol, dead_tilde, dead_macron, NoSymbol, NoSymbol ],
- symbols[Group4]= [ dead_acute, dead_tilde, dead_stroke, dead_abovecomma, dead_doubleacute, NoSymbol, dead_breve, NoSymbol ]
- };
- key <RTRN> { [ Return ] };
- key <LCTL> { [ Control_L ] };
- key <AC01> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ a, A ],
- symbols[Group2]= [ Cyrillic_ef, Cyrillic_EF ],
- symbols[Group3]= [ a, A, NoSymbol, NoSymbol, ae, AE, NoSymbol, NoSymbol ],
- symbols[Group4]= [ u, U, backslash, NoSymbol, Home, Home, includedin, NoSymbol ]
- };
- key <AC02> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ s, S ],
- symbols[Group2]= [ Cyrillic_yeru, Cyrillic_YERU ],
- symbols[Group3]= [ s, S, NoSymbol, NoSymbol, ssharp, section, NoSymbol, NoSymbol ],
- symbols[Group4]= [ i, I, slash, Greek_iota, Left, Left, integral, NoSymbol ]
- };
- key <AC03> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ d, D ],
- symbols[Group2]= [ Cyrillic_ve, Cyrillic_VE ],
- symbols[Group3]= [ d, D, NoSymbol, NoSymbol, eth, ETH, NoSymbol, NoSymbol ],
- symbols[Group4]= [ a, A, braceleft, Greek_alpha, Down, Down, U2200, NoSymbol ]
- };
- key <AC04> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ f, F ],
- symbols[Group2]= [ Cyrillic_a, Cyrillic_A ],
- symbols[Group3]= [ f, F, NoSymbol, NoSymbol, NoSymbol, ordfeminine, NoSymbol, NoSymbol ],
- symbols[Group4]= [ e, E, braceright, Greek_epsilon, Right, Right, U2203, NoSymbol ]
- };
- key <AC05> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ g, G ],
- symbols[Group2]= [ Cyrillic_pe, Cyrillic_PE ],
- symbols[Group3]= [ g, G, NoSymbol, NoSymbol, eng, ENG, NoSymbol, NoSymbol ],
- symbols[Group4]= [ o, O, asterisk, Greek_omicron, End, End, elementof, NoSymbol ]
- };
- key <AC06> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ h, H ],
- symbols[Group2]= [ Cyrillic_er, Cyrillic_ER ],
- symbols[Group3]= [ h, H, NoSymbol, NoSymbol, hstroke, Hstroke, NoSymbol, NoSymbol ],
- symbols[Group4]= [ s, S, question, Greek_sigma, questiondown, NoSymbol, Greek_SIGMA, NoSymbol ]
- };
- key <AC07> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ j, J ],
- symbols[Group2]= [ Cyrillic_o, Cyrillic_O ],
- symbols[Group3]= [ j, J, NoSymbol, NoSymbol, U0133, U0132, NoSymbol, NoSymbol ],
- symbols[Group4]= [ n, N, parenleft, Greek_nu, KP_4, KP_4, U2115, NoSymbol ]
- };
- key <AC08> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ k, K ],
- symbols[Group2]= [ Cyrillic_el, Cyrillic_EL ],
- symbols[Group3]= [ k, K, NoSymbol, NoSymbol, kra, NoSymbol, NoSymbol, NoSymbol ],
- symbols[Group4]= [ r, R, parenright, Greek_rho, KP_5, KP_5, U211D, NoSymbol ]
- };
- key <AC09> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ l, L ],
- symbols[Group2]= [ Cyrillic_de, Cyrillic_DE ],
- symbols[Group3]= [ l, L, NoSymbol, NoSymbol, U0140, U013F, NoSymbol, NoSymbol ],
- symbols[Group4]= [ t, T, minus, Greek_tau, KP_6, KP_6, partialderivative, NoSymbol ]
- };
- key <AC10> {
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ semicolon, colon ],
- symbols[Group2]= [ Cyrillic_zhe, Cyrillic_ZHE ],
- symbols[Group3]= [ semicolon, colon, degree, NoSymbol, dead_acute, dead_doubleacute, NoSymbol, NoSymbol ],
- symbols[Group4]= [ d, D, colon, Greek_delta, KP_Separator, comma, Greek_DELTA, NoSymbol ]
- };
- key <AC11> {
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ apostrophe, quotedbl ],
- symbols[Group2]= [ Cyrillic_e, Cyrillic_E ],
- symbols[Group3]= [ egrave, Egrave, braceleft, NoSymbol, NoSymbol, dead_caron, NoSymbol, NoSymbol ],
- symbols[Group4]= [ y, Y, at, Greek_upsilon, period, KP_Decimal, nabla, NoSymbol ]
- };
- key <TLDE> {
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ grave, asciitilde ],
- symbols[Group2]= [ Cyrillic_io, Cyrillic_IO ],
- symbols[Group3]= [ slash, backslash, bar, NoSymbol, NoSymbol, hyphen, NoSymbol, NoSymbol ],
- symbols[Group4]= [ dead_circumflex, dead_caron, U21BB, U02DE, dead_abovedot, Pointer_EnableKeys, dead_belowdot, NoSymbol ]
- };
- key <LFSH> {
- type[group4]= "TWO_LEVEL",
- symbols[Group1]= [ Shift_L ],
- symbols[Group2]= [ Shift_L ],
- symbols[Group3]= [ Shift_L ],
- symbols[Group4]= [ Shift_L, Caps_Lock ]
- };
- key <BKSL> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "ONE_LEVEL",
- symbols[Group1]= [ backslash, bar ],
- symbols[Group2]= [ backslash, slash ],
- symbols[Group3]= [ agrave, Agrave, braceright, NoSymbol, NoSymbol, dead_breve, NoSymbol, NoSymbol ],
- symbols[Group4]= [ ISO_Level3_Shift ]
- };
- key <AB01> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ z, Z ],
- symbols[Group2]= [ Cyrillic_ya, Cyrillic_YA ],
- symbols[Group3]= [ z, Z, guillemotleft, NoSymbol ],
- symbols[Group4]= [ udiaeresis, Udiaeresis, numbersign, NoSymbol, Escape, Escape, union, NoSymbol ]
- };
- key <AB02> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ x, X ],
- symbols[Group2]= [ Cyrillic_che, Cyrillic_CHE ],
- symbols[Group3]= [ x, X, guillemotright, NoSymbol ],
- symbols[Group4]= [ odiaeresis, Odiaeresis, dollar, U03F5, Tab, Tab, intersection, NoSymbol ]
- };
- key <AB03> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ c, C ],
- symbols[Group2]= [ Cyrillic_es, Cyrillic_ES ],
- symbols[Group3]= [ c, C, NoSymbol, NoSymbol, cent, copyright, NoSymbol, NoSymbol ],
- symbols[Group4]= [ adiaeresis, Adiaeresis, bar, Greek_eta, Insert, Insert, U2135, NoSymbol ]
- };
- key <AB04> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ v, V ],
- symbols[Group2]= [ Cyrillic_em, Cyrillic_EM ],
- symbols[Group3]= [ v, V, NoSymbol, NoSymbol, leftdoublequotemark, leftsinglequotemark, NoSymbol, NoSymbol ],
- symbols[Group4]= [ p, P, asciitilde, Greek_pi, Return, Return, Greek_PI, NoSymbol ]
- };
- key <AB05> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ b, B ],
- symbols[Group2]= [ Cyrillic_i, Cyrillic_I ],
- symbols[Group3]= [ b, B, NoSymbol, NoSymbol, rightdoublequotemark, rightsinglequotemark, NoSymbol, NoSymbol ],
- symbols[Group4]= [ z, Z, grave, Greek_zeta, Undo, Undo, U2124, NoSymbol ]
- };
- key <AB06> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ n, N ],
- symbols[Group2]= [ Cyrillic_te, Cyrillic_TE ],
- symbols[Group3]= [ n, N, NoSymbol, NoSymbol, U0149, U266A, NoSymbol, NoSymbol ],
- symbols[Group4]= [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ]
- };
- key <AB07> {
- type[group1]= "ALPHABETIC",
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ m, M ],
- symbols[Group2]= [ Cyrillic_softsign, Cyrillic_SOFTSIGN ],
- symbols[Group3]= [ m, M, mu, NoSymbol, mu, masculine, NoSymbol, NoSymbol ],
- symbols[Group4]= [ m, M, percent, Greek_mu, KP_1, KP_1, ifonlyif, NoSymbol ]
- };
- key <AB08> {
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ comma, less ],
- symbols[Group2]= [ Cyrillic_be, Cyrillic_BE ],
- symbols[Group3]= [ comma, apostrophe, less, NoSymbol, Greek_horizbar, multiply, NoSymbol, NoSymbol ],
- symbols[Group4]= [ comma, endash, quotedbl, U03F1, KP_2, KP_2, U21D2, NoSymbol ]
- };
- key <AB09> {
- type[group2]= "ALPHABETIC",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ period, greater ],
- symbols[Group2]= [ Cyrillic_yu, Cyrillic_YU ],
- symbols[Group3]= [ period, quotedbl, greater, NoSymbol, periodcentered, division, NoSymbol, NoSymbol ],
- symbols[Group4]= [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, KP_3, U21A6, NoSymbol ]
- };
- key <AB10> {
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
- symbols[Group1]= [ slash, question ],
- symbols[Group2]= [ period, comma ],
- symbols[Group3]= [ eacute, Eacute, dead_acute, NoSymbol, NoSymbol, dead_abovedot, NoSymbol, NoSymbol ],
- symbols[Group4]= [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, Greek_THETA, NoSymbol ]
- };
- key <RTSH> {
- type[group4]= "TWO_LEVEL",
- symbols[Group1]= [ Shift_R ],
- symbols[Group2]= [ Shift_R ],
- symbols[Group3]= [ Shift_R ],
- symbols[Group4]= [ Shift_R, Caps_Lock ]
- };
- key <KPMU> {
- type[group1]= "CTRL+ALT",
- type[group2]= "CTRL+ALT",
- type[group3]= "CTRL+ALT",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ],
- symbols[Group2]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ],
- symbols[Group3]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ],
- symbols[Group4]= [ KP_Multiply, KP_Multiply, U2219, U2299, multiply, NoSymbol, U2297, NoSymbol ]
- };
- key <LALT> { [ Alt_L, Meta_L ] };
- key <SPCE> {
- type[group3]= "FOUR_LEVEL",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ space ],
- symbols[Group2]= [ space ],
- symbols[Group3]= [ space, space, nobreakspace, NoSymbol ],
- symbols[Group4]= [ space, space, space, nobreakspace, KP_0, KP_0, U202F, NoSymbol ]
- };
- key <CAPS> {
- type= "ONE_LEVEL",
- symbols[Group1]= [ Caps_Lock ],
- symbols[Group2]= [ Caps_Lock ],
- symbols[Group3]= [ Caps_Lock ],
- symbols[Group4]= [ ISO_Level3_Shift ]
- };
- key <FK01> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ]
- };
- key <FK02> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ]
- };
- key <FK03> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ]
- };
- key <FK04> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ]
- };
- key <FK05> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ]
- };
- key <FK06> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ]
- };
- key <FK07> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ]
- };
- key <FK08> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ]
- };
- key <FK09> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ]
- };
- key <FK10> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ]
- };
- key <NMLK> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ Num_Lock ],
- symbols[Group2]= [ Num_Lock ],
- symbols[Group3]= [ Num_Lock ],
- symbols[Group4]= [ Tab, ISO_Left_Tab, equal, approxeq, notequal, Pointer_EnableKeys, identical, NoSymbol ]
- };
- key <SCLK> { [ Scroll_Lock ] };
- key <KP7> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Home, KP_7 ],
- symbols[Group2]= [ KP_Home, KP_7 ],
- symbols[Group3]= [ KP_Home, KP_7 ],
- symbols[Group4]= [ KP_7, U2714, U2195, U226A, KP_Home, KP_Home, upstile, NoSymbol ]
- };
- key <KP8> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Up, KP_8 ],
- symbols[Group2]= [ KP_Up, KP_8 ],
- symbols[Group3]= [ KP_Up, KP_8 ],
- symbols[Group4]= [ KP_8, U2718, uparrow, intersection, KP_Up, KP_Up, U22C2, NoSymbol ]
- };
- key <KP9> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Prior, KP_9 ],
- symbols[Group2]= [ KP_Prior, KP_9 ],
- symbols[Group3]= [ KP_Prior, KP_9 ],
- symbols[Group4]= [ KP_9, dagger, U20D7, U226B, KP_Prior, KP_Prior, U2309, NoSymbol ]
- };
- key <KPSU> {
- type[group1]= "CTRL+ALT",
- type[group2]= "CTRL+ALT",
- type[group3]= "CTRL+ALT",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ],
- symbols[Group2]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ],
- symbols[Group3]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ],
- symbols[Group4]= [ KP_Subtract, KP_Subtract, U2212, U2296, U2216, NoSymbol, U2238, NoSymbol ]
- };
- key <KP4> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Left, KP_4 ],
- symbols[Group2]= [ KP_Left, KP_4 ],
- symbols[Group3]= [ KP_Left, KP_4 ],
- symbols[Group4]= [ KP_4, club, leftarrow, includedin, KP_Left, KP_Left, U2286, NoSymbol ]
- };
- key <KP5> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Begin, KP_5 ],
- symbols[Group2]= [ KP_Begin, KP_5 ],
- symbols[Group3]= [ KP_Begin, KP_5 ],
- symbols[Group4]= [ KP_5, EuroSign, colon, U22B6, KP_Begin, KP_Begin, U22B7, NoSymbol ]
- };
- key <KP6> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Right, KP_6 ],
- symbols[Group2]= [ KP_Right, KP_6 ],
- symbols[Group3]= [ KP_Right, KP_6 ],
- symbols[Group4]= [ KP_6, U2023, rightarrow, includes, KP_Right, KP_Right, U2287, NoSymbol ]
- };
- key <KPAD> {
- type[group1]= "CTRL+ALT",
- type[group2]= "CTRL+ALT",
- type[group3]= "CTRL+ALT",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ],
- symbols[Group2]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ],
- symbols[Group3]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ],
- symbols[Group4]= [ KP_Add, KP_Add, plusminus, U2295, U2213, NoSymbol, U2214, NoSymbol ]
- };
- key <KP1> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_End, KP_1 ],
- symbols[Group2]= [ KP_End, KP_1 ],
- symbols[Group3]= [ KP_End, KP_1 ],
- symbols[Group4]= [ KP_1, diamond, U2194, lessthanequal, KP_End, KP_End, downstile, NoSymbol ]
- };
- key <KP2> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Down, KP_2 ],
- symbols[Group2]= [ KP_Down, KP_2 ],
- symbols[Group3]= [ KP_Down, KP_2 ],
- symbols[Group4]= [ KP_2, heart, downarrow, union, KP_Down, KP_Down, U22C3, NoSymbol ]
- };
- key <KP3> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Next, KP_3 ],
- symbols[Group2]= [ KP_Next, KP_3 ],
- symbols[Group3]= [ KP_Next, KP_3 ],
- symbols[Group4]= [ KP_3, U2660, U21CC, greaterthanequal, KP_Next, KP_Next, U230B, NoSymbol ]
- };
- key <KP0> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Insert, KP_0 ],
- symbols[Group2]= [ KP_Insert, KP_0 ],
- symbols[Group3]= [ KP_Insert, KP_0 ],
- symbols[Group4]= [ KP_0, U2423, percent, U2030, KP_Insert, KP_Insert, U25A1, NoSymbol ]
- };
- key <KPDL> {
- type[group2]= "KEYPAD",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Delete, KP_Decimal ],
- symbols[Group2]= [ KP_Delete, KP_Separator ],
- symbols[Group3]= [ KP_Delete, KP_Decimal ],
- symbols[Group4]= [ KP_Separator, period, comma, minutes, KP_Delete, KP_Delete, seconds, NoSymbol ]
- };
- key <LVL3> { [ ISO_Level3_Shift ] };
- key <LSGT> {
- type[group1]= "FOUR_LEVEL",
- type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
- type[group4]= "ONE_LEVEL",
- symbols[Group1]= [ less, greater, bar, brokenbar ],
- symbols[Group2]= [ slash, bar ],
- symbols[Group3]= [ ugrave, Ugrave, degree, NoSymbol, NoSymbol, brokenbar, NoSymbol, NoSymbol ],
- symbols[Group4]= [ ISO_Level5_Shift ]
- };
- key <FK11> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ]
- };
- key <FK12> {
- type= "CTRL+ALT",
- symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ]
- };
- key <KATA> { [ Katakana ] };
- key <HIRA> { [ Hiragana ] };
- key <HENK> { [ Henkan_Mode ] };
- key <HKTG> { [ Hiragana_Katakana ] };
- key <MUHE> { [ Muhenkan ] };
- key <KPEN> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Enter ],
- symbols[Group2]= [ KP_Enter ],
- symbols[Group3]= [ KP_Enter ],
- symbols[Group4]= [ KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, NoSymbol ]
- };
- key <RCTL> {
- type= "ONE_LEVEL",
- symbols[Group1]= [ Control_R ],
- symbols[Group2]= [ Control_R ],
- symbols[Group3]= [ ISO_Level5_Shift ]
- };
- key <KPDV> {
- type[group1]= "CTRL+ALT",
- type[group2]= "CTRL+ALT",
- type[group3]= "CTRL+ALT",
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ],
- symbols[Group2]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ],
- symbols[Group3]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ],
- symbols[Group4]= [ KP_Divide, KP_Divide, division, U2300, U2215, NoSymbol, U2223, NoSymbol ]
- };
- key <PRSC> {
- type= "PC_ALT_LEVEL2",
- symbols[Group1]= [ Print, Sys_Req ]
- };
- key <RALT> {
- type[group1]= "TWO_LEVEL",
- type[group2]= "TWO_LEVEL",
- type[group3]= "ONE_LEVEL",
- type[group4]= "ONE_LEVEL",
- symbols[Group1]= [ Alt_R, Meta_R ],
- symbols[Group2]= [ Alt_R, Meta_R ],
- symbols[Group3]= [ ISO_Level3_Shift ],
- symbols[Group4]= [ ISO_Level5_Shift ]
- };
- key <LNFD> { [ Linefeed ] };
- key <HOME> { [ Home ] };
- key <UP> { [ Up ] };
- key <PGUP> { [ Prior ] };
- key <LEFT> { [ Left ] };
- key <RGHT> { [ Right ] };
- key <END> { [ End ] };
- key <DOWN> { [ Down ] };
- key <PGDN> { [ Next ] };
- key <INS> { [ Insert ] };
- key <DELE> { [ Delete ] };
- key <MUTE> { [ XF86AudioMute ] };
- key <VOL-> { [ XF86AudioLowerVolume ] };
- key <VOL+> { [ XF86AudioRaiseVolume ] };
- key <POWR> { [ XF86PowerOff ] };
- key <KPEQ> {
- type[group4]= "EIGHT_LEVEL",
- symbols[Group1]= [ KP_Equal ],
- symbols[Group2]= [ KP_Equal ],
- symbols[Group3]= [ KP_Equal ],
- symbols[Group4]= [ KP_Equal, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]
- };
- key <I126> { [ plusminus ] };
- key <PAUS> {
- type= "PC_CONTROL_LEVEL2",
- symbols[Group1]= [ Pause, Break ]
- };
- key <I128> { [ XF86LaunchA ] };
- key <I129> { [ KP_Decimal, KP_Decimal ] };
- key <HNGL> { [ Hangul ] };
- key <HJCV> { [ Hangul_Hanja ] };
- key <LWIN> { [ Super_L ] };
- key <RWIN> { [ Super_R ] };
- key <COMP> { [ Menu ] };
- key <STOP> { [ Cancel ] };
- key <AGAI> { [ Redo ] };
- key <PROP> { [ SunProps ] };
- key <UNDO> { [ Undo ] };
- key <FRNT> { [ SunFront ] };
- key <COPY> { [ XF86Copy ] };
- key <OPEN> { [ SunOpen ] };
- key <PAST> { [ XF86Paste ] };
- key <FIND> { [ Find ] };
- key <CUT> { [ XF86Cut ] };
- key <HELP> { [ Help ] };
- key <I147> { [ XF86MenuKB ] };
- key <I148> { [ XF86Calculator ] };
- key <I150> { [ XF86Sleep ] };
- key <I151> { [ XF86WakeUp ] };
- key <I152> { [ XF86Explorer ] };
- key <I153> { [ XF86Send ] };
- key <I155> { [ XF86Xfer ] };
- key <I156> { [ XF86Launch1 ] };
- key <I157> { [ XF86Launch2 ] };
- key <I158> { [ XF86WWW ] };
- key <I159> { [ XF86DOS ] };
- key <I160> { [ XF86ScreenSaver ] };
- key <I162> { [ XF86RotateWindows ] };
- key <I163> { [ XF86Mail ] };
- key <I164> { [ XF86Favorites ] };
- key <I165> { [ XF86MyComputer ] };
- key <I166> { [ XF86Back ] };
- key <I167> { [ XF86Forward ] };
- key <I169> { [ XF86Eject ] };
- key <I170> { [ XF86Eject, XF86Eject ] };
- key <I171> { [ XF86AudioNext ] };
- key <I172> { [ XF86AudioPlay, XF86AudioPause ] };
- key <I173> { [ XF86AudioPrev ] };
- key <I174> { [ XF86AudioStop, XF86Eject ] };
- key <I175> { [ XF86AudioRecord ] };
- key <I176> { [ XF86AudioRewind ] };
- key <I177> { [ XF86Phone ] };
- key <I179> { [ XF86Tools ] };
- key <I180> { [ XF86HomePage ] };
- key <I181> { [ XF86Reload ] };
- key <I182> { [ XF86Close ] };
- key <I185> { [ XF86ScrollUp ] };
- key <I186> { [ XF86ScrollDown ] };
- key <I187> { [ parenleft ] };
- key <I188> { [ parenright ] };
- key <I189> { [ XF86New ] };
- key <I190> { [ Redo ] };
- key <FK13> { [ XF86Tools ] };
- key <FK14> { [ XF86Launch5 ] };
- key <FK15> { [ XF86Launch6 ] };
- key <FK16> { [ XF86Launch7 ] };
- key <FK17> { [ XF86Launch8 ] };
- key <FK18> { [ XF86Launch9 ] };
- key <FK21> { [ XF86TouchpadToggle ] };
- key <FK22> { [ XF86TouchpadOn ] };
- key <FK23> { [ XF86TouchpadOff ] };
- key <MDSW> { [ Mode_switch ] };
- key <ALT> { [ NoSymbol, Alt_L ] };
- key <META> { [ NoSymbol, Meta_L ] };
- key <SUPR> { [ NoSymbol, Super_L ] };
- key <HYPR> { [ NoSymbol, Hyper_L ] };
- key <I208> { [ XF86AudioPlay ] };
- key <I209> { [ XF86AudioPause ] };
- key <I210> { [ XF86Launch3 ] };
- key <I211> { [ XF86Launch4 ] };
- key <I212> { [ XF86LaunchB ] };
- key <I213> { [ XF86Suspend ] };
- key <I214> { [ XF86Close ] };
- key <I215> { [ XF86AudioPlay ] };
- key <I216> { [ XF86AudioForward ] };
- key <I218> { [ Print ] };
- key <I220> { [ XF86WebCam ] };
- key <I223> { [ XF86Mail ] };
- key <I224> { [ XF86Messenger ] };
- key <I225> { [ XF86Search ] };
- key <I226> { [ XF86Go ] };
- key <I227> { [ XF86Finance ] };
- key <I228> { [ XF86Game ] };
- key <I229> { [ XF86Shop ] };
- key <I231> { [ Cancel ] };
- key <I232> { [ XF86MonBrightnessDown ] };
- key <I233> { [ XF86MonBrightnessUp ] };
- key <I234> { [ XF86AudioMedia ] };
- key <I235> { [ XF86Display ] };
- key <I236> { [ XF86KbdLightOnOff ] };
- key <I237> { [ XF86KbdBrightnessDown ] };
- key <I238> { [ XF86KbdBrightnessUp ] };
- key <I239> { [ XF86Send ] };
- key <I240> { [ XF86Reply ] };
- key <I241> { [ XF86MailForward ] };
- key <I242> { [ XF86Save ] };
- key <I243> { [ XF86Documents ] };
- key <I244> { [ XF86Battery ] };
- key <I245> { [ XF86Bluetooth ] };
- key <I246> { [ XF86WLAN ] };
- modifier_map Control { <LCTL> };
- modifier_map Shift { <LFSH> };
- modifier_map Shift { <RTSH> };
- modifier_map Mod1 { <LALT> };
- modifier_map Lock { <CAPS> };
- modifier_map Mod2 { <NMLK> };
- modifier_map Mod5 { <LVL3> };
- modifier_map Mod3 { <RCTL> };
- modifier_map Mod1 { <RALT> };
- modifier_map Mod4 { <LWIN> };
- modifier_map Mod4 { <RWIN> };
- modifier_map Mod5 { <MDSW> };
- modifier_map Mod1 { <META> };
- modifier_map Mod4 { <SUPR> };
- modifier_map Mod4 { <HYPR> };
+ key <ESC> { [ Escape ] };
+ key <AE01> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ 1, exclam ],
+ symbols[Group2]= [ 1, exclam ],
+ symbols[Group3]= [ 1, exclam, plusminus, NoSymbol, onesuperior, exclamdown, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ 1, degree, onesuperior, onesubscript, ordfeminine, NoSymbol, notsign, NoSymbol ]
+ };
+ key <AE02> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ 2, at ],
+ symbols[Group2]= [ 2, quotedbl ],
+ symbols[Group3]= [ 2, at, at, NoSymbol, twosuperior, NoSymbol, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ 2, section, twosuperior, twosubscript, masculine, NoSymbol, logicalor, NoSymbol ]
+ };
+ key <AE03> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ 3, numbersign ],
+ symbols[Group2]= [ 3, numerosign ],
+ symbols[Group3]= [ 3, numbersign, sterling, NoSymbol, threesuperior, sterling, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ 3, U2113, threesuperior, threesubscript, numerosign, NoSymbol, logicaland, NoSymbol ]
+ };
+ key <AE04> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ 4, dollar ],
+ symbols[Group2]= [ 4, semicolon ],
+ symbols[Group3]= [ 4, dollar, cent, NoSymbol, onequarter, currency, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ 4, guillemotright, U203A, femalesymbol, NoSymbol, NoSymbol, U22A5, NoSymbol ]
+ };
+ key <AE05> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ 5, percent ],
+ symbols[Group2]= [ 5, percent ],
+ symbols[Group3]= [ 5, percent, currency, NoSymbol, onehalf, threeeighths, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ 5, guillemotleft, U2039, malesymbol, periodcentered, NoSymbol, U2221, NoSymbol ]
+ };
+ key <AE06> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ { H, E, L, L, O }, asciicircum ],
+ symbols[Group2]= [ 6, colon ],
+ symbols[Group3]= [ 6, question, notsign, NoSymbol, threequarters, fiveeighths, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ 6, dollar, cent, U26A5, sterling, NoSymbol, U2225, NoSymbol ]
+ };
+ key <AE07> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ { Y, E, S, space, T, H, I, S, space, I, S, space, D, O, G }, ampersand ],
+ symbols[Group2]= [ 7, question ],
+ symbols[Group3]= [ 7, ampersand, braceleft, NoSymbol, NoSymbol, seveneighths, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ 7, EuroSign, yen, U03F0, currency, NoSymbol, rightarrow, NoSymbol ]
+ };
+ key <AE08> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ 8, asterisk ],
+ symbols[Group2]= [ 8, asterisk ],
+ symbols[Group3]= [ 8, asterisk, braceright, NoSymbol, NoSymbol, trademark, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ 8, doublelowquotemark, singlelowquotemark, U27E8, Tab, ISO_Left_Tab, U221E, NoSymbol ]
+ };
+ key <AE09> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ 9, parenleft ],
+ symbols[Group2]= [ 9, parenleft ],
+ symbols[Group3]= [ 9, parenleft, bracketleft, NoSymbol, NoSymbol, plusminus, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ 9, leftdoublequotemark, leftsinglequotemark, U27E9, KP_Divide, KP_Divide, variation, NoSymbol ]
+ };
+ key <AE10> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ 0, parenright ],
+ symbols[Group2]= [ 0, parenright ],
+ symbols[Group3]= [ 0, parenright, bracketright, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ 0, rightdoublequotemark, rightsinglequotemark, zerosubscript, KP_Multiply, KP_Multiply, emptyset, NoSymbol ]
+ };
+ key <AE11> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ minus, underscore ],
+ symbols[Group2]= [ minus, underscore ],
+ symbols[Group3]= [ minus, underscore, onehalf, NoSymbol, NoSymbol, questiondown, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ minus, emdash, NoSymbol, U2011, KP_Subtract, KP_Subtract, hyphen, NoSymbol ]
+ };
+ key <AE12> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ equal, plus ],
+ symbols[Group2]= [ equal, plus ],
+ symbols[Group3]= [ equal, plus, notsign, NoSymbol, dead_cedilla, dead_ogonek, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ dead_grave, dead_cedilla, dead_abovering, dead_abovereversedcomma, dead_diaeresis, NoSymbol, dead_macron, NoSymbol ]
+ };
+ key <BKSP> { [ BackSpace, BackSpace ] };
+ key <TAB> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ Tab, ISO_Left_Tab ],
+ symbols[Group2]= [ Tab, ISO_Left_Tab ],
+ symbols[Group3]= [ Tab, ISO_Left_Tab ],
+ symbols[Group4]= [ Tab, ISO_Left_Tab, Multi_key, ISO_Level5_Lock, NoSymbol, NoSymbol, NoSymbol, ISO_Level5_Lock ]
+ };
+ key <AD01> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ q, Q ],
+ symbols[Group2]= [ Cyrillic_shorti, Cyrillic_SHORTI ],
+ symbols[Group3]= [ q, Q, NoSymbol, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ x, X, ellipsis, Greek_xi, Prior, Prior, Greek_XI, NoSymbol ]
+ };
+ key <AD02> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ w, W ],
+ symbols[Group2]= [ Cyrillic_tse, Cyrillic_TSE ],
+ symbols[Group3]= [ w, W, NoSymbol, NoSymbol, lstroke, Lstroke, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ v, V, underscore, NoSymbol, BackSpace, BackSpace, radical, NoSymbol ]
+ };
+ key <AD03> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ e, E ],
+ symbols[Group2]= [ Cyrillic_u, Cyrillic_U ],
+ symbols[Group3]= [ e, E, NoSymbol, NoSymbol, oe, OE, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ l, L, bracketleft, Greek_lamda, Up, Up, Greek_LAMDA, NoSymbol ]
+ };
+ key <AD04> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ r, R ],
+ symbols[Group2]= [ Cyrillic_ka, Cyrillic_KA ],
+ symbols[Group3]= [ r, R, NoSymbol, NoSymbol, paragraph, registered, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ c, C, bracketright, Greek_chi, Delete, Delete, U2102, NoSymbol ]
+ };
+ key <AD05> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ t, T ],
+ symbols[Group2]= [ Cyrillic_ie, Cyrillic_IE ],
+ symbols[Group3]= [ t, T, NoSymbol, NoSymbol, tslash, Tslash, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ w, W, asciicircum, Greek_omega, Next, Next, Greek_OMEGA, NoSymbol ]
+ };
+ key <AD06> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ y, Y ],
+ symbols[Group2]= [ Cyrillic_en, Cyrillic_EN ],
+ symbols[Group3]= [ y, Y, NoSymbol, NoSymbol, leftarrow, yen, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ k, K, exclam, Greek_kappa, exclamdown, NoSymbol, multiply, NoSymbol ]
+ };
+ key <AD07> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ u, U ],
+ symbols[Group2]= [ Cyrillic_ghe, Cyrillic_GHE ],
+ symbols[Group3]= [ u, U, NoSymbol, NoSymbol, downarrow, uparrow, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ h, H, less, Greek_psi, KP_7, KP_7, Greek_PSI, NoSymbol ]
+ };
+ key <AD08> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ i, I ],
+ symbols[Group2]= [ Cyrillic_sha, Cyrillic_SHA ],
+ symbols[Group3]= [ i, I, NoSymbol, NoSymbol, rightarrow, idotless, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ g, G, greater, Greek_gamma, KP_8, KP_8, Greek_GAMMA, NoSymbol ]
+ };
+ key <AD09> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ o, O ],
+ symbols[Group2]= [ Cyrillic_shcha, Cyrillic_SHCHA ],
+ symbols[Group3]= [ o, O, section, NoSymbol, oslash, Oslash, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ f, F, equal, Greek_phi, KP_9, KP_9, Greek_PHI, NoSymbol ]
+ };
+ key <AD10> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ p, P ],
+ symbols[Group2]= [ Cyrillic_ze, Cyrillic_ZE ],
+ symbols[Group3]= [ p, P, paragraph, NoSymbol, thorn, THORN, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ q, Q, ampersand, U03D5, KP_Add, KP_Add, U211A, NoSymbol ]
+ };
+ key <AD11> {
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ bracketleft, braceleft ],
+ symbols[Group2]= [ Cyrillic_ha, Cyrillic_HA ],
+ symbols[Group3]= [ dead_circumflex, dead_diaeresis, dead_grave, NoSymbol, NoSymbol, dead_abovering, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ]
+ };
+ key <AD12> {
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ bracketright, braceright ],
+ symbols[Group2]= [ Cyrillic_hardsign, Cyrillic_HARDSIGN ],
+ symbols[Group3]= [ ccedilla, Ccedilla, asciitilde, NoSymbol, dead_tilde, dead_macron, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ dead_acute, dead_tilde, dead_stroke, dead_abovecomma, dead_doubleacute, NoSymbol, dead_breve, NoSymbol ]
+ };
+ key <RTRN> { [ Return ] };
+ key <LCTL> { [ Control_L ] };
+ key <AC01> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ a, A ],
+ symbols[Group2]= [ Cyrillic_ef, Cyrillic_EF ],
+ symbols[Group3]= [ a, A, NoSymbol, NoSymbol, ae, AE, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ u, U, backslash, NoSymbol, Home, Home, includedin, NoSymbol ]
+ };
+ key <AC02> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ s, S ],
+ symbols[Group2]= [ Cyrillic_yeru, Cyrillic_YERU ],
+ symbols[Group3]= [ s, S, NoSymbol, NoSymbol, ssharp, section, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ i, I, slash, Greek_iota, Left, Left, integral, NoSymbol ]
};
+ key <AC03> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ d, D ],
+ symbols[Group2]= [ Cyrillic_ve, Cyrillic_VE ],
+ symbols[Group3]= [ d, D, NoSymbol, NoSymbol, eth, ETH, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ a, A, braceleft, Greek_alpha, Down, Down, U2200, NoSymbol ]
+ };
+ key <AC04> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ f, F ],
+ symbols[Group2]= [ Cyrillic_a, Cyrillic_A ],
+ symbols[Group3]= [ f, F, NoSymbol, NoSymbol, NoSymbol, ordfeminine, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ e, E, braceright, Greek_epsilon, Right, Right, U2203, NoSymbol ]
+ };
+ key <AC05> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ g, G ],
+ symbols[Group2]= [ Cyrillic_pe, Cyrillic_PE ],
+ symbols[Group3]= [ g, G, NoSymbol, NoSymbol, eng, ENG, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ o, O, asterisk, Greek_omicron, End, End, elementof, NoSymbol ]
+ };
+ key <AC06> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ h, H ],
+ symbols[Group2]= [ Cyrillic_er, Cyrillic_ER ],
+ symbols[Group3]= [ h, H, NoSymbol, NoSymbol, hstroke, Hstroke, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ s, S, question, Greek_sigma, questiondown, NoSymbol, Greek_SIGMA, NoSymbol ]
+ };
+ key <AC07> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ j, J ],
+ symbols[Group2]= [ Cyrillic_o, Cyrillic_O ],
+ symbols[Group3]= [ j, J, NoSymbol, NoSymbol, U0133, U0132, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ n, N, parenleft, Greek_nu, KP_4, KP_4, U2115, NoSymbol ]
+ };
+ key <AC08> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ k, K ],
+ symbols[Group2]= [ Cyrillic_el, Cyrillic_EL ],
+ symbols[Group3]= [ k, K, NoSymbol, NoSymbol, kra, NoSymbol, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ r, R, parenright, Greek_rho, KP_5, KP_5, U211D, NoSymbol ]
+ };
+ key <AC09> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ l, L ],
+ symbols[Group2]= [ Cyrillic_de, Cyrillic_DE ],
+ symbols[Group3]= [ l, L, NoSymbol, NoSymbol, U0140, U013F, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ t, T, minus, Greek_tau, KP_6, KP_6, partialderivative, NoSymbol ]
+ };
+ key <AC10> {
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ semicolon, colon ],
+ symbols[Group2]= [ Cyrillic_zhe, Cyrillic_ZHE ],
+ symbols[Group3]= [ semicolon, colon, degree, NoSymbol, dead_acute, dead_doubleacute, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ d, D, colon, Greek_delta, KP_Separator, comma, Greek_DELTA, NoSymbol ]
+ };
+ key <AC11> {
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ apostrophe, quotedbl ],
+ symbols[Group2]= [ Cyrillic_e, Cyrillic_E ],
+ symbols[Group3]= [ egrave, Egrave, braceleft, NoSymbol, NoSymbol, dead_caron, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ y, Y, at, Greek_upsilon, period, KP_Decimal, nabla, NoSymbol ]
+ };
+ key <TLDE> {
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ grave, asciitilde ],
+ symbols[Group2]= [ Cyrillic_io, Cyrillic_IO ],
+ symbols[Group3]= [ slash, backslash, bar, NoSymbol, NoSymbol, hyphen, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ dead_circumflex, dead_caron, U21BB, U02DE, dead_abovedot, Pointer_EnableKeys, dead_belowdot, NoSymbol ]
+ };
+ key <LFSH> {
+ type[group4]= "TWO_LEVEL",
+ symbols[Group1]= [ Shift_L ],
+ symbols[Group2]= [ Shift_L ],
+ symbols[Group3]= [ Shift_L ],
+ symbols[Group4]= [ Shift_L, Caps_Lock ]
+ };
+ key <BKSL> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "ONE_LEVEL",
+ symbols[Group1]= [ backslash, bar ],
+ symbols[Group2]= [ backslash, slash ],
+ symbols[Group3]= [ agrave, Agrave, braceright, NoSymbol, NoSymbol, dead_breve, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ ISO_Level3_Shift ]
+ };
+ key <AB01> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ z, Z ],
+ symbols[Group2]= [ Cyrillic_ya, Cyrillic_YA ],
+ symbols[Group3]= [ z, Z, guillemotleft, NoSymbol ],
+ symbols[Group4]= [ udiaeresis, Udiaeresis, numbersign, NoSymbol, Escape, Escape, union, NoSymbol ]
+ };
+ key <AB02> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "FOUR_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ x, X ],
+ symbols[Group2]= [ Cyrillic_che, Cyrillic_CHE ],
+ symbols[Group3]= [ x, X, guillemotright, NoSymbol ],
+ symbols[Group4]= [ odiaeresis, Odiaeresis, dollar, U03F5, Tab, Tab, intersection, NoSymbol ]
+ };
+ key <AB03> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ c, C ],
+ symbols[Group2]= [ Cyrillic_es, Cyrillic_ES ],
+ symbols[Group3]= [ c, C, NoSymbol, NoSymbol, cent, copyright, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ adiaeresis, Adiaeresis, bar, Greek_eta, Insert, Insert, U2135, NoSymbol ]
+ };
+ key <AB04> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ v, V ],
+ symbols[Group2]= [ Cyrillic_em, Cyrillic_EM ],
+ symbols[Group3]= [ v, V, NoSymbol, NoSymbol, leftdoublequotemark, leftsinglequotemark, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ p, P, asciitilde, Greek_pi, Return, Return, Greek_PI, NoSymbol ]
+ };
+ key <AB05> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ b, B ],
+ symbols[Group2]= [ Cyrillic_i, Cyrillic_I ],
+ symbols[Group3]= [ b, B, NoSymbol, NoSymbol, rightdoublequotemark, rightsinglequotemark, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ z, Z, grave, Greek_zeta, Undo, Undo, U2124, NoSymbol ]
+ };
+ key <AB06> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ n, N ],
+ symbols[Group2]= [ Cyrillic_te, Cyrillic_TE ],
+ symbols[Group3]= [ n, N, NoSymbol, NoSymbol, U0149, U266A, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ]
+ };
+ key <AB07> {
+ type[group1]= "ALPHABETIC",
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ m, M ],
+ symbols[Group2]= [ Cyrillic_softsign, Cyrillic_SOFTSIGN ],
+ symbols[Group3]= [ m, M, mu, NoSymbol, mu, masculine, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ m, M, percent, Greek_mu, KP_1, KP_1, ifonlyif, NoSymbol ]
+ };
+ key <AB08> {
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ comma, less ],
+ symbols[Group2]= [ Cyrillic_be, Cyrillic_BE ],
+ symbols[Group3]= [ comma, apostrophe, less, NoSymbol, Greek_horizbar, multiply, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ comma, endash, quotedbl, U03F1, KP_2, KP_2, U21D2, NoSymbol ]
+ };
+ key <AB09> {
+ type[group2]= "ALPHABETIC",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ period, greater ],
+ symbols[Group2]= [ Cyrillic_yu, Cyrillic_YU ],
+ symbols[Group3]= [ period, quotedbl, greater, NoSymbol, periodcentered, division, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, KP_3, U21A6, NoSymbol ]
+ };
+ key <AB10> {
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ symbols[Group1]= [ slash, question ],
+ symbols[Group2]= [ period, comma ],
+ symbols[Group3]= [ eacute, Eacute, dead_acute, NoSymbol, NoSymbol, dead_abovedot, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, Greek_THETA, NoSymbol ]
+ };
+ key <RTSH> {
+ type[group4]= "TWO_LEVEL",
+ symbols[Group1]= [ Shift_R ],
+ symbols[Group2]= [ Shift_R ],
+ symbols[Group3]= [ Shift_R ],
+ symbols[Group4]= [ Shift_R, Caps_Lock ]
+ };
+ key <KPMU> {
+ type[group1]= "CTRL+ALT",
+ type[group2]= "CTRL+ALT",
+ type[group3]= "CTRL+ALT",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ],
+ symbols[Group2]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ],
+ symbols[Group3]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86ClearGrab ],
+ symbols[Group4]= [ KP_Multiply, KP_Multiply, U2219, U2299, multiply, NoSymbol, U2297, NoSymbol ]
+ };
+ key <LALT> { [ Alt_L, Meta_L ] };
+ key <SPCE> {
+ type[group3]= "FOUR_LEVEL",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ space ],
+ symbols[Group2]= [ space ],
+ symbols[Group3]= [ space, space, nobreakspace, NoSymbol ],
+ symbols[Group4]= [ space, space, space, nobreakspace, KP_0, KP_0, U202F, NoSymbol ]
+ };
+ key <CAPS> {
+ type= "ONE_LEVEL",
+ symbols[Group1]= [ Caps_Lock ],
+ symbols[Group2]= [ Caps_Lock ],
+ symbols[Group3]= [ Caps_Lock ],
+ symbols[Group4]= [ ISO_Level3_Shift ]
+ };
+ key <FK01> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F1, F1, F1, F1, XF86Switch_VT_1 ]
+ };
+ key <FK02> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F2, F2, F2, F2, XF86Switch_VT_2 ]
+ };
+ key <FK03> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F3, F3, F3, F3, XF86Switch_VT_3 ]
+ };
+ key <FK04> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F4, F4, F4, F4, XF86Switch_VT_4 ]
+ };
+ key <FK05> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F5, F5, F5, F5, XF86Switch_VT_5 ]
+ };
+ key <FK06> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F6, F6, F6, F6, XF86Switch_VT_6 ]
+ };
+ key <FK07> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F7, F7, F7, F7, XF86Switch_VT_7 ]
+ };
+ key <FK08> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F8, F8, F8, F8, XF86Switch_VT_8 ]
+ };
+ key <FK09> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F9, F9, F9, F9, XF86Switch_VT_9 ]
+ };
+ key <FK10> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F10, F10, F10, F10, XF86Switch_VT_10 ]
+ };
+ key <NMLK> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ Num_Lock ],
+ symbols[Group2]= [ Num_Lock ],
+ symbols[Group3]= [ Num_Lock ],
+ symbols[Group4]= [ Tab, ISO_Left_Tab, equal, approxeq, notequal, Pointer_EnableKeys, identical, NoSymbol ]
+ };
+ key <SCLK> { [ Scroll_Lock ] };
+ key <KP7> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Home, KP_7 ],
+ symbols[Group2]= [ KP_Home, KP_7 ],
+ symbols[Group3]= [ KP_Home, KP_7 ],
+ symbols[Group4]= [ KP_7, U2714, U2195, U226A, KP_Home, KP_Home, upstile, NoSymbol ]
+ };
+ key <KP8> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Up, KP_8 ],
+ symbols[Group2]= [ KP_Up, KP_8 ],
+ symbols[Group3]= [ KP_Up, KP_8 ],
+ symbols[Group4]= [ KP_8, U2718, uparrow, intersection, KP_Up, KP_Up, U22C2, NoSymbol ]
+ };
+ key <KP9> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Prior, KP_9 ],
+ symbols[Group2]= [ KP_Prior, KP_9 ],
+ symbols[Group3]= [ KP_Prior, KP_9 ],
+ symbols[Group4]= [ KP_9, dagger, U20D7, U226B, KP_Prior, KP_Prior, U2309, NoSymbol ]
+ };
+ key <KPSU> {
+ type[group1]= "CTRL+ALT",
+ type[group2]= "CTRL+ALT",
+ type[group3]= "CTRL+ALT",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ],
+ symbols[Group2]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ],
+ symbols[Group3]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86Prev_VMode ],
+ symbols[Group4]= [ KP_Subtract, KP_Subtract, U2212, U2296, U2216, NoSymbol, U2238, NoSymbol ]
+ };
+ key <KP4> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Left, KP_4 ],
+ symbols[Group2]= [ KP_Left, KP_4 ],
+ symbols[Group3]= [ KP_Left, KP_4 ],
+ symbols[Group4]= [ KP_4, club, leftarrow, includedin, KP_Left, KP_Left, U2286, NoSymbol ]
+ };
+ key <KP5> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Begin, KP_5 ],
+ symbols[Group2]= [ KP_Begin, KP_5 ],
+ symbols[Group3]= [ KP_Begin, KP_5 ],
+ symbols[Group4]= [ KP_5, EuroSign, colon, U22B6, KP_Begin, KP_Begin, U22B7, NoSymbol ]
+ };
+ key <KP6> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Right, KP_6 ],
+ symbols[Group2]= [ KP_Right, KP_6 ],
+ symbols[Group3]= [ KP_Right, KP_6 ],
+ symbols[Group4]= [ KP_6, U2023, rightarrow, includes, KP_Right, KP_Right, U2287, NoSymbol ]
+ };
+ key <KPAD> {
+ type[group1]= "CTRL+ALT",
+ type[group2]= "CTRL+ALT",
+ type[group3]= "CTRL+ALT",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ],
+ symbols[Group2]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ],
+ symbols[Group3]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86Next_VMode ],
+ symbols[Group4]= [ KP_Add, KP_Add, plusminus, U2295, U2213, NoSymbol, U2214, NoSymbol ]
+ };
+ key <KP1> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_End, KP_1 ],
+ symbols[Group2]= [ KP_End, KP_1 ],
+ symbols[Group3]= [ KP_End, KP_1 ],
+ symbols[Group4]= [ KP_1, diamond, U2194, lessthanequal, KP_End, KP_End, downstile, NoSymbol ]
+ };
+ key <KP2> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Down, KP_2 ],
+ symbols[Group2]= [ KP_Down, KP_2 ],
+ symbols[Group3]= [ KP_Down, KP_2 ],
+ symbols[Group4]= [ KP_2, heart, downarrow, union, KP_Down, KP_Down, U22C3, NoSymbol ]
+ };
+ key <KP3> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Next, KP_3 ],
+ symbols[Group2]= [ KP_Next, KP_3 ],
+ symbols[Group3]= [ KP_Next, KP_3 ],
+ symbols[Group4]= [ KP_3, U2660, U21CC, greaterthanequal, KP_Next, KP_Next, U230B, NoSymbol ]
+ };
+ key <KP0> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Insert, KP_0 ],
+ symbols[Group2]= [ KP_Insert, KP_0 ],
+ symbols[Group3]= [ KP_Insert, KP_0 ],
+ symbols[Group4]= [ KP_0, U2423, percent, U2030, KP_Insert, KP_Insert, U25A1, NoSymbol ]
+ };
+ key <KPDL> {
+ type[group2]= "KEYPAD",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Delete, KP_Decimal ],
+ symbols[Group2]= [ KP_Delete, KP_Separator ],
+ symbols[Group3]= [ KP_Delete, KP_Decimal ],
+ symbols[Group4]= [ KP_Separator, period, comma, minutes, KP_Delete, KP_Delete, seconds, NoSymbol ]
+ };
+ key <LVL3> { [ ISO_Level3_Shift ] };
+ key <LSGT> {
+ type[group1]= "FOUR_LEVEL",
+ type[group3]= "EIGHT_LEVEL_SEMIALPHABETIC",
+ type[group4]= "ONE_LEVEL",
+ symbols[Group1]= [ less, greater, bar, brokenbar ],
+ symbols[Group2]= [ slash, bar ],
+ symbols[Group3]= [ ugrave, Ugrave, degree, NoSymbol, NoSymbol, brokenbar, NoSymbol, NoSymbol ],
+ symbols[Group4]= [ ISO_Level5_Shift ]
+ };
+ key <FK11> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F11, F11, F11, F11, XF86Switch_VT_11 ]
+ };
+ key <FK12> {
+ type= "CTRL+ALT",
+ symbols[Group1]= [ F12, F12, F12, F12, XF86Switch_VT_12 ]
+ };
+ key <KATA> { [ Katakana ] };
+ key <HIRA> { [ Hiragana ] };
+ key <HENK> { [ Henkan_Mode ] };
+ key <HKTG> { [ Hiragana_Katakana ] };
+ key <MUHE> { [ Muhenkan ] };
+ key <KPEN> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Enter ],
+ symbols[Group2]= [ KP_Enter ],
+ symbols[Group3]= [ KP_Enter ],
+ symbols[Group4]= [ KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, NoSymbol ]
+ };
+ key <RCTL> {
+ type= "ONE_LEVEL",
+ symbols[Group1]= [ Control_R ],
+ symbols[Group2]= [ Control_R ],
+ symbols[Group3]= [ ISO_Level5_Shift ]
+ };
+ key <KPDV> {
+ type[group1]= "CTRL+ALT",
+ type[group2]= "CTRL+ALT",
+ type[group3]= "CTRL+ALT",
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ],
+ symbols[Group2]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ],
+ symbols[Group3]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86Ungrab ],
+ symbols[Group4]= [ KP_Divide, KP_Divide, division, U2300, U2215, NoSymbol, U2223, NoSymbol ]
+ };
+ key <PRSC> {
+ type= "PC_ALT_LEVEL2",
+ symbols[Group1]= [ Print, Sys_Req ]
+ };
+ key <RALT> {
+ type[group1]= "TWO_LEVEL",
+ type[group2]= "TWO_LEVEL",
+ type[group3]= "ONE_LEVEL",
+ type[group4]= "ONE_LEVEL",
+ symbols[Group1]= [ Alt_R, Meta_R ],
+ symbols[Group2]= [ Alt_R, Meta_R ],
+ symbols[Group3]= [ ISO_Level3_Shift ],
+ symbols[Group4]= [ ISO_Level5_Shift ]
+ };
+ key <LNFD> { [ Linefeed ] };
+ key <HOME> { [ Home ] };
+ key <UP> { [ Up ] };
+ key <PGUP> { [ Prior ] };
+ key <LEFT> { [ Left ] };
+ key <RGHT> { [ Right ] };
+ key <END> { [ End ] };
+ key <DOWN> { [ Down ] };
+ key <PGDN> { [ Next ] };
+ key <INS> { [ Insert ] };
+ key <DELE> { [ Delete ] };
+ key <MUTE> { [ XF86AudioMute ] };
+ key <VOL-> { [ XF86AudioLowerVolume ] };
+ key <VOL+> { [ XF86AudioRaiseVolume ] };
+ key <POWR> { [ XF86PowerOff ] };
+ key <KPEQ> {
+ type[group4]= "EIGHT_LEVEL",
+ symbols[Group1]= [ KP_Equal ],
+ symbols[Group2]= [ KP_Equal ],
+ symbols[Group3]= [ KP_Equal ],
+ symbols[Group4]= [ KP_Equal, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ]
+ };
+ key <I126> { [ plusminus ] };
+ key <PAUS> {
+ type= "PC_CONTROL_LEVEL2",
+ symbols[Group1]= [ Pause, Break ]
+ };
+ key <I128> { [ XF86LaunchA ] };
+ key <I129> { [ KP_Decimal, KP_Decimal ] };
+ key <HNGL> { [ Hangul ] };
+ key <HJCV> { [ Hangul_Hanja ] };
+ key <LWIN> { [ Super_L ] };
+ key <RWIN> { [ Super_R ] };
+ key <COMP> { [ Menu ] };
+ key <STOP> { [ Cancel ] };
+ key <AGAI> { [ Redo ] };
+ key <PROP> { [ SunProps ] };
+ key <UNDO> { [ Undo ] };
+ key <FRNT> { [ SunFront ] };
+ key <COPY> { [ XF86Copy ] };
+ key <OPEN> { [ SunOpen ] };
+ key <PAST> { [ XF86Paste ] };
+ key <FIND> { [ Find ] };
+ key <CUT> { [ XF86Cut ] };
+ key <HELP> { [ Help ] };
+ key <I147> { [ XF86MenuKB ] };
+ key <I148> { [ XF86Calculator ] };
+ key <I150> { [ XF86Sleep ] };
+ key <I151> { [ XF86WakeUp ] };
+ key <I152> { [ XF86Explorer ] };
+ key <I153> { [ XF86Send ] };
+ key <I155> { [ XF86Xfer ] };
+ key <I156> { [ XF86Launch1 ] };
+ key <I157> { [ XF86Launch2 ] };
+ key <I158> { [ XF86WWW ] };
+ key <I159> { [ XF86DOS ] };
+ key <I160> { [ XF86ScreenSaver ] };
+ key <I162> { [ XF86RotateWindows ] };
+ key <I163> { [ XF86Mail ] };
+ key <I164> { [ XF86Favorites ] };
+ key <I165> { [ XF86MyComputer ] };
+ key <I166> { [ XF86Back ] };
+ key <I167> { [ XF86Forward ] };
+ key <I169> { [ XF86Eject ] };
+ key <I170> { [ XF86Eject, XF86Eject ] };
+ key <I171> { [ XF86AudioNext ] };
+ key <I172> { [ XF86AudioPlay, XF86AudioPause ] };
+ key <I173> { [ XF86AudioPrev ] };
+ key <I174> { [ XF86AudioStop, XF86Eject ] };
+ key <I175> { [ XF86AudioRecord ] };
+ key <I176> { [ XF86AudioRewind ] };
+ key <I177> { [ XF86Phone ] };
+ key <I179> { [ XF86Tools ] };
+ key <I180> { [ XF86HomePage ] };
+ key <I181> { [ XF86Reload ] };
+ key <I182> { [ XF86Close ] };
+ key <I185> { [ XF86ScrollUp ] };
+ key <I186> { [ XF86ScrollDown ] };
+ key <I187> { [ parenleft ] };
+ key <I188> { [ parenright ] };
+ key <I189> { [ XF86New ] };
+ key <I190> { [ Redo ] };
+ key <FK13> { [ XF86Tools ] };
+ key <FK14> { [ XF86Launch5 ] };
+ key <FK15> { [ XF86Launch6 ] };
+ key <FK16> { [ XF86Launch7 ] };
+ key <FK17> { [ XF86Launch8 ] };
+ key <FK18> { [ XF86Launch9 ] };
+ key <FK21> { [ XF86TouchpadToggle ] };
+ key <FK22> { [ XF86TouchpadOn ] };
+ key <FK23> { [ XF86TouchpadOff ] };
+ key <MDSW> { [ Mode_switch ] };
+ key <ALT> { [ NoSymbol, Alt_L ] };
+ key <META> { [ NoSymbol, Meta_L ] };
+ key <SUPR> { [ NoSymbol, Super_L ] };
+ key <HYPR> { [ NoSymbol, Hyper_L ] };
+ key <I208> { [ XF86AudioPlay ] };
+ key <I209> { [ XF86AudioPause ] };
+ key <I210> { [ XF86Launch3 ] };
+ key <I211> { [ XF86Launch4 ] };
+ key <I212> { [ XF86LaunchB ] };
+ key <I213> { [ XF86Suspend ] };
+ key <I214> { [ XF86Close ] };
+ key <I215> { [ XF86AudioPlay ] };
+ key <I216> { [ XF86AudioForward ] };
+ key <I218> { [ Print ] };
+ key <I220> { [ XF86WebCam ] };
+ key <I223> { [ XF86Mail ] };
+ key <I224> { [ XF86Messenger ] };
+ key <I225> { [ XF86Search ] };
+ key <I226> { [ XF86Go ] };
+ key <I227> { [ XF86Finance ] };
+ key <I228> { [ XF86Game ] };
+ key <I229> { [ XF86Shop ] };
+ key <I231> { [ Cancel ] };
+ key <I232> { [ XF86MonBrightnessDown ] };
+ key <I233> { [ XF86MonBrightnessUp ] };
+ key <I234> { [ XF86AudioMedia ] };
+ key <I235> { [ XF86Display ] };
+ key <I236> { [ XF86KbdLightOnOff ] };
+ key <I237> { [ XF86KbdBrightnessDown ] };
+ key <I238> { [ XF86KbdBrightnessUp ] };
+ key <I239> { [ XF86Send ] };
+ key <I240> { [ XF86Reply ] };
+ key <I241> { [ XF86MailForward ] };
+ key <I242> { [ XF86Save ] };
+ key <I243> { [ XF86Documents ] };
+ key <I244> { [ XF86Battery ] };
+ key <I245> { [ XF86Bluetooth ] };
+ key <I246> { [ XF86WLAN ] };
+ modifier_map Control { <LCTL> };
+ modifier_map Shift { <LFSH> };
+ modifier_map Shift { <RTSH> };
+ modifier_map Mod1 { <LALT> };
+ modifier_map Lock { <CAPS> };
+ modifier_map Mod2 { <NMLK> };
+ modifier_map Mod5 { <LVL3> };
+ modifier_map Mod3 { <RCTL> };
+ modifier_map Mod1 { <RALT> };
+ modifier_map Mod4 { <LWIN> };
+ modifier_map Mod4 { <RWIN> };
+ modifier_map Mod5 { <MDSW> };
+ modifier_map Mod1 { <META> };
+ modifier_map Mod4 { <SUPR> };
+ modifier_map Mod4 { <HYPR> };
+};
};