var keys = { mac: {}, windows: {}, linux: {} };
keys["windows"][8] = "Backspace";
keys["windows"][9] = "Tab";
keys["windows"][13] = "Return";
keys["windows"][27] = "Escape";
keys["windows"][32] = "Space";
keys["windows"][33] = "!";
keys["windows"][34] = "&quot;";
keys["windows"][35] = "#";
keys["windows"][36] = "$";
keys["windows"][37] = "%";
keys["windows"][38] = "&";
keys["windows"][39] = "'";
keys["windows"][40] = "(";
keys["windows"][41] = ")";
keys["windows"][42] = "*";
keys["windows"][43] = "+";
keys["windows"][44] = ",";
keys["windows"][45] = "-";
keys["windows"][46] = ".";
keys["windows"][47] = "/";
keys["windows"][48] = "0";
keys["windows"][49] = "1";
keys["windows"][50] = "2";
keys["windows"][51] = "3";
keys["windows"][52] = "4";
keys["windows"][53] = "5";
keys["windows"][54] = "6";
keys["windows"][55] = "7";
keys["windows"][56] = "8";
keys["windows"][57] = "9";
keys["windows"][58] = ":";
keys["windows"][59] = ";";
keys["windows"][60] = "&gt;";
keys["windows"][61] = "=";
keys["windows"][62] = "&lt;";
keys["windows"][63] = "?";
keys["windows"][64] = "@";
keys["windows"][65] = "A";
keys["windows"][66] = "B";
keys["windows"][67] = "C";
keys["windows"][68] = "D";
keys["windows"][69] = "E";
keys["windows"][70] = "F";
keys["windows"][71] = "G";
keys["windows"][72] = "H";
keys["windows"][73] = "I";
keys["windows"][74] = "J";
keys["windows"][75] = "K";
keys["windows"][76] = "L";
keys["windows"][77] = "M";
keys["windows"][78] = "N";
keys["windows"][79] = "O";
keys["windows"][80] = "P";
keys["windows"][81] = "Q";
keys["windows"][82] = "R";
keys["windows"][83] = "S";
keys["windows"][84] = "T";
keys["windows"][85] = "U";
keys["windows"][86] = "V";
keys["windows"][87] = "W";
keys["windows"][88] = "X";
keys["windows"][89] = "Y";
keys["windows"][90] = "Z";
keys["windows"][91] = "[";
keys["windows"][92] = "\\";
keys["windows"][93] = "]";
keys["windows"][94] = "^";
keys["windows"][95] = "_";
keys["windows"][96] = "`";
keys["windows"][97] = "a";
keys["windows"][98] = "b";
keys["windows"][99] = "c";
keys["windows"][100] = "d";
keys["windows"][101] = "e";
keys["windows"][102] = "f";
keys["windows"][103] = "g";
keys["windows"][104] = "h";
keys["windows"][105] = "i";
keys["windows"][106] = "j";
keys["windows"][107] = "k";
keys["windows"][108] = "l";
keys["windows"][109] = "m";
keys["windows"][110] = "n";
keys["windows"][111] = "o";
keys["windows"][112] = "p";
keys["windows"][113] = "q";
keys["windows"][114] = "r";
keys["windows"][115] = "s";
keys["windows"][116] = "t";
keys["windows"][117] = "u";
keys["windows"][118] = "v";
keys["windows"][119] = "w";
keys["windows"][120] = "x";
keys["windows"][121] = "y";
keys["windows"][122] = "z";
keys["windows"][123] = "{";
keys["windows"][124] = "|";
keys["windows"][125] = "}";
keys["windows"][126] = "~";
keys["windows"][127] = "Delete";
keys["windows"][303] = "Cancel";
keys["windows"][305] = "Clear";
keys["windows"][306] = "Shift";
keys["windows"][307] = "Alt";
keys["windows"][308] = "Ctrl";
keys["windows"][309] = "Menu";
keys["windows"][310] = "Pause";
keys["windows"][311] = "Capital";
keys["windows"][312] = "End";
keys["windows"][313] = "Home";
keys["windows"][314] = "&#x2190;";
keys["windows"][315] = "&#x2191;";
keys["windows"][316] = "&#x2192;";
keys["windows"][317] = "&#x2193;";
keys["windows"][318] = "Select";
keys["windows"][319] = "Print";
keys["windows"][320] = "Execute";
keys["windows"][321] = "Snapshot";
keys["windows"][322] = "Insert";
keys["windows"][323] = "Help";
keys["windows"][324] = "Numpad 0";
keys["windows"][325] = "Numpad 1";
keys["windows"][326] = "Numpad 2";
keys["windows"][327] = "Numpad 3";
keys["windows"][328] = "Numpad 4";
keys["windows"][329] = "Numpad 5";
keys["windows"][330] = "Numpad 6";
keys["windows"][331] = "Numpad 7";
keys["windows"][332] = "Numpad 8";
keys["windows"][333] = "Numpad 9";
keys["windows"][334] = "*";
keys["windows"][335] = "+";
keys["windows"][337] = "-";
keys["windows"][338] = ".";
keys["windows"][339] = "/";
keys["windows"][340] = "F1";
keys["windows"][341] = "F2";
keys["windows"][342] = "F3";
keys["windows"][343] = "F4";
keys["windows"][344] = "F5";
keys["windows"][345] = "F6";
keys["windows"][346] = "F7";
keys["windows"][347] = "F8";
keys["windows"][348] = "F9";
keys["windows"][349] = "F10";
keys["windows"][350] = "F11";
keys["windows"][351] = "F12";
keys["windows"][352] = "F13";
keys["windows"][353] = "F14";
keys["windows"][354] = "F15";
keys["windows"][355] = "F16";
keys["windows"][356] = "F17";
keys["windows"][357] = "F18";
keys["windows"][358] = "F19";
keys["windows"][359] = "F20";
keys["windows"][360] = "F21";
keys["windows"][361] = "F22";
keys["windows"][362] = "F23";
keys["windows"][363] = "F24";
keys["windows"][364] = "Numlock";
keys["windows"][365] = "Scroll";
keys["windows"][366] = "Page Up";
keys["windows"][367] = "Page Down";
keys["windows"][368] = "Numpad Space";
keys["windows"][369] = "Numpad Tab";
keys["windows"][370] = "Numpad Enter";
keys["windows"][371] = "Numpad F1";
keys["windows"][372] = "Numpad F2";
keys["windows"][373] = "Numpad F3";
keys["windows"][374] = "Numpad F4";
keys["windows"][375] = "Numpad Home";
keys["windows"][376] = "Numpad &#x2190;";
keys["windows"][377] = "Numpad &#x2191;";
keys["windows"][378] = "Numpad &#x2192;";
keys["windows"][379] = "Numpad &#x2193;";
keys["windows"][380] = "Numpad Page Up";
keys["windows"][381] = "Numpad Page Down";
keys["windows"][382] = "Numpad End";
keys["windows"][383] = "Numpad Home";
keys["windows"][384] = "Numpad Insert";
keys["windows"][385] = "Numpad Delete";
keys["windows"][386] = "Numpad =";
keys["windows"][387] = "Numpad *";
keys["windows"][388] = "Numpad +";
keys["windows"][389] = "Numpad Separator";
keys["windows"][390] = "Numpad -";
keys["windows"][391] = "Numpad .";
keys["windows"][392] = "Numpad /";
keys["windows"][393] = "Left Windows Key";
keys["windows"][394] = "Right Windows Key";
keys["windows"][395] = "Windows Menu Key";
keys["windows"]["+"] = "+";
keys["mac"][8] = "&#x232B;";
keys["mac"][9] = "&#x21E5;";
keys["mac"][13] = "&#x21A9;";
keys["mac"][27] = "&#x238B;";
keys["mac"][32] = "Space";
keys["mac"][33] = "!";
keys["mac"][34] = "&quot;";
keys["mac"][35] = "#";
keys["mac"][36] = "$";
keys["mac"][37] = "%";
keys["mac"][38] = "&";
keys["mac"][39] = "'";
keys["mac"][40] = "(";
keys["mac"][41] = ")";
keys["mac"][42] = "*";
keys["mac"][43] = "+";
keys["mac"][44] = ",";
keys["mac"][45] = "-";
keys["mac"][46] = ".";
keys["mac"][47] = "/";
keys["mac"][48] = "0";
keys["mac"][49] = "1";
keys["mac"][50] = "2";
keys["mac"][51] = "3";
keys["mac"][52] = "4";
keys["mac"][53] = "5";
keys["mac"][54] = "6";
keys["mac"][55] = "7";
keys["mac"][56] = "8";
keys["mac"][57] = "9";
keys["mac"][58] = ":";
keys["mac"][59] = ";";
keys["mac"][60] = "&gt;";
keys["mac"][61] = "=";
keys["mac"][62] = "&lt;";
keys["mac"][63] = "?";
keys["mac"][64] = "@";
keys["mac"][65] = "A";
keys["mac"][66] = "B";
keys["mac"][67] = "C";
keys["mac"][68] = "D";
keys["mac"][69] = "E";
keys["mac"][70] = "F";
keys["mac"][71] = "G";
keys["mac"][72] = "H";
keys["mac"][73] = "I";
keys["mac"][74] = "J";
keys["mac"][75] = "K";
keys["mac"][76] = "L";
keys["mac"][77] = "M";
keys["mac"][78] = "N";
keys["mac"][79] = "O";
keys["mac"][80] = "P";
keys["mac"][81] = "Q";
keys["mac"][82] = "R";
keys["mac"][83] = "S";
keys["mac"][84] = "T";
keys["mac"][85] = "U";
keys["mac"][86] = "V";
keys["mac"][87] = "W";
keys["mac"][88] = "X";
keys["mac"][89] = "Y";
keys["mac"][90] = "Z";
keys["mac"][91] = "[";
keys["mac"][92] = "\\";
keys["mac"][93] = "]";
keys["mac"][94] = "^";
keys["mac"][95] = "_";
keys["mac"][96] = "`";
keys["mac"][97] = "a";
keys["mac"][98] = "b";
keys["mac"][99] = "c";
keys["mac"][100] = "d";
keys["mac"][101] = "e";
keys["mac"][102] = "f";
keys["mac"][103] = "g";
keys["mac"][104] = "h";
keys["mac"][105] = "i";
keys["mac"][106] = "j";
keys["mac"][107] = "k";
keys["mac"][108] = "l";
keys["mac"][109] = "m";
keys["mac"][110] = "n";
keys["mac"][111] = "o";
keys["mac"][112] = "p";
keys["mac"][113] = "q";
keys["mac"][114] = "r";
keys["mac"][115] = "s";
keys["mac"][116] = "t";
keys["mac"][117] = "u";
keys["mac"][118] = "v";
keys["mac"][119] = "w";
keys["mac"][120] = "x";
keys["mac"][121] = "y";
keys["mac"][122] = "z";
keys["mac"][123] = "{";
keys["mac"][124] = "|";
keys["mac"][125] = "}";
keys["mac"][126] = "~";
keys["mac"][127] = "&#x232B;";
keys["mac"][303] = "Cancel";
keys["mac"][305] = "Clear";
keys["mac"][306] = "&#x21E7;";
keys["mac"][307] = "&#x2325;";
keys["mac"][308] = "&#x2318;";
keys["mac"][309] = "Menu";
keys["mac"][310] = "Pause";
keys["mac"][311] = "Capital";
keys["mac"][312] = "&#x21F2;";
keys["mac"][313] = "&#x21F1;";
keys["mac"][314] = "&#x2190;";
keys["mac"][315] = "&#x2191;";
keys["mac"][316] = "&#x2192;";
keys["mac"][317] = "&#x2193;";
keys["mac"][318] = "Select";
keys["mac"][319] = "Print";
keys["mac"][320] = "Execute";
keys["mac"][321] = "Snapshot";
keys["mac"][322] = "Insert";
keys["mac"][323] = "Help";
keys["mac"][324] = "Numpad 0";
keys["mac"][325] = "Numpad 1";
keys["mac"][326] = "Numpad 2";
keys["mac"][327] = "Numpad 3";
keys["mac"][328] = "Numpad 4";
keys["mac"][329] = "Numpad 5";
keys["mac"][330] = "Numpad 6";
keys["mac"][331] = "Numpad 7";
keys["mac"][332] = "Numpad 8";
keys["mac"][333] = "Numpad 9";
keys["mac"][334] = "*";
keys["mac"][335] = "+";
keys["mac"][337] = "-";
keys["mac"][338] = ".";
keys["mac"][339] = "/";
keys["mac"][340] = "F1";
keys["mac"][341] = "F2";
keys["mac"][342] = "F3";
keys["mac"][343] = "F4";
keys["mac"][344] = "F5";
keys["mac"][345] = "F6";
keys["mac"][346] = "F7";
keys["mac"][347] = "F8";
keys["mac"][348] = "F9";
keys["mac"][349] = "F10";
keys["mac"][350] = "F11";
keys["mac"][351] = "F12";
keys["mac"][352] = "F13";
keys["mac"][353] = "F14";
keys["mac"][354] = "F15";
keys["mac"][355] = "F16";
keys["mac"][356] = "F17";
keys["mac"][357] = "F18";
keys["mac"][358] = "F19";
keys["mac"][359] = "F20";
keys["mac"][360] = "F21";
keys["mac"][361] = "F22";
keys["mac"][362] = "F23";
keys["mac"][363] = "F24";
keys["mac"][364] = "Numlock";
keys["mac"][365] = "Scroll";
keys["mac"][366] = "&#x21DE;";
keys["mac"][367] = "&#x21DF;";
keys["mac"][368] = "Numpad &#x2423;";
keys["mac"][369] = "Numpad &#x21E5;";
keys["mac"][370] = "Numpad &#x21A9;";
keys["mac"][371] = "Numpad F1";
keys["mac"][372] = "Numpad F2";
keys["mac"][373] = "Numpad F3";
keys["mac"][374] = "Numpad F4";
keys["mac"][375] = "Numpad &#x21F1;";
keys["mac"][376] = "Numpad &#x2190;";
keys["mac"][377] = "Numpad &#x2191;";
keys["mac"][378] = "Numpad &#x2192;";
keys["mac"][379] = "Numpad &#x2193;";
keys["mac"][380] = "Numpad &#x21DE;";
keys["mac"][381] = "Numpad &#x21DF;";
keys["mac"][382] = "Numpad &#x21F2;";
keys["mac"][383] = "Numpad &#x21F1;";
keys["mac"][384] = "Numpad Insert";
keys["mac"][385] = "Numpad &#x232B;";
keys["mac"][386] = "Numpad =";
keys["mac"][387] = "Numpad *";
keys["mac"][388] = "Numpad +";
keys["mac"][389] = "Numpad Separator";
keys["mac"][390] = "Numpad -";
keys["mac"][391] = "Numpad .";
keys["mac"][392] = "Numpad /";
keys["mac"][393] = "Left Windows Key";
keys["mac"][394] = "Right Windows Key";
keys["mac"][395] = "Windows Menu Key";
keys["mac"]["+"] = "";
keys["linux"][8] = "Backspace";
keys["linux"][9] = "Tab";
keys["linux"][13] = "Return";
keys["linux"][27] = "Escape";
keys["linux"][32] = "Space";
keys["linux"][33] = "!";
keys["linux"][34] = "&quot;";
keys["linux"][35] = "#";
keys["linux"][36] = "$";
keys["linux"][37] = "%";
keys["linux"][38] = "&";
keys["linux"][39] = "'";
keys["linux"][40] = "(";
keys["linux"][41] = ")";
keys["linux"][42] = "*";
keys["linux"][43] = "+";
keys["linux"][44] = ",";
keys["linux"][45] = "-";
keys["linux"][46] = ".";
keys["linux"][47] = "/";
keys["linux"][48] = "0";
keys["linux"][49] = "1";
keys["linux"][50] = "2";
keys["linux"][51] = "3";
keys["linux"][52] = "4";
keys["linux"][53] = "5";
keys["linux"][54] = "6";
keys["linux"][55] = "7";
keys["linux"][56] = "8";
keys["linux"][57] = "9";
keys["linux"][58] = ":";
keys["linux"][59] = ";";
keys["linux"][60] = "&gt;";
keys["linux"][61] = "=";
keys["linux"][62] = "&lt;";
keys["linux"][63] = "?";
keys["linux"][64] = "@";
keys["linux"][65] = "A";
keys["linux"][66] = "B";
keys["linux"][67] = "C";
keys["linux"][68] = "D";
keys["linux"][69] = "E";
keys["linux"][70] = "F";
keys["linux"][71] = "G";
keys["linux"][72] = "H";
keys["linux"][73] = "I";
keys["linux"][74] = "J";
keys["linux"][75] = "K";
keys["linux"][76] = "L";
keys["linux"][77] = "M";
keys["linux"][78] = "N";
keys["linux"][79] = "O";
keys["linux"][80] = "P";
keys["linux"][81] = "Q";
keys["linux"][82] = "R";
keys["linux"][83] = "S";
keys["linux"][84] = "T";
keys["linux"][85] = "U";
keys["linux"][86] = "V";
keys["linux"][87] = "W";
keys["linux"][88] = "X";
keys["linux"][89] = "Y";
keys["linux"][90] = "Z";
keys["linux"][91] = "[";
keys["linux"][92] = "\\";
keys["linux"][93] = "]";
keys["linux"][94] = "^";
keys["linux"][95] = "_";
keys["linux"][96] = "`";
keys["linux"][97] = "a";
keys["linux"][98] = "b";
keys["linux"][99] = "c";
keys["linux"][100] = "d";
keys["linux"][101] = "e";
keys["linux"][102] = "f";
keys["linux"][103] = "g";
keys["linux"][104] = "h";
keys["linux"][105] = "i";
keys["linux"][106] = "j";
keys["linux"][107] = "k";
keys["linux"][108] = "l";
keys["linux"][109] = "m";
keys["linux"][110] = "n";
keys["linux"][111] = "o";
keys["linux"][112] = "p";
keys["linux"][113] = "q";
keys["linux"][114] = "r";
keys["linux"][115] = "s";
keys["linux"][116] = "t";
keys["linux"][117] = "u";
keys["linux"][118] = "v";
keys["linux"][119] = "w";
keys["linux"][120] = "x";
keys["linux"][121] = "y";
keys["linux"][122] = "z";
keys["linux"][123] = "{";
keys["linux"][124] = "|";
keys["linux"][125] = "}";
keys["linux"][126] = "~";
keys["linux"][127] = "Delete";
keys["linux"][303] = "Cancel";
keys["linux"][305] = "Clear";
keys["linux"][306] = "Shift";
keys["linux"][307] = "Alt";
keys["linux"][308] = "Ctrl";
keys["linux"][309] = "Menu";
keys["linux"][310] = "Pause";
keys["linux"][311] = "Capital";
keys["linux"][312] = "End";
keys["linux"][313] = "Home";
keys["linux"][314] = "&#x2190;";
keys["linux"][315] = "&#x2191;";
keys["linux"][316] = "&#x2192;";
keys["linux"][317] = "&#x2193;";
keys["linux"][318] = "Select";
keys["linux"][319] = "Print";
keys["linux"][320] = "Execute";
keys["linux"][321] = "Snapshot";
keys["linux"][322] = "Insert";
keys["linux"][323] = "Help";
keys["linux"][324] = "Numpad 0";
keys["linux"][325] = "Numpad 1";
keys["linux"][326] = "Numpad 2";
keys["linux"][327] = "Numpad 3";
keys["linux"][328] = "Numpad 4";
keys["linux"][329] = "Numpad 5";
keys["linux"][330] = "Numpad 6";
keys["linux"][331] = "Numpad 7";
keys["linux"][332] = "Numpad 8";
keys["linux"][333] = "Numpad 9";
keys["linux"][334] = "*";
keys["linux"][335] = "+";
keys["linux"][337] = "-";
keys["linux"][338] = ".";
keys["linux"][339] = "/";
keys["linux"][340] = "F1";
keys["linux"][341] = "F2";
keys["linux"][342] = "F3";
keys["linux"][343] = "F4";
keys["linux"][344] = "F5";
keys["linux"][345] = "F6";
keys["linux"][346] = "F7";
keys["linux"][347] = "F8";
keys["linux"][348] = "F9";
keys["linux"][349] = "F10";
keys["linux"][350] = "F11";
keys["linux"][351] = "F12";
keys["linux"][352] = "F13";
keys["linux"][353] = "F14";
keys["linux"][354] = "F15";
keys["linux"][355] = "F16";
keys["linux"][356] = "F17";
keys["linux"][357] = "F18";
keys["linux"][358] = "F19";
keys["linux"][359] = "F20";
keys["linux"][360] = "F21";
keys["linux"][361] = "F22";
keys["linux"][362] = "F23";
keys["linux"][363] = "F24";
keys["linux"][364] = "Numlock";
keys["linux"][365] = "Scroll";
keys["linux"][366] = "Page Up";
keys["linux"][367] = "Page Down";
keys["linux"][368] = "Numpad Space";
keys["linux"][369] = "Numpad Tab";
keys["linux"][370] = "Numpad Enter";
keys["linux"][371] = "Numpad F1";
keys["linux"][372] = "Numpad F2";
keys["linux"][373] = "Numpad F3";
keys["linux"][374] = "Numpad F4";
keys["linux"][375] = "Numpad Home";
keys["linux"][376] = "Numpad &#x2190;";
keys["linux"][377] = "Numpad &#x2191;";
keys["linux"][378] = "Numpad &#x2192;";
keys["linux"][379] = "Numpad &#x2193;";
keys["linux"][380] = "Numpad Page Up";
keys["linux"][381] = "Numpad Page Down";
keys["linux"][382] = "Numpad End";
keys["linux"][383] = "Numpad Home";
keys["linux"][384] = "Numpad Insert";
keys["linux"][385] = "Numpad Delete";
keys["linux"][386] = "Numpad =";
keys["linux"][387] = "Numpad *";
keys["linux"][388] = "Numpad +";
keys["linux"][389] = "Numpad Separator";
keys["linux"][390] = "Numpad -";
keys["linux"][391] = "Numpad .";
keys["linux"][392] = "Numpad /";
keys["linux"][393] = "Left Windows Key";
keys["linux"][394] = "Right Windows Key";
keys["linux"][395] = "Windows Menu Key";
keys["linux"]["+"] = "+";

var menu = {};
menu["Menu/File/New"] = { path: ["File", "New"], shortcut: { key:78, modifiers: [308] } };
menu["Menu/File/Open"] = { path: ["File", "Open..."], shortcut: { key:79, modifiers: [308] } };
menu["Menu/File/Save"] = { path: ["File", "Save"], shortcut: { key:83, modifiers: [308] } };
menu["Menu/File/Save as"] = { path: ["File", "Save as..."], shortcut: { key:83, modifiers: [306, 308] } };
menu["Menu/File/Export/Wavefront OBJ"] = { path: ["File", "Export", "Wavefront OBJ..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/File/Load Point File"] = { path: ["File", "Load Point File..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/File/Reload Point File"] = { path: ["File", "Reload Point File"], shortcut: { key:0, modifiers: [] } };
menu["Menu/File/Unload Point File"] = { path: ["File", "Unload Point File"], shortcut: { key:0, modifiers: [] } };
menu["Menu/File/Load Portal File"] = { path: ["File", "Load Portal File..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/File/Reload Portal File"] = { path: ["File", "Reload Portal File"], shortcut: { key:0, modifiers: [] } };
menu["Menu/File/Unload Portal File"] = { path: ["File", "Unload Portal File"], shortcut: { key:0, modifiers: [] } };
menu["Menu/File/Reload Texture Collections"] = { path: ["File", "Reload Texture Collections"], shortcut: { key:344, modifiers: [] } };
menu["Menu/File/Reload Entity Definitions"] = { path: ["File", "Reload Entity Definitions"], shortcut: { key:345, modifiers: [] } };
menu["Menu/File/Close"] = { path: ["File", "Close"], shortcut: { key:87, modifiers: [308] } };
menu["Menu/Edit/Undo"] = { path: ["Edit", "Undo"], shortcut: { key:90, modifiers: [308] } };
menu["Menu/Edit/Redo"] = { path: ["Edit", "Redo"], shortcut: { key:90, modifiers: [306, 308] } };
menu["Menu/Edit/Repeat"] = { path: ["Edit", "Repeat"], shortcut: { key:82, modifiers: [308] } };
menu["Menu/Edit/Clear Repeatable Commands"] = { path: ["Edit", "Clear Repeatable Commands"], shortcut: { key:82, modifiers: [306, 308] } };
menu["Menu/Edit/Cut"] = { path: ["Edit", "Cut"], shortcut: { key:88, modifiers: [308] } };
menu["Menu/Edit/Copy"] = { path: ["Edit", "Copy"], shortcut: { key:67, modifiers: [308] } };
menu["Menu/Edit/Paste"] = { path: ["Edit", "Paste"], shortcut: { key:86, modifiers: [308] } };
menu["Menu/Edit/Paste at Original Position"] = { path: ["Edit", "Paste at Original Position"], shortcut: { key:86, modifiers: [307, 308] } };
menu["Menu/Edit/Duplicate"] = { path: ["Edit", "Duplicate"], shortcut: { key:68, modifiers: [308] } };
menu["Menu/Edit/Delete"] = { path: ["Edit", "Delete"], shortcut: { key:127, modifiers: [] } };
menu["Menu/Edit/Select All"] = { path: ["Edit", "Select All"], shortcut: { key:65, modifiers: [308] } };
menu["Menu/Edit/Select Siblings"] = { path: ["Edit", "Select Siblings"], shortcut: { key:66, modifiers: [308] } };
menu["Menu/Edit/Select Touching"] = { path: ["Edit", "Select Touching"], shortcut: { key:84, modifiers: [308] } };
menu["Menu/Edit/Select Inside"] = { path: ["Edit", "Select Inside"], shortcut: { key:69, modifiers: [308] } };
menu["Menu/Edit/Select Tall"] = { path: ["Edit", "Select Tall"], shortcut: { key:69, modifiers: [306, 308] } };
menu["Menu/Edit/Select by Line Number"] = { path: ["Edit", "Select by Line Number"], shortcut: { key:0, modifiers: [] } };
menu["Menu/Edit/Select None"] = { path: ["Edit", "Select None"], shortcut: { key:65, modifiers: [306, 308] } };
menu["Menu/Edit/Group"] = { path: ["Edit", "Group"], shortcut: { key:71, modifiers: [308] } };
menu["Menu/Edit/Ungroup"] = { path: ["Edit", "Ungroup"], shortcut: { key:71, modifiers: [306, 308] } };
menu["Menu/Edit/Tools/Brush Tool"] = { path: ["Edit", "Tools", "Brush Tool"], shortcut: { key:66, modifiers: [] } };
menu["Menu/Edit/Tools/Clip Tool"] = { path: ["Edit", "Tools", "Clip Tool"], shortcut: { key:67, modifiers: [] } };
menu["Menu/Edit/Tools/Rotate Tool"] = { path: ["Edit", "Tools", "Rotate Tool"], shortcut: { key:82, modifiers: [] } };
menu["Menu/Edit/Tools/Scale Tool"] = { path: ["Edit", "Tools", "Scale Tool"], shortcut: { key:84, modifiers: [] } };
menu["Menu/Edit/Tools/Shear Tool"] = { path: ["Edit", "Tools", "Shear Tool"], shortcut: { key:71, modifiers: [] } };
menu["Menu/Edit/Tools/Vertex Tool"] = { path: ["Edit", "Tools", "Vertex Tool"], shortcut: { key:86, modifiers: [] } };
menu["Menu/Edit/Tools/Edge Tool"] = { path: ["Edit", "Tools", "Edge Tool"], shortcut: { key:69, modifiers: [] } };
menu["Menu/Edit/Tools/Face Tool"] = { path: ["Edit", "Tools", "Face Tool"], shortcut: { key:70, modifiers: [] } };
menu["Menu/Edit/CSG/Convex Merge"] = { path: ["Edit", "CSG", "Convex Merge"], shortcut: { key:74, modifiers: [308] } };
menu["Menu/Edit/CSG/Subtract"] = { path: ["Edit", "CSG", "Subtract"], shortcut: { key:75, modifiers: [308] } };
menu["Menu/Edit/CSG/Hollow"] = { path: ["Edit", "CSG", "Hollow"], shortcut: { key:75, modifiers: [307, 308] } };
menu["Menu/Edit/CSG/Intersect"] = { path: ["Edit", "CSG", "Intersect"], shortcut: { key:76, modifiers: [308] } };
menu["Menu/Edit/Snap Vertices to Integer"] = { path: ["Edit", "Snap Vertices to Integer"], shortcut: { key:86, modifiers: [306, 308] } };
menu["Menu/Edit/Snap Vertices to Grid"] = { path: ["Edit", "Snap Vertices to Grid"], shortcut: { key:86, modifiers: [306, 307, 308] } };
menu["Menu/Edit/Texture Lock"] = { path: ["Edit", "Texture Lock"], shortcut: { key:0, modifiers: [] } };
menu["Menu/Edit/UV Lock"] = { path: ["Edit", "UV Lock"], shortcut: { key:85, modifiers: [] } };
menu["Menu/Edit/Replace Texture"] = { path: ["Edit", "Replace Texture..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/View/Grid/Show Grid"] = { path: ["View", "Grid", "Show Grid"], shortcut: { key:48, modifiers: [] } };
menu["Menu/View/Grid/Snap to Grid"] = { path: ["View", "Grid", "Snap to Grid"], shortcut: { key:48, modifiers: [307] } };
menu["Menu/View/Grid/Increase Grid Size"] = { path: ["View", "Grid", "Increase Grid Size"], shortcut: { key:43, modifiers: [] } };
menu["Menu/View/Grid/Decrease Grid Size"] = { path: ["View", "Grid", "Decrease Grid Size"], shortcut: { key:45, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 0.125"] = { path: ["View", "Grid", "Set Grid Size 0.125"], shortcut: { key:0, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 0.25"] = { path: ["View", "Grid", "Set Grid Size 0.25"], shortcut: { key:0, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 0.5"] = { path: ["View", "Grid", "Set Grid Size 0.5"], shortcut: { key:0, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 1"] = { path: ["View", "Grid", "Set Grid Size 1"], shortcut: { key:49, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 2"] = { path: ["View", "Grid", "Set Grid Size 2"], shortcut: { key:50, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 4"] = { path: ["View", "Grid", "Set Grid Size 4"], shortcut: { key:51, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 8"] = { path: ["View", "Grid", "Set Grid Size 8"], shortcut: { key:52, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 16"] = { path: ["View", "Grid", "Set Grid Size 16"], shortcut: { key:53, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 32"] = { path: ["View", "Grid", "Set Grid Size 32"], shortcut: { key:54, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 64"] = { path: ["View", "Grid", "Set Grid Size 64"], shortcut: { key:55, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 128"] = { path: ["View", "Grid", "Set Grid Size 128"], shortcut: { key:56, modifiers: [] } };
menu["Menu/View/Grid/Set Grid Size 256"] = { path: ["View", "Grid", "Set Grid Size 256"], shortcut: { key:57, modifiers: [] } };
menu["Menu/View/Camera/Move to Next Point"] = { path: ["View", "Camera", "Move to Next Point"], shortcut: { key:46, modifiers: [] } };
menu["Menu/View/Camera/Move to Previous Point"] = { path: ["View", "Camera", "Move to Previous Point"], shortcut: { key:44, modifiers: [] } };
menu["Menu/View/Camera/Focus on Selection"] = { path: ["View", "Camera", "Focus on Selection"], shortcut: { key:85, modifiers: [308] } };
menu["Menu/View/Camera/Move Camera to"] = { path: ["View", "Camera", "Move Camera to..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/View/Isolate"] = { path: ["View", "Isolate"], shortcut: { key:73, modifiers: [308] } };
menu["Menu/View/Hide"] = { path: ["View", "Hide"], shortcut: { key:73, modifiers: [307, 308] } };
menu["Menu/View/Show All"] = { path: ["View", "Show All"], shortcut: { key:73, modifiers: [306, 308] } };
menu["Menu/View/Switch to Map Inspector"] = { path: ["View", "Switch to Map Inspector"], shortcut: { key:49, modifiers: [308] } };
menu["Menu/View/Switch to Entity Inspector"] = { path: ["View", "Switch to Entity Inspector"], shortcut: { key:50, modifiers: [308] } };
menu["Menu/View/Switch to Face Inspector"] = { path: ["View", "Switch to Face Inspector"], shortcut: { key:51, modifiers: [308] } };
menu["Menu/View/Toggle Info Panel"] = { path: ["View", "Toggle Info Panel"], shortcut: { key:52, modifiers: [308] } };
menu["Menu/View/Toggle Inspector"] = { path: ["View", "Toggle Inspector"], shortcut: { key:53, modifiers: [308] } };
menu["Menu/View/Maximize Current View"] = { path: ["View", "Maximize Current View"], shortcut: { key:32, modifiers: [308] } };
menu["Menu/View/Preferences"] = { path: ["View", "Preferences..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/Run/Compile"] = { path: ["Run", "Compile..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/Run/Launch"] = { path: ["Run", "Launch..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/Debug/Print Vertices"] = { path: ["Debug", "Print Vertices"], shortcut: { key:0, modifiers: [] } };
menu["Menu/Debug/Create Brush"] = { path: ["Debug", "Create Brush..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/Debug/Create Cube"] = { path: ["Debug", "Create Cube..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/Debug/Clip Brush"] = { path: ["Debug", "Clip Brush..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/Debug/Copy Javascript Shortcut Map"] = { path: ["Debug", "Copy Javascript Shortcut Map"], shortcut: { key:0, modifiers: [] } };
menu["Menu/Debug/Crash"] = { path: ["Debug", "Crash..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/Debug/Throw Exception During Command"] = { path: ["Debug", "Throw Exception During Command"], shortcut: { key:0, modifiers: [] } };
menu["Menu/Debug/Show Crash Report Dialog"] = { path: ["Debug", "Show Crash Report Dialog"], shortcut: { key:0, modifiers: [] } };
menu["Menu/Debug/Set Window Size"] = { path: ["Debug", "Set Window Size..."], shortcut: { key:0, modifiers: [] } };
menu["Menu/Help/TrenchBroom Manual"] = { path: ["Help", "TrenchBroom Manual"], shortcut: { key:340, modifiers: [] } };
menu["Menu/Help/About TrenchBroom"] = { path: ["Help", "About TrenchBroom"], shortcut: { key:0, modifiers: [] } };
var actions = {};
actions["Controls/Map view/Create brush"] = { key:13, modifiers: [] };
actions["Controls/Map view/Toggle clip side"] = { key:13, modifiers: [308] };
actions["Controls/Map view/Perform clip"] = { key:13, modifiers: [] };
actions["Controls/Map view/Move vertices up; Move vertices forward"] = { key:315, modifiers: [] };
actions["Controls/Map view/Move vertices down; Move vertices backward"] = { key:317, modifiers: [] };
actions["Controls/Map view/Move vertices left"] = { key:314, modifiers: [] };
actions["Controls/Map view/Move vertices right"] = { key:316, modifiers: [] };
actions["Controls/Map view/Move vertices backward; Move vertices up"] = { key:366, modifiers: [] };
actions["Controls/Map view/Move vertices forward; Move vertices down"] = { key:367, modifiers: [] };
actions["Controls/Map view/Move rotation center up; Move rotation center forward"] = { key:315, modifiers: [] };
actions["Controls/Map view/Move rotation center down; Move rotation center backward"] = { key:317, modifiers: [] };
actions["Controls/Map view/Move rotation center left"] = { key:314, modifiers: [] };
actions["Controls/Map view/Move rotation center right"] = { key:316, modifiers: [] };
actions["Controls/Map view/Move rotation center backward; Move rotation center up"] = { key:366, modifiers: [] };
actions["Controls/Map view/Move rotation center forward; Move rotation center down"] = { key:367, modifiers: [] };
actions["Controls/Map view/Move objects up; Move objects forward"] = { key:315, modifiers: [] };
actions["Controls/Map view/Move objects down; Move objects backward"] = { key:317, modifiers: [] };
actions["Controls/Map view/Move objects left"] = { key:314, modifiers: [] };
actions["Controls/Map view/Move objects right"] = { key:316, modifiers: [] };
actions["Controls/Map view/Move objects backward; Move objects up"] = { key:366, modifiers: [] };
actions["Controls/Map view/Move objects forward; Move objects down"] = { key:367, modifiers: [] };
actions["Controls/Map view/Roll objects clockwise"] = { key:315, modifiers: [307] };
actions["Controls/Map view/Roll objects counter-clockwise"] = { key:317, modifiers: [307] };
actions["Controls/Map view/Yaw objects clockwise"] = { key:314, modifiers: [307] };
actions["Controls/Map view/Yaw objects counter-clockwise"] = { key:316, modifiers: [307] };
actions["Controls/Map view/Pitch objects clockwise"] = { key:366, modifiers: [307] };
actions["Controls/Map view/Pitch objects counter-clockwise"] = { key:367, modifiers: [307] };
actions["Controls/Map view/Flip objects horizontally"] = { key:70, modifiers: [308] };
actions["Controls/Map view/Flip objects vertically"] = { key:70, modifiers: [307, 308] };
actions["Controls/Map view/Duplicate and move objects up; Duplicate and move objects forward"] = { key:315, modifiers: [308] };
actions["Controls/Map view/Duplicate and move objects down; Duplicate and move objects backward"] = { key:317, modifiers: [308] };
actions["Controls/Map view/Duplicate and move objects left"] = { key:314, modifiers: [308] };
actions["Controls/Map view/Duplicate and move objects right"] = { key:316, modifiers: [308] };
actions["Controls/Map view/Duplicate and move objects backward; Duplicate and move objects up"] = { key:366, modifiers: [308] };
actions["Controls/Map view/Duplicate and move objects forward; Duplicate and move objects down"] = { key:367, modifiers: [308] };
actions["Controls/Map view/Move textures up"] = { key:315, modifiers: [] };
actions["Controls/Map view/Move textures up (fine)"] = { key:315, modifiers: [308] };
actions["Controls/Map view/Move textures up (coarse)"] = { key:315, modifiers: [306] };
actions["Controls/Map view/Move textures down"] = { key:317, modifiers: [] };
actions["Controls/Map view/Move textures down (fine)"] = { key:317, modifiers: [308] };
actions["Controls/Map view/Move textures down (coarse)"] = { key:317, modifiers: [306] };
actions["Controls/Map view/Move textures left"] = { key:314, modifiers: [] };
actions["Controls/Map view/Move textures left (fine)"] = { key:314, modifiers: [308] };
actions["Controls/Map view/Move textures left (coarse)"] = { key:314, modifiers: [306] };
actions["Controls/Map view/Move textures right"] = { key:316, modifiers: [] };
actions["Controls/Map view/Move textures right (fine)"] = { key:316, modifiers: [308] };
actions["Controls/Map view/Move textures right (coarse)"] = { key:316, modifiers: [306] };
actions["Controls/Map view/Rotate textures clockwise"] = { key:366, modifiers: [] };
actions["Controls/Map view/Rotate textures clockwise (fine)"] = { key:366, modifiers: [308] };
actions["Controls/Map view/Rotate textures clockwise (coarse)"] = { key:366, modifiers: [306] };
actions["Controls/Map view/Rotate textures counter-clockwise"] = { key:367, modifiers: [] };
actions["Controls/Map view/Rotate textures counter-clockwise (fine)"] = { key:367, modifiers: [308] };
actions["Controls/Map view/Rotate textures counter-clockwise (coarse)"] = { key:367, modifiers: [306] };
actions["Controls/Map view/Cycle map view"] = { key:32, modifiers: [] };
actions["Controls/Map view/Reset camera zoom"] = { key:27, modifiers: [306] };
actions["Controls/Map view/Cancel"] = { key:27, modifiers: [] };
actions["Controls/Map view/Deactivate current tool"] = { key:27, modifiers: [308] };
actions["Controls/Map view/Make structural"] = { key:83, modifiers: [307] };
actions["Controls/Map view/View Filter > Toggle show entity classnames"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Toggle show group bounds"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Toggle show brush entity bounds"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Toggle show point entity bounds"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Toggle show point entities"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Toggle show point entity models"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Toggle show brushes"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Show textures"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Hide textures"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Hide faces"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Shade faces"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Use fog"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Show edges"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Show all entity links"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Show transitively selected entity links"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Show directly selected entity links"] = { key:0, modifiers: [] };
actions["Controls/Map view/View Filter > Hide entity links"] = { key:0, modifiers: [] };
actions["Controls/Camera/Move forward"] = { key:87, modifiers: [] };
actions["Controls/Camera/Move backward"] = { key:83, modifiers: [] };
actions["Controls/Camera/Move left"] = { key:65, modifiers: [] };
actions["Controls/Camera/Move right"] = { key:68, modifiers: [] };
actions["Controls/Camera/Move up"] = { key:81, modifiers: [] };
actions["Controls/Camera/Move down"] = { key:88, modifiers: [] };
